Prywatność przeglądarek internetowych

Bardzo ciekawe informacje można uzyskać także z bazy formhistory.sqlite. Znajdziemy tam to, co było wpisywane w formularzach - oczywiście, jeżeli przeglądarka pamięta tego typu dane. Na ich podstawie możemy poznać numery telefonów, adresy, PESEL, identyfikatory itp.

Co do haseł zapisanych w przeglądarce przez użytkownika, to możemy wyłuskać je z bazy signons.sqlite. Najłatwiej zrobić to za pomocą narzędzia PasswordFox (www.nirsoft.net).

Ale bazy sqlite to nie wszystko. Mamy jeszcze cache przeglądarki. Pamięć podręczna Firefoksa jest przechowywana w podkatalogu profilu użytkownika o nazwie "CACHE". Składa się z właściwych plików cache oraz pliku mapy, wskazujących na bazy cache. Analiza funkcjonowania pamięci podręcznej wymagałaby szerszego omówienia, dlatego na nasze potrzeby warto wspomnieć o narzędziach, które ułatwiają to zadanie. Możemy np. wykorzystać MozillaCacheView (www.nirsoft.net).

Możliwe jest także wyciągnięcie całej masy danych z pliku sesji sessionstore.js, przechowywanego przez Firefoksa. Jest on tworzony cyklicznie przez samą przeglądarkę. Takie działanie ma na celu, aby w razie awarii czy nieoczekiwanego zamknięcia przeglądarki, możliwe było przywrócenie jej stanu tuż sprzed tego zdarzenia. Muszą zatem zostać zapisane tam takie informacje, jak: wszystkie otwarte okna i zakładki, status pobieranych plików, dane wprowadzane w formularzach, pliki cookies czy ostatnio zamknięte zakładki. Po przyjrzeniu się plikowi sessionstore.js, można też na jego podstawie odtwarzać historię odwiedzonych stron. Wizyta na każdej stronie w ramach zakładki jest dopisywana w odpowiedniej sekcji. Jeżeli przeglądarka zostanie "normalnie" zamknięta, plik ten jest usuwany.

Poniżej zamieszczony fragment przedstawia zawartość pliku sesji, gdzie mieliśmy otwartą zakładkę www.networld.pl oraz "przed chwilą" zamknęliśmy zakładkę www.onet.pl. Jako startowa uruchamiała się strona "blank" o nazwie "Ubuntu Start Page":

Prywatność przeglądarek internetowych

Warto tutaj zwrócić uwagę na atrybut "lastUpdate" znajdujący się na końcu pliku. Pozwala on na ustalenie, kiedy (z punktu widzenia ustawień czasu systemowego) został ostatnio zaktualizowany plik sesji.

Wspomniany plik ma strukturę JSON (jeden z formatów JavaScript). Są to więc dane tekstowe, które stosunkowo łatwo dają się parsować. Aby zwiększyć czytelność tak sformatowanego pliku, możemy posłużyć się edytorem JSON. Może to być plugin do popularnego środowiska Eclipse albo też jeden z wielu dostępnych edytorów online. Można także skorzystać z szybkiego parsera, stworzonego przez Marka Woan. Jego nazwa jest dosyć brawurowa (firefoxsessionstoreextractor), z czego śmieje się sam twórca narzędzia. Session Extractor dostępny jest na stronie www.woanware.co.uk.

Google Chrome

Google Chrome - podobnie jak Firefox - przechowuje dane związane m.in. z aktywnością użytkownika w bazach danych. Nie mają one rozszerzenia "*.sqlite", ale są zapisywane właśnie w tym formacie. Zatem, jeżeli odwiedzimy katalog "%localappdata%\Google\Chrome\User Data\Default\" lub odtworzymy jego zawartość, będziemy w stanie wyciągnąć przydatne informacje.

Najciekawsza baza danych to "history". Podobnie jak w Firefoksie, także tutaj dane różnych tabel wiąże pole identyfikatora. Spośród dziesięciu z nich przynajmniej cztery są interesujące. Po pierwsze tabele "urls" i "visits". Oprócz standardowych informacji o odwiedzonej stronie, mamy również zapis czasu, który - podobnie jak w Firefoksie - również musimy zdekodować. Format jest odrobinę inny (liczony w nanosekundach od północy 1 stycznia 1601 czasu UTC), ale są dostępne skrypty (np. w Pythonie) i narzędzia, które pomagają w konwersji. Jest choćby jedna z funkcji pakietu F3E (www.firefoxforensics.com), który dodatkowo pozwala na wydobywanie informacji z baz danych SQLite zarówno Firefoksa, jak i Chrome. Ale wróćmy do tabel. W tabeli "urls" oprócz czasu, kolumna "typed_count" dostarczy nam informacji o tym, czy adres został wpisany "z palca" czy też nie, i ile razy. Z kolei tabela "visits" (a konkretnie jej kolumna "from_visit") wskaże, skąd do strony o określonym identyfikatorze (widocznym też w tabeli "urls") zawędrował użytkownik.


TOP 200