Ako želite znati koje vrste WhatsApp forenzičkih artefakata postoje na različitim operativnim sustavima i gdje se točno mogu pronaći, onda je ovo mjesto za vas. Ovaj je članak napisao stručnjak iz Group-IB Computer Forensics Laboratory Igor Mihajlov započinje seriju postova o WhatsApp forenzici i informacijama koje se mogu dobiti analizom uređaja.
Odmah napomenimo da različiti operativni sustavi pohranjuju različite vrste WhatsApp artefakata, a ako istraživač može izvući određene vrste WhatsApp podataka s jednog uređaja, to ne znači da se slične vrste podataka mogu izvući s drugog uređaja. Na primjer, ako se ukloni sistemska jedinica s operativnim sustavom Windows, WhatsApp razgovori vjerojatno se neće pronaći na njegovim diskovima (s izuzetkom sigurnosnih kopija iOS uređaja koji se mogu pronaći na istim pogonima). Zapljena prijenosnih računala i mobilnih uređaja imat će svoje karakteristike. Razgovarajmo o ovome detaljnije.
WhatsApp artefakti u Android uređaju
Kako bi izvukao WhatsApp artefakte s Android uređaja, istraživač mora imati prava superkorisnika ('korijen') na uređaju koji se istražuje ili na neki drugi način moći izdvojiti izvadak fizičke memorije uređaja ili njegovog datotečnog sustava (na primjer, korištenjem ranjivosti softvera određenog mobilnog uređaja).
Datoteke aplikacija nalaze se u memoriji telefona u dijelu u kojem se spremaju korisnički podaci. U pravilu, ovaj odjeljak je imenovan 'korisnički podaci'. Poddirektoriji i programske datoteke nalaze se duž staze: '/data/data/com.whatsapp/'.
Glavne datoteke koje sadrže WhatsApp forenzičke artefakte u OS Android su baze podataka 'wa.db' и 'msgstore.db'.
U bazi podataka 'wa.db' sadrži potpuni popis kontakata korisnika WhatsAppa, uključujući telefonski broj, ime za prikaz, vremenske oznake i sve druge podatke navedene prilikom registracije za WhatsApp. Datoteka 'wa.db' nalazi se uz stazu: '/data/data/com.whatsapp/databases/' i ima sljedeću strukturu:
Najzanimljivije tablice u bazi 'wa.db' za istraživača su:
- 'wa_contacts'
Ova tablica sadrži informacije o kontaktu: ID kontakta za WhatsApp, informacije o statusu, korisničko ime za prikaz, vremenske oznake itd.Izgled tablice:
Struktura tabliceNaziv polja Vrijednost _iskaznica redni broj zapisa (u SQL tablici) jid WhatsApp ID kontakta, napisan u formatu <broj telefona>@s.whatsapp.net je_whatsapp_korisnik sadrži '1' ako kontakt odgovara stvarnom korisniku WhatsAppa, '0' u suprotnom status sadrži tekst prikazan u statusu kontakta status_vremenska oznaka sadrži vremensku oznaku u formatu Unix Epoch Time (ms). broj telefonski broj povezan s kontaktom sirovi_id_kontakta serijski broj kontakta DISPLAY_NAME ime kontakta za prikaz tip_telefona tip telefona oznaka_telefona oznaka povezana s kontakt brojem unseen_msg_count broj poruka koje je poslao kontakt, ali ih primatelj nije pročitao photo_ts sadrži vremensku oznaku u formatu Unix Epoch Time thumb_ts sadrži vremensku oznaku u formatu Unix Epoch Time photo_id_timestamp sadrži vremensku oznaku u formatu Unix Epoch Time (ms). dano_ime vrijednost polja odgovara 'display_name' za svaki kontakt wa_name Ime WhatsApp kontakta (prikazuje se ime navedeno u profilu kontakta) sort_name ime kontakta koje se koristi u operacijama sortiranja nadimak nadimak kontakta u WhatsAppu (prikazuje se nadimak naveden u profilu kontakta) društvo tvrtka (prikazuje se tvrtka navedena u profilu kontakta) naslov titula (gospođa/gospodin; prikazuje se titula konfigurirana u kontakt profilu) ofset pristranost - 'sqlite_sequence'
Ova tablica sadrži podatke o broju kontakata; - 'android_metapodaci'
Ova tablica sadrži informacije o lokalizaciji WhatsApp jezika.
U bazi podataka 'msgstore.db' sadrži informacije o poslanim porukama, kao što su kontakt broj, tekst poruke, status poruke, vremenske oznake, pojedinosti o prenesenim datotekama uključenim u poruke itd. Datoteka 'msgstore.db' nalazi se uz stazu: '/data/data/com.whatsapp/databases/' i ima sljedeću strukturu:
Najzanimljivije tablice u datoteci 'msgstore.db' za istraživača su:
- 'sqlite_sequence'
Ova tablica sadrži opće informacije o ovoj bazi podataka, poput ukupnog broja pohranjenih poruka, ukupnog broja razgovora itd.Izgled tablice:
- 'message_fts_content'
Sadrži tekst poslanih poruka.Izgled tablice:
- 'poruke'
Ova tablica sadrži podatke kao što su kontakt broj, tekst poruke, status poruke, vremenske oznake, informacije o prenesenim datotekama uključenim u poruke.Izgled tablice:
Struktura tabliceNaziv polja Vrijednost _iskaznica redni broj zapisa (u SQL tablici) ključ_daljinski_jid WhatsApp ID komunikacijskog partnera ključ_od_mene smjer poruke: '0' – dolazna, '1' – odlazna ID_ključa jedinstveni identifikator poruke status status poruke: '0' – isporučeno, '4' – čeka na poslužitelju, '5' – primljeno na odredištu, '6' – kontrolna poruka, '13' – poruka otvorena od strane primatelja (čitaj) treba_gurati ima vrijednost '2' ako se radi o emitiranoj poruci, inače sadrži '0' datum tekst poruke (kada je parametar 'media_wa_type' '0') vremenska oznaka sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost je preuzeta sa sata uređaja medijski_url sadrži URL prenesene datoteke (kada je parametar 'media_wa_type' '1', '2', '3') media_mime_type MIME tip prenesene datoteke (kada je parametar 'media_wa_type' jednak '1', '2', '3') media_wa_type vrsta poruke: '0' - tekst, '1' - grafička datoteka, '2' - audio datoteka, '3' - video datoteka, '4' - kontakt kartica, '5' - geopodaci veličina_medija veličina prenesene datoteke (kada je parametar 'media_wa_type' '1', '2', '3') naziv_medija naziv prenesene datoteke (kada je parametar 'media_wa_type' '1', '2', '3') medijski_naslov Sadrži riječi 'audio', 'video' za odgovarajuće vrijednosti parametra 'media_wa_type' (kada je parametar 'media_wa_type' '1', '3') media_hash base64 kodirani hash prenesene datoteke, izračunat pomoću algoritma HAS-256 (kada je parametar 'media_wa_type' jednak '1', '2', '3') trajanje_medija trajanje u sekundama za medijsku datoteku (kada je 'media_wa_type' '1', '2', '3') podrijetlo ima vrijednost '2' ako se radi o emitiranoj poruci, inače sadrži '0' širina geopodaci: zemljopisna širina (kada je parametar 'media_wa_type' '5') dužina geopodaci: zemljopisna dužina (kada je parametar 'media_wa_type' '5') thumb_image servisne informacije udaljeni_resurs ID pošiljatelja (samo za grupne razgovore) primljena_vremenska oznaka vrijeme primitka, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost je preuzeta sa sata uređaja (kada parametar 'key_from_me' ima '0', '-1' ili drugu vrijednost) pošalji vremensku oznaku ne koristi se, obično ima vrijednost '-1' vremenska_žiga_poslužitelja primitka vrijeme koje prima središnji poslužitelj, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost je preuzeta sa sata uređaja (kada parametar 'key_from_me' ima '1', '-1' ili drugu vrijednost vremenska_oznaka_uređaja za prijem kada je poruku primio drugi pretplatnik, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost je preuzeta sa sata uređaja (kada parametar 'key_from_me' ima '1', '-1' ili drugu vrijednost čitaj_vremensku_oznaku_uređaja vrijeme otvaranja (čitanja) poruke, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost je preuzeta sa sata uređaja vremenska_oznaka_reproduciranog_uređaja vrijeme reprodukcije poruke, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost je preuzeta sa sata uređaja neobrađeni podatci minijatura prenesene datoteke (kada je parametar 'media_wa_type' '1' ili '3') broj_primatelja broj primatelja (za emitirane poruke) sudionik_hash koristi se pri prijenosu poruka s geopodacima sa zvijezdom ne koristi se kotirani_red_id nepoznato, obično sadrži vrijednost '0' spomenuti_jids ne koristi se multicast_id ne koristi se ofset pristranost Ovaj popis polja nije konačan. Za različite verzije WhatsAppa, neka polja mogu biti prisutna ili odsutna. Osim toga, polja mogu biti prisutna 'media_enc_hash', 'edit_version', 'id_platne_transakcije' itd.
- 'messages_thumbnails'
Ova tablica sadrži informacije o prenesenim slikama i vremenskim oznakama. U stupcu 'timestamp', vrijeme je naznačeno u formatu Unix Epoch Time (ms). - 'chat_list'
Ova tablica sadrži informacije o razgovorima.Izgled tablice:
Također, kada ispitujete WhatsApp na mobilnom uređaju sa sustavom Android, obratite pozornost na sljedeće datoteke:
- datoteka 'msgstore.db.cryptXX' (gdje je XX jedna ili dvije znamenke od 0 do 12, na primjer, msgstore.db.crypt12). Sadrži šifriranu sigurnosnu kopiju WhatsApp poruka (datoteka sigurnosne kopije msgstore.db). Datoteka(e) 'msgstore.db.cryptXX' nalazi se uz stazu: '/data/media/0/WhatsApp/Databases/' (virtualna SD kartica), '/mnt/sdcard/WhatsApp/Databases/ (fizička SD kartica)'.
- datoteka 'ključ'. Sadrži kriptografski ključ. Nalazi se uz stazu: '/data/data/com.whatsapp/files/'. Koristi se za dešifriranje šifriranih sigurnosnih kopija WhatsAppa.
- datoteka 'com.whatsapp_preferences.xml'. Sadrži podatke o vašem profilu WhatsApp računa. Datoteka se nalazi duž staze: '/data/data/com.whatsapp/shared_prefs/'.
Fragment sadržaja datoteke
<?xml version="1.0" encoding="ISO-8859-1"?> … <string name="ph">9123456789</string> (номер телефона, ассоциированный с аккаунтом WhatsApp) … <string name="version">2.17.395</string> (версия WhatsApp) … <string name="my_current_status">Hey there! I am using WhatsApp.</string> (сообщение, отображаемое в статусе аккаунта) … <string name="push_name">Alex</string> (имя владельца аккаунта) …
- datoteka 'registration.RegisterPhone.xml'. Sadrži informacije o telefonskom broju povezanom s WhatsApp računom. Datoteka se nalazi duž staze: '/data/data/com.whatsapp/shared_prefs/'.
Sadržaj datoteke
<?xml version="1.0" encoding="ISO-8859-1"?> <map> <string name="com.whatsapp.registration.RegisterPhone.phone_number">9123456789</string> <int name="com.whatsapp.registration.RegisterPhone.verification_state" value="0"/> <int name="com.whatsapp.registration.RegisterPhone.country_code_position" value="-1"/> <string name="com.whatsapp.registration.RegisterPhone.input_phone_number">912 345-67-89</string> <int name="com.whatsapp.registration.RegisterPhone.phone_number_position" value="10"/> <string name="com.whatsapp.registration.RegisterPhone.input_country_code">7</string> <string name="com.whatsapp.registration.RegisterPhone.country_code">7</string> </map>
- datoteka 'axolotl.db'. Sadrži kriptografske ključeve i druge podatke koji su potrebni za identifikaciju vlasnika računa. Nalazi se uz stazu: '/data/data/com.whatsapp/databases/'.
- datoteka 'chatsettings.db'. Sadrži informacije o konfiguraciji aplikacije.
- datoteka 'wa.db'. Sadrži kontakt podatke. Vrlo zanimljiva (s forenzičkog aspekta) i informativna baza podataka. Može sadržavati detaljne informacije o izbrisanim kontaktima.
Također morate obratiti pozornost na sljedeće direktorije:
- Adresar '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Sadrži prenesene grafičke datoteke.
- Adresar '/data/media/0/WhatsApp/Media/WhatsApp glasovne bilješke/'. Sadrži glasovne poruke u datotekama .OPUS formata.
- Adresar '/data/data/com.whatsapp/cache/Profile Pictures/'. Sadrži grafičke datoteke – slike kontakata.
- Adresar '/data/data/com.whatsapp/files/Avatars/'. Sadrži grafičke datoteke – sličice kontakata. Ove datoteke imaju ekstenziju '.j', ali su ipak JPEG (JPG) slikovne datoteke.
- Adresar '/data/data/com.whatsapp/files/Avatars/'. Sadrži grafičke datoteke - sliku i minijaturu slike koju je vlasnik računa postavio kao avatar.
- Adresar '/data/data/com.whatsapp/files/Logs/'. Sadrži dnevnik rada programa (datoteka 'whatsapp.log') i sigurnosne kopije dnevnika rada programa (datoteke s nazivima u formatu whatsapp-yyyy-mm-dd.1.log.gz).
Dnevnici WhatsAppa:
Fragment časopisa2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] missedcallnotification/init count:0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] missedcallnotification/update cancel true
2017-01-10 09:37:09.768 LL_I D [1:main] app-init/load-me
2017-01-10 09:37:09.772 LL_I D [1:main] datoteka zaporke nedostaje ili je nečitljiva
2017-01-10 09:37:09.782 LL_I D [1:main] statistika Tekstualne poruke: 59 poslano, 82 primljeno / Medijske poruke: 1 poslano (0 bajtova), 0 primljeno (9850158 bajtova) / Izvanmrežne poruke: 81 primljeno ( 19522 msec prosječno kašnjenje) / Usluga poruka: 116075 poslanih bajtova, 211729 primljenih bajtova / VoIP pozivi: 1 odlazni poziv, 0 dolaznih poziva, 2492 poslanih bajtova, 1530 primljenih bajtova / Google Drive: 0 bajtova poslanih, 0 bajtova primljenih / Roaming: 1524 poslano bajtova, primljeno 1826 bajtova / Ukupni podaci: poslano 118567 bajtova, primljeno 10063417 bajtova
2017-01-10 09:37:09.785 LL_I D [1:main] media-state-manager/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:main] app-init/initialize/timer/stop: 24
2017-01-10 09:37:09.811 LL_I D [1:main] msgstore/checkhealth
2017-01-10 09:37:09.817 LL_I D [1:main] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkdb/data/data/com.whatsapp/databases/msgstore.db
2017-01-10 09:37:09.819 LL_I D [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_I D [1:main] msgstore/checkdb/list msgstore.db 540672 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-wal 0 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-shm 32768 drw=011
2017-01-10 09:37:09.824 LL_I D [1:main] msgstore/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_I D [1:main] msgstore/checkdb/verzija 1
2017-01-10 09:37:09.839 LL_I D [1:main] msgstore/canquery
2017-01-10 09:37:09.846 LL_I D [1:main] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery 517 | utrošeno vrijeme:8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-state-manager/refresh-media-state/internal-storage available:1,345,622,016 total:5,687,922,688
- Adresar '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Sadrži primljene audio datoteke.
- Adresar '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Sadrži poslane audio datoteke.
- Adresar '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Sadrži rezultirajuće grafičke datoteke.
- Adresar '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Sadrži poslane grafičke datoteke.
- Adresar '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Sadrži primljene video datoteke.
- Adresar '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Sadrži poslane video datoteke.
- Adresar '/data/media/0/WhatsApp/Media/WhatsApp fotografije profila/'. Sadrži grafičke datoteke povezane s vlasnikom WhatsApp računa.
- Kako biste uštedjeli memorijski prostor na svom Android pametnom telefonu, neki WhatsApp podaci mogu se pohraniti na SD karticu. Na SD kartici, u korijenskom imeniku, nalazi se imenik 'Što ima', gdje se mogu pronaći sljedeći artefakti ovog programa:
- Adresar '.Udio' ('/mnt/sdcard/WhatsApp/.Share/'). Sadrži kopije datoteka koje su podijeljene s drugim korisnicima WhatsAppa.
- Adresar '.otpad' ('/mnt/sdcard/WhatsApp/.trash/'). Sadrži izbrisane datoteke.
- Adresar 'baze podataka' ('/mnt/sdcard/WhatsApp/Databases/'). Sadrži šifrirane sigurnosne kopije. Mogu se dešifrirati ako je datoteka prisutna 'ključ', izvađen iz memorije analiziranog uređaja.
Datoteke smještene u poddirektoriju 'baze podataka':
- Adresar 'Pola' ('/mnt/sdcard/WhatsApp/Media/'). Sadrži poddirektorije 'Pozadina', 'WhatsApp Audio', 'WhatsApp slike', 'WhatsApp profilne fotografije', 'WhatsApp Video', 'WhatsApp glasovne bilješke', koji sadrže primljene i poslane multimedijske datoteke (grafičke datoteke, video datoteke, glasovne poruke, fotografije povezane s profilom vlasnika WhatsApp računa, pozadine).
- Adresar 'Profilne fotografije' ('/mnt/sdcard/WhatsApp/Profilne slike/'). Sadrži grafičke datoteke povezane s profilom vlasnika WhatsApp računa.
- Ponekad se na SD kartici može nalaziti imenik 'datoteke' ('/mnt/sdcard/WhatsApp/Files/'). Ovaj direktorij sadrži datoteke koje pohranjuju postavke programa i korisničke postavke.
Značajke pohrane podataka u nekim modelima mobilnih uređaja
Neki modeli mobilnih uređaja s operativnim sustavom Android mogu pohraniti WhatsApp artefakte na drugom mjestu. To je zbog promjena u prostoru za pohranu podataka aplikacije od strane sistemskog softvera mobilnog uređaja. Na primjer, Xiaomi mobilni uređaji imaju funkciju za stvaranje drugog radnog prostora ("SecondSpace"). Kada je ova funkcija aktivirana, mjesto podataka se mijenja. Dakle, ako se u običnom mobilnom uređaju s Android OS-om korisnički podaci pohranjuju u imenik '/data/user/0/' (što je referenca na uobičajeno '/podaci/podaci/'), tada se u drugom radnom prostoru podaci aplikacije pohranjuju u imenik '/data/user/10/'. To jest, koristeći primjer lokacije datoteke 'wa.db':
- u običnom pametnom telefonu s operativnim sustavom Android: /data/user/0/com.whatsapp/databases/wa.db' (što je ekvivalentno '/data/data/com.whatsapp/databases/wa.db');
- u drugom radnom prostoru Xiaomi pametnog telefona: '/data/user/10/com.whatsapp/databases/wa.db'.
WhatsApp artefakti u iOS uređaju
Za razliku od Android OS-a, u iOS WhatsApp aplikaciji podaci se prenose u sigurnosnu kopiju (iTunes backup). Stoga izdvajanje podataka iz ove aplikacije ne zahtijeva izdvajanje datotečnog sustava niti stvaranje ispisa fizičke memorije uređaja koji se istražuje. Većina relevantnih informacija sadržana je u bazi podataka 'ChatStorage.sqlite', koji se nalazi uz stazu: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (u nekim programima ovaj se put pojavljuje kao 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').
Struktura 'ChatStorage.sqlite':
Najinformativnije tablice u bazi podataka 'ChatStorage.sqlite' su 'ZWAMESSAGE' и 'ZWAMEDIAITEM'.
Izgled stola 'ZWAMESSAGE':
Struktura tablice 'ZWAMESSAGE'
Naziv polja | Vrijednost |
---|---|
Z_PK | redni broj zapisa (u SQL tablici) |
Z_ENT | identifikator tablice, ima vrijednost '9' |
Z_OPT | nepoznato, obično sadrži vrijednosti od '1' do '6' |
ZCHILDMESSAGESDELIVEREDCOUNT | nepoznato, obično sadrži vrijednost '0' |
ZCHILDMESSAGESPLAYEDCOUNT | nepoznato, obično sadrži vrijednost '0' |
ZCHILDMESSAGESREADCOUNT | nepoznato, obično sadrži vrijednost '0' |
ZDATAITEMVERSION | nepoznato, obično sadrži vrijednost '3', vjerojatno indikator tekstualne poruke |
ZDOCID | je nepoznato |
ZENCRETRYCOUNT | nepoznato, obično sadrži vrijednost '0' |
ZFILTEREDRECIPIENTCOUNT | nepoznato, obično sadrži vrijednosti '0', '2', '256' |
ZISFROMME | smjer poruke: '0' – dolazna, '1' – odlazna |
ZMESSAGEERRORSTATUS | status prijenosa poruke. Ako je poruka poslana/primljena, tada ima vrijednost '0' |
ZMESSAGETYPE | vrstu poruke koja se prenosi |
ZSORT | je nepoznato |
ZSPOTLIGHSTATUS | je nepoznato |
ZVIJEZDICA | nepoznato, nije korišteno |
ZCHATSESSION | je nepoznato |
ZGROUPMEMBER | nepoznato, nije korišteno |
ZLASTSESSION | je nepoznato |
ZMEDIAITEM | je nepoznato |
ZMESSAGEINFO | je nepoznato |
ZPARENTMESSAGE | nepoznato, nije korišteno |
ZMESSAGEDATE | vremenska oznaka u OS X formatu Epoch Time |
ZSENTDATE | vrijeme kada je poruka poslana u formatu OS X Epoch Time |
ZFROMJID | ID pošiljatelja WhatsAppa |
ZMEDIASECTIONID | sadrži godinu i mjesec slanja medijske datoteke |
ZPHASH | nepoznato, nije korišteno |
ZPUSHPAME | ime kontakta koji je poslao medijsku datoteku u UTF-8 formatu |
ZSTANZID | jedinstveni identifikator poruke |
ZTEKST | Tekst poruke |
ZTOJID | WhatsApp ID primatelja |
OFFSET | pristranost |
Izgled stola 'ZWAMEDIAITEM':
Struktura tablice 'ZWAMEDIAITEM'
Naziv polja | Vrijednost |
---|---|
Z_PK | redni broj zapisa (u SQL tablici) |
Z_ENT | identifikator tablice, ima vrijednost '8' |
Z_OPT | nepoznato, obično sadrži vrijednosti od '1' do '3'. |
ZCLOUDSTATUS | sadrži vrijednost '4' ako je datoteka učitana. |
ZFILESIZE | sadrži duljinu datoteke (u bajtovima) za preuzete datoteke |
ZMEDIAORIGIN | nepoznato, obično ima vrijednost '0' |
ZMOVIEDURATION | trajanje medijske datoteke, za pdf datoteke može sadržavati broj stranica dokumenta |
ZMESSAGE | sadrži serijski broj (broj se razlikuje od onog navedenog u stupcu 'Z_PK') |
ZASPECTRATIO | omjer slike, ne koristi se, obično je postavljen na '0' |
ZHACURACY | nepoznato, obično ima vrijednost '0' |
ZLATITITUDE | širina u pikselima |
DUGOSTITUDE | visina u pikselima |
ZMEDIAURLDATE | vremenska oznaka u OS X formatu Epoch Time |
ZAUTHORNAME | autor (za dokumente može sadržavati naziv datoteke) |
ZCOLLECTIONNAME | ne koristi se |
ZMEDIALOCALPATH | naziv datoteke (uključujući stazu) u datotečnom sustavu uređaja |
ZMEDIAURL | URL na kojem se nalazi medijska datoteka. Ako je datoteka prenesena s jednog pretplatnika na drugu, šifrirana je i njezin će nastavak biti naznačen kao nastavak prenesene datoteke - .enc |
ZTHUMBNAILLLOCALPATH | put do minijature datoteke u datotečnom sustavu uređaja |
ZNASLOV | zaglavlje datoteke |
ZVCARDNAME | hash medijske datoteke; prilikom prijenosa datoteke u grupu, može sadržavati identifikator pošiljatelja |
ZVCARDSTRING | sadrži informacije o vrsti datoteke koja se prenosi (na primjer, slika/jpeg); prilikom prijenosa datoteke u grupu, može sadržavati identifikator primatelja |
ZXMPPTHUMBPATH | put do minijature datoteke u datotečnom sustavu uređaja |
ZMEDIAKEY | nepoznato, vjerojatno sadrži ključ za dešifriranje šifrirane datoteke. |
ZMETADATA | metapodatke poslane poruke |
Ofset | pristranost |
Druge zanimljive tablice baze podataka 'ChatStorage.sqlite' To su:
- 'ZWAPROFILEPUSHNAME'. Usklađuje WhatsApp ID s imenom kontakta;
- 'ZWAPROFILEPICTUREITEM'. Usklađuje WhatsApp ID s avatarom kontakta;
- 'Z_PRIMARYKEY'. Tablica sadrži opće informacije o ovoj bazi podataka, poput ukupnog broja pohranjenih poruka, ukupnog broja razgovora itd.
Također, kada ispitujete WhatsApp na mobilnom uređaju sa sustavom iOS, obratite pozornost na sljedeće datoteke:
- datoteka 'BackedUpKeyValue.sqlite'. Sadrži kriptografske ključeve i druge podatke koji su potrebni za identifikaciju vlasnika računa. Nalazi se uz stazu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- datoteka 'ContactsV2.sqlite'. Sadrži informacije o kontaktima korisnika, kao što su puno ime, telefonski broj, status kontakta (u tekstualnom obliku), WhatsApp ID, itd. Nalazi se uz stazu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- datoteka 'consumer_version'. Sadrži broj verzije instalirane WhatsApp aplikacije. Nalazi se uz stazu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- datoteka 'current_wallpaper.jpg'. Sadrži trenutnu WhatsApp pozadinu. Nalazi se uz stazu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Starije verzije aplikacije koriste datoteku 'pozadina', koji se nalazi uz stazu: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
- datoteka 'blockedcontacts.dat'. Sadrži informacije o blokiranim kontaktima. Nalazi se uz stazu: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
- datoteka 'pw.dat'. Sadrži šifriranu lozinku. Nalazi se uz stazu: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
- datoteka 'net.whatsapp.WhatsApp.plist' (ili datoteka 'group.net.whatsapp.WhatsApp.shared.plist'). Sadrži podatke o vašem profilu WhatsApp računa. Datoteka se nalazi duž staze: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.
Sadržaj datoteke 'group.net.whatsapp.WhatsApp.shared.plist'
Također morate obratiti pozornost na sljedeće direktorije:
- Adresar '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Sadrži sličice kontakata, grupa (datoteke s ekstenzijom .palac), avatari kontakata, avatar vlasnika računa WhatsApp (datoteka 'Photo.jpg').
- Adresar '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Sadrži multimedijske datoteke i njihove minijature
- Adresar '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Sadrži dnevnik rada programa (datoteka 'calls.log') i sigurnosne kopije dnevnika rada programa (datoteka 'calls.backup.log').
- Adresar '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Sadrži naljepnice (datoteke u formatu '.webp').
- Adresar '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Sadrži dnevnike rada programa.
WhatsApp artefakti u sustavu Windows
Artefakti WhatsAppa u sustavu Windows mogu se pronaći na nekoliko mjesta. Prije svega, to su direktoriji koji sadrže izvršne i pomoćne datoteke programa (za Windows 8/10):
- 'C:Program Files (x86)WhatsApp'
- 'C:Users%User profile% AppDataLocalWhatsApp'
- 'C:Users%User profile% AppDataLocalVirtualStore Program Files (x86)WhatsApp'
U katalogu 'C:Users%User profile% AppDataLocalWhatsApp' nalazi se log datoteka 'SquirrelSetup.log', koji sadrži informacije o traženju ažuriranja i instaliranju programa.
U katalogu 'C:Users%User profile% AppDataRoamingWhatsApp' Postoji nekoliko poddirektorija:
datoteka 'main-process.log' sadrži informacije o radu programa WhatsApp.
Poddirektorij 'baze podataka' sadrži datoteku 'Baze podataka.db', ali ova datoteka ne sadrži nikakve informacije o razgovorima ili kontaktima.
S forenzičkog gledišta najzanimljivije su datoteke koje se nalaze u imeniku "Predmemorija". To su u osnovi datoteke s nazivom 'f********' (gdje je * broj od 0 do 9) koji sadrže šifrirane multimedijske datoteke i dokumente, ali među njima ima i nekriptiranih datoteka. Posebno su zanimljivi spisi 'podaci_0', 'podaci_1', 'podaci_2', 'podaci_3', koji se nalazi u istom poddirektoriju. Datoteke 'podaci_0', 'podaci_1', 'podaci_3' sadrže vanjske poveznice na prenesene šifrirane multimedijske datoteke i dokumente.
Primjer informacija sadržanih u datoteci 'data_1'
Također turpija 'podaci_3' može sadržavati grafičke datoteke.
datoteka 'podaci_2' sadrži avatare kontakata (može se obnoviti pretraživanjem po zaglavljima datoteka).
Avatari sadržani u datoteci 'podaci_2':
Dakle, sami chatovi se ne mogu pronaći u memoriji računala, ali možete pronaći:
- multimedijske datoteke;
- dokumenti koji se prenose putem WhatsAppa;
- informacije o kontaktima vlasnika računa.
WhatsApp artefakti na MacOS-u
U MacOS-u možete pronaći vrste WhatsApp artefakata slične onima u Windows OS-u.
Programske datoteke nalaze se u sljedećim direktorijima:
- 'C:ApplicationsWhatsApp.app'
- 'C:Applications._WhatsApp.app'
- 'C:Users%User profile%LibraryPreferences'
- 'C:Users%Korisnički profil%LibraryLogsWhatsApp'
- 'C:Users%Korisnički profil%LibrarySaved Application StateWhatsApp.savedState'
- 'C:Users%User profile%LibraryApplication Scripts'
- 'C:Users%Korisnički profil%LibraryApplication SupportCloudDocs'
- 'C:Users%Korisnički profil%LibraryApplication SupportWhatsApp.ShipIt'
- 'C:Users%Korisnički profil%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
- 'C:Users%User profile% Library Mobile Documents <text variable> WhatsApp Accounts'
Ovaj direktorij sadrži poddirektorije čija su imena telefonski brojevi povezani s vlasnikom WhatsApp računa. - 'C:Users%Korisnički profil%LibraryCachesWhatsApp.ShipIt'
Ovaj direktorij sadrži informacije o instaliranju programa. - 'C:Users%Korisnički profil%PicturesiPhoto Library.photolibraryMasters', 'C:Users%Korisnički profil%PicturesiPhoto Library.photolibraryThumbnails'
Ovi direktoriji sadrže servisne datoteke programa, uključujući fotografije i sličice WhatsApp kontakata. - 'C:Users%Korisnički profil%LibraryCachesWhatsApp'
Ovaj direktorij sadrži nekoliko SQLite baza podataka koje se koriste za predmemoriju podataka. - 'C:Users%Korisnički profil%LibraryApplication SupportWhatsApp'
Ovaj direktorij sadrži nekoliko poddirektorija:
U katalogu 'C:Users%Korisnički profil%LibraryApplication SupportWhatsAppCache' postoje datoteke 'podaci_0', 'podaci_1', 'podaci_2', 'podaci_3' i datoteke s imenima 'f********' (gdje je * broj od 0 do 9). Za informacije o tome koje informacije sadrže ove datoteke, pogledajte Artefakti WhatsAppa u sustavu Windows.U katalogu 'C:Users%Korisnički profil%LibraryApplication SupportWhatsAppIndexedDB' može sadržavati multimedijske datoteke (datoteke nemaju ekstenzije).
datoteka 'main-process.log' sadrži informacije o radu programa WhatsApp.
izvori
- Forenzička analiza WhatsApp Messengera na Android pametnim telefonima, Cosimo Anglano, 2014.
- Whatsapp forenzika: Istraživanje sustava i baza podataka u aplikacijama za Android i iOS, Ahmad Pratama, 2014.
U sljedećim člancima iz ove serije:
Dešifriranje šifriranih WhatsApp baza podatakaČlanak koji će pružiti informacije o tome kako se generira WhatsApp ključ za enkripciju i praktične primjere koji pokazuju kako dešifrirati šifrirane baze podataka ove aplikacije.
Izdvajanje WhatsApp podataka iz pohrane u oblakuČlanak u kojem ćemo vam reći koji se WhatsApp podaci pohranjuju u oblacima i opisati metode za dohvaćanje tih podataka iz pohrana u oblaku.
Ekstrakcija podataka WhatsAppa: praktični primjeriČlanak koji će korak po korak opisati koji programi i kako izvući WhatsApp podatke s različitih uređaja.
Izvor: www.habr.com