WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?

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/'.

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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:

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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:

    WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
    Struktura tablice

    Naziv 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:

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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:

    WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?

  • 'message_fts_content'
    Sadrži tekst poslanih poruka.

    Izgled tablice:

    WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?

  • '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:

    WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
    Struktura tablice

    Naziv 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:

    WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?

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:

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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:

    WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?

  • 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':

    WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?

  • 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':

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
Najinformativnije tablice u bazi podataka 'ChatStorage.sqlite' su 'ZWAMESSAGE' и 'ZWAMEDIAITEM'.

Izgled stola 'ZWAMESSAGE':

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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':

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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' WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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:

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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'WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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':

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
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:

    WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
    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

  1. Forenzička analiza WhatsApp Messengera na Android pametnim telefonima, Cosimo Anglano, 2014.
  2. 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

Dodajte komentar