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 sistemima i gdje se tačno mogu pronaći, onda je ovo mjesto za vas. Ovaj članak je od stručnjaka iz Laboratorije za kompjutersku forenziku Group-IB Igor Mihajlov počinje seriju postova o WhatsApp forenzici i koje informacije se mogu dobiti analizom uređaja.

Odmah napomenimo da različiti operativni sistemi pohranjuju različite tipove WhatsApp artefakata, a ako istraživač može izdvojiti određene vrste WhatsApp podataka sa jednog uređaja, to ne znači da se slične vrste podataka mogu izdvojiti s drugog uređaja. Na primjer, ako se ukloni sistemska jedinica koja koristi Windows OS, WhatsApp razgovori vjerovatno neće biti pronađeni na njenim diskovima (osim rezervnih kopija iOS uređaja, koje se mogu naći na istim diskovima). Zapljena laptopa i mobilnih uređaja imat će svoje karakteristike. Razgovarajmo o tome detaljnije.

WhatsApp artefakti na Android uređaju

Da bi izdvojio WhatsApp artefakte sa Android uređaja, istraživač mora imati prava superkorisnika ('root') na uređaju koji se proučava ili može na drugi način izdvojiti fizički deponiju memorije uređaja ili njegovog sistema datoteka (na primjer, korištenjem softverskih ranjivosti određenog mobilnog uređaja).

Datoteke aplikacija nalaze se u memoriji telefona u dijelu u kojem se čuvaju korisnički podaci. Po pravilu, ova sekcija je imenovana 'korisnički podaci'. Poddirektorijumi i programske datoteke nalaze se duž putanje: '/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 Android OS-u su baze podataka 'wa.db' и 'msgstore.db'.

U bazi podataka 'wa.db' sadrži kompletnu listu kontakata korisnika WhatsApp-a, uključujući broj telefona, prikazano ime, vremenske oznake i sve druge informacije koje ste dali prilikom registracije za WhatsApp. File '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 tabele u bazi podataka 'wa.db' za istraživača su:

  • 'wa_contacts'
    Ova tabela sadrži kontakt informacije: WhatsApp kontakt ID, informacije o statusu, korisničko ime za prikaz, vremenske oznake, itd.

    Izgled stola:

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

    Naziv polja vrijednost
    _id redni broj zapisa (u SQL tabeli)
    jid WhatsApp kontakt ID, napisan u formatu <broj telefona>@s.whatsapp.net
    is_whatsapp_user sadrži '1' ako kontakt odgovara stvarnom korisniku WhatsApp-a, '0' u suprotnom
    status sadrži tekst prikazan u statusu kontakta
    status_timestamp sadrži vremensku oznaku u formatu Unix Epoch Time (ms).
    broj broj telefona povezan sa kontaktom
    raw_contact_id kontakt serijski broj
    display_name ime za prikaz kontakta
    phone_type tip telefona
    phone_label oznaka povezana sa kontakt brojem
    unseen_msg_count broj poruka koje je poslao kontakt, ali ih primalac 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).
    dato ime vrijednost polja odgovara 'display_name' za svaki kontakt
    wa_name WhatsApp ime kontakta (prikazuje se ime navedeno u profilu kontakta)
    sort_name ime kontakta koji se koristi u operacijama sortiranja
    nadimak nadimak kontakta u WhatsApp-u (prikazuje se nadimak naveden u profilu kontakta)
    društvo kompanija (prikazuje se kompanija navedena u profilu kontakta)
    naslov naslov (gospođa/gospodin; prikazuje se naslov konfigurisan u profilu kontakta)
    ofset pristrasnost
  • 'sqlite_sequence'
    Ova tabela sadrži informacije o broju kontakata;
  • 'android_metadata'
    Ova tabela 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, detalji o prenesenim datotekama uključenim u poruke, itd. File '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 tabele u fajlu 'msgstore.db' za istraživača su:

  • 'sqlite_sequence'
    Ova tabela sadrži općenite informacije o ovoj bazi podataka, kao što je ukupan broj pohranjenih poruka, ukupan broj razgovora itd.

    Izgled stola:

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

  • 'message_fts_content'
    Sadrži tekst poslanih poruka.

    Izgled stola:

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

  • 'poruke'
    Ova tabela sadrži informacije kao što su broj kontakta, tekst poruke, status poruke, vremenske oznake, informacije o prenesenim datotekama uključenim u poruke.

    Izgled stola:

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

    Naziv polja vrijednost
    _id redni broj zapisa (u SQL tabeli)
    key_remote_jid WhatsApp ID komunikacijskog partnera
    ključ_od_mene smjer poruke: '0' – dolazna, '1' – odlazna
    key_id jedinstveni identifikator poruke
    status status poruke: '0' – dostavljeno, '4' – čeka na serveru, '5' – primljeno na odredište, '6' – kontrolna poruka, '13' – poruka koju je otvorio primalac (pročitano)
    need_push ima vrijednost '2' ako se radi o emitiranoj poruci, inače sadrži '0'
    podaci tekst poruke (kada je parametar 'media_wa_type' '0')
    timestamp sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost se uzima iz sata uređaja
    media_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
    media_size veličina prenesene datoteke (kada je parametar 'media_wa_type' '1', '2', '3')
    media_name naziv prenesene datoteke (kada je parametar 'media_wa_type' '1', '2', '3')
    media_caption 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 korištenjem HAS-256 algoritma (kada je parametar 'media_wa_type' jednak '1', '2', '3')
    media_duration trajanje u sekundama za medijski fajl (kada je 'media_wa_type' '1', '2', '3')
    Poreklo ima vrijednost '2' ako se radi o emitiranoj poruci, inače sadrži '0'
    širina geopodaci: geografska širina (kada je parametar 'media_wa_type' '5')
    zemljopisnu dužinu geopodaci: geografska dužina (kada je parametar 'media_wa_type' '5')
    thumb_image servisne informacije
    udaljeni_resurs ID pošiljaoca (samo za grupne razgovore)
    primljena_vremenska oznaka vrijeme prijema, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost se uzima iz sata uređaja (kada parametar 'key_from_me' ima '0', '-1' ili drugu vrijednost)
    send_timestamp ne koristi se, obično ima vrijednost '-1'
    receipt_server_timestamp vrijeme koje prima centralni server, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost se uzima iz sata uređaja (kada parametar 'key_from_me' ima '1', '-1' ili drugu vrijednost
    receipt_device_timestamp kada je poruka primljena od strane drugog pretplatnika, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost se uzima iz sata uređaja (kada parametar 'key_from_me' ima '1', '-1' ili drugu vrijednost
    read_device_timestamp vrijeme otvaranja (čitanja) poruke, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost je preuzeta sa sata uređaja
    play_device_timestamp vrijeme reprodukcije poruke, sadrži vremensku oznaku u formatu Unix Epoch Time (ms), vrijednost se uzima iz sata uređaja
    raw_data sličica prenesene datoteke (kada je parametar 'media_wa_type' '1' ili '3')
    recipient_count broj primalaca (za emitovane poruke)
    participant_hash koristi se prilikom prijenosa poruka s geopodacima
    zvezdano ne koristi se
    quoted_row_id nepoznato, obično sadrži vrijednost '0'
    spomenuti_jids ne koristi se
    multicast_id ne koristi se
    ofset pristrasnost

    Ova lista polja nije konačna. Za različite verzije WhatsAppa, neka polja mogu biti prisutna ili odsutna. Osim toga, mogu biti prisutna polja 'media_enc_hash', 'edit_version', 'payment_transaction_id' i tako dalje.

  • 'messages_thumbnails'
    Ova tabela sadrži informacije o prenesenim slikama i vremenskim oznakama. U koloni 'timestamp', vrijeme je naznačeno u formatu Unix Epoch Time (ms).
  • 'chat_list'
    Ova tabela sadrži informacije o četovima.

    Izgled stola:

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

Također, kada ispitujete WhatsApp na mobilnom uređaju koji koristi Android, obratite pažnju na sljedeće fajlove:

  • fajl 'msgstore.db.cryptXX' (gdje je XX jedna ili dvije cifre od 0 do 12, na primjer, msgstore.db.crypt12). Sadrži šifriranu sigurnosnu kopiju WhatsApp poruka (fajl sigurnosne kopije msgstore.db). Fajlovi 'msgstore.db.cryptXX' nalazi se uz stazu: '/data/media/0/WhatsApp/Baze podataka/' (virtuelna SD kartica), '/mnt/sdcard/WhatsApp/baze podataka/ (fizička SD kartica)'.
  • fajl 'ključ'. Sadrži kriptografski ključ. Nalazi se uz stazu: '/data/data/com.whatsapp/files/'. Koristi se za dešifriranje šifriranih sigurnosnih kopija WhatsAppa.
  • fajl 'com.whatsapp_preferences.xml'. Sadrži informacije o profilu vašeg WhatsApp naloga. Datoteka se nalazi duž putanje: '/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> (имя владельца аккаунта)
    … 
  • fajl 'registration.RegisterPhone.xml'. Sadrži informacije o telefonskom broju povezanom s WhatsApp nalogom. Datoteka se nalazi duž putanje: '/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>
  • fajl 'axolotl.db'. Sadrži kriptografske ključeve i druge podatke koji su neophodni za identifikaciju vlasnika naloga. Nalazi se uz stazu: '/data/data/com.whatsapp/databases/'.
  • fajl 'chatsettings.db'. Sadrži informacije o konfiguraciji aplikacije.
  • fajl 'wa.db'. Sadrži kontakt detalje. Veoma zanimljiva (sa forenzičkog aspekta) i informativna baza podataka. Može sadržavati detaljne informacije o izbrisanim kontaktima.

Također morate obratiti pažnju na sljedeće direktorije:

  • Directory '/data/media/0/WhatsApp/Media/WhatsApp Slike/'. Sadrži prenesene grafičke datoteke.
  • Directory '/data/media/0/WhatsApp/Media/WhatsApp Glasovne bilješke/'. Sadrži glasovne poruke u datotekama u formatu .OPUS.
  • Directory '/data/data/com.whatsapp/cache/Slike profila/'. Sadrži grafičke datoteke – slike kontakata.
  • Directory '/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.
  • Directory '/data/data/com.whatsapp/files/Avatars/'. Sadrži grafičke datoteke - sliku i sličicu slike koju je vlasnik naloga postavio kao avatar.
  • Directory '/data/data/com.whatsapp/files/Logs/'. Sadrži dnevnik rada programa (datoteka 'whatsapp.log') i rezervne kopije dnevnika rada programa (datoteke s imenima u formatu whatsapp-yyyy-mm-dd.1.log.gz).

WhatsApp log fajlovi:

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/broj pokretanja:0 vremenska oznaka: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 lozinke 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) / Vanmrežne poruke: 81 primljeno ( 19522 msec prosječno kašnjenje) / Usluga poruka: poslano 116075 bajtova, primljeno 211729 bajtova / Voip pozivi: 1 odlazni poziv, 0 dolaznih poziva, 2492 bajtova poslanih, 1530 bajtova primljenih / Google Drive: 0 bajtova poslanih, 0 bajtova primljenih 1524 poslanih bajtova, primljenih 1826 bajtova / Ukupni podaci: poslanih 118567 bajtova, primljenih 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 dostupno:1,345,622,016 ukupno:5,687,922,688

  • Directory '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Sadrži primljene audio datoteke.
  • Directory '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Sadrži poslane audio datoteke.
  • Directory '/data/media/0/WhatsApp/Media/WhatsApp Slike/'. Sadrži rezultirajuće grafičke datoteke.
  • Directory '/data/media/0/WhatsApp/Media/WhatsApp Slike/Poslano/'. Sadrži poslane grafičke datoteke.
  • Directory '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Sadrži primljene video datoteke.
  • Directory '/data/media/0/WhatsApp/Media/WhatsApp Video/Poslano/'. Sadrži poslane video datoteke.
  • Directory '/data/media/0/WhatsApp/Media/WhatsApp Profilne fotografije/'. Sadrži grafičke datoteke povezane s vlasnikom WhatsApp naloga.
  • Da biste uštedjeli memorijski prostor na vašem Android pametnom telefonu, neki WhatsApp podaci mogu se pohraniti na SD karticu. Na SD kartici, u korijenskom direktoriju, nalazi se direktorij 'WhatsApp', gdje se mogu pronaći sljedeći artefakti ovog programa:

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

  • Directory '.Share' ('/mnt/sdcard/WhatsApp/.Share/'). Sadrži kopije datoteka koje su podijeljene s drugim korisnicima WhatsAppa.
  • Directory '.smeće' ('/mnt/sdcard/WhatsApp/.trash/'). Sadrži izbrisane datoteke.
  • Directory 'baze podataka' ('/mnt/sdcard/WhatsApp/baze podataka/'). Sadrži šifrirane sigurnosne kopije. Mogu se dešifrirati ako je datoteka prisutna 'ključ', izvučen iz memorije analiziranog uređaja.

    Fajlovi koji se nalaze u poddirektorijumu 'baze podataka':

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

  • Directory 'pola' ('/mnt/sdcard/WhatsApp/Media/'). Sadrži poddirektorije 'tapeta', 'WhatsApp Audio', 'WhatsApp slike', 'Fotografije WhatsApp profila', 'WhatsApp video', 'WhatsApp glasovne bilješke', koji sadrže primljene i prenesene multimedijalne datoteke (grafičke datoteke, video datoteke, glasovne poruke, fotografije povezane s profilom vlasnika WhatsApp naloga, pozadine).
  • Directory 'Slike profila' ('/mnt/sdcard/WhatsApp/Slike profila/'). Sadrži grafičke datoteke povezane s profilom vlasnika WhatsApp naloga.
  • Ponekad može postojati direktorij na SD kartici 'fajlovi' ('/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 koji koriste Android OS mogu pohraniti WhatsApp artefakte na drugu lokaciju. 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 kreiranje drugog radnog prostora („SecondSpace“). Kada je ova funkcija aktivirana, lokacija podataka se mijenja. Dakle, ako se na običnom mobilnom uređaju koji koristi Android OS korisnički podaci pohranjeni su u direktoriju '/data/user/0/' (što je referenca na uobičajeno '/data/data/'), zatim se u drugom radnom prostoru podaci aplikacije pohranjuju u direktorij '/data/user/10/'. Odnosno, koristeći primjer lokacije datoteke 'wa.db':

  • na običnom pametnom telefonu koji koristi Android OS: /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 na iOS uređaju

Za razliku od Android OS-a, u iOS aplikaciji WhatsApp podaci se prenose u rezervnu kopiju (iTunes backup). Stoga, izdvajanje podataka iz ove aplikacije ne zahtijeva ekstrakciju sistema datoteka ili kreiranje 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 ova putanja se 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 tabele 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 tabele 'ZWAMESSAGE'

Naziv polja vrijednost
Z_PK redni broj zapisa (u SQL tabeli)
Z_ENT identifikator tabele, 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', vjerovatno 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 prenosa poruke. Ako je poruka poslana/primljena, tada ima vrijednost '0'
ZMESSAGETYPE vrsta poruke koja se prenosi
ZSORT je nepoznato
ZSPOTLIGHTSTATUS je nepoznato
ZSTARRED 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 formatu vremena epohe OS X
ZSENTDATE vrijeme kada je poruka poslana u formatu OS X Epoch Time
ZFROMJID WhatsApp ID pošiljaoca
ZMEDIASECTIONID sadrži godinu i mjesec kada je medijska datoteka poslana
ZPHASH nepoznato, nije korišteno
ZPUSHPAME ime kontakta koji je poslao medijsku datoteku u UTF-8 formatu
ZSTANZID jedinstveni identifikator poruke
ZTEXT Tekst poruke
ZTOJID WhatsApp ID primaoca
OFFSET pristrasnost

Izgled stola 'ZWAMEDIAITEM':

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

Naziv polja vrijednost
Z_PK redni broj zapisa (u SQL tabeli)
Z_ENT identifikator tabele, 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 dužinu 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 koloni 'Z_PK')
ZASPECTRATIO omjer širine i visine, ne koristi se, obično postavljen na '0'
ZHACCURACY nepoznato, obično ima vrijednost '0'
ZLATTITUDE širina u pikselima
ZLONGTITUDE visina u pikselima
ZMEDIAURLDATE vremenska oznaka u formatu vremena epohe OS X
ZAUTHORNAME autor (za dokumente, može sadržavati naziv datoteke)
ZCOLLECTIONNAME ne koristi se
ZMEDIALOCALPATH naziv datoteke (uključujući putanju) u sistemu datoteka uređaja
ZMEDIAURL URL na kojem se nalazi medijska datoteka. Ako je datoteka prebačena s jednog pretplatnika na drugog, bila je šifrirana i njena ekstenzija će biti naznačena kao ekstenzija prenesene datoteke - .enc
ZTHUMBNAILLOCALPATH putanju do minijature datoteke u sistemu datoteka uređaja
ZTITLE 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, image/jpeg); prilikom prijenosa datoteke u grupu, može sadržavati identifikator primatelja
ZXMPPTHUMBPATH putanju do minijature datoteke u sistemu datoteka uređaja
ZMEDIAKEY nepoznato, vjerovatno sadrži ključ za dešifriranje šifrirane datoteke.
ZMETADATA metapodaci poslane poruke
Ofset pristrasnost

Druge zanimljive tabele baze podataka 'ChatStorage.sqlite' su:

  • 'ZWAPROFILEPUSHNAME'. Usklađuje WhatsApp ID s imenom kontakta;
  • 'ZWAPROFILEPICTUREITEM'. Usklađuje WhatsApp ID sa avatarom kontakta;
  • 'Z_PRIMARYKEY'. Tabela sadrži općenite informacije o ovoj bazi podataka, kao što je ukupan broj pohranjenih poruka, ukupan broj razgovora itd.

Također, kada ispitujete WhatsApp na mobilnom uređaju koji koristi iOS, obratite pažnju na sljedeće datoteke:

  • fajl 'BackedUpKeyValue.sqlite'. Sadrži kriptografske ključeve i druge podatke koji su neophodni za identifikaciju vlasnika naloga. Nalazi se uz stazu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • fajl 'ContactsV2.sqlite'. Sadrži informacije o kontaktima korisnika, kao što su puno ime, broj telefona, status kontakta (u tekstualnom obliku), WhatsApp ID, itd. Nalazi se uz stazu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • fajl 'consumer_version'. Sadrži broj verzije instalirane WhatsApp aplikacije. Nalazi se uz stazu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • fajl 'current_wallpaper.jpg'. Sadrži trenutnu pozadinu WhatsAppa. Nalazi se uz stazu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Starije verzije aplikacije koriste datoteku 'tapeta', koji se nalazi uz stazu: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
  • fajl 'blockedcontacts.dat'. Sadrži informacije o blokiranim kontaktima. Nalazi se uz stazu: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • fajl 'pw.dat'. Sadrži šifrovanu lozinku. Nalazi se uz stazu: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
  • fajl 'net.whatsapp.WhatsApp.plist' (ili fajl 'group.net.whatsapp.WhatsApp.shared.plist'). Sadrži informacije o profilu vašeg WhatsApp naloga. Datoteka se nalazi duž putanje: '/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 pažnju na sljedeće direktorije:

  • Directory '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Sadrži sličice kontakata, grupa (datoteke sa ekstenzijom .thumb), avatari kontakata, avatar vlasnika WhatsApp naloga (fajl 'Photo.jpg').
  • Directory '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Sadrži multimedijalne datoteke i njihove sličice
  • Directory '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Sadrži dnevnik rada programa (datoteka 'calls.log') i rezervne kopije dnevnika rada programa (datoteka 'calls.backup.log').
  • Directory '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Sadrži naljepnice (datoteke u formatu '.webp').
  • Directory '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Sadrži dnevnike rada programa.

WhatsApp artefakti na Windows-u

WhatsApp artefakti na Windows-u mogu se naći na nekoliko mjesta. Prije svega, ovo su direktoriji koji sadrže izvršne i pomoćne programske datoteke (za Windows 8/10):

  • 'C:Program Files (x86)WhatsApp'
  • 'C:Users%Korisnički profil% AppDataLocalWhatsApp'
  • 'C:Users%Korisnički profil% Programske datoteke AppDataLocalVirtualStore (x86)WhatsApp'

U katalogu 'C:Users%Korisnički profil% AppDataLocalWhatsApp' nalazi se log datoteka 'SquirrelSetup.log', koji sadrži informacije o provjeri ažuriranja i instaliranju programa.

U katalogu 'C:Users%Korisnički profil% AppDataRoamingWhatsApp' Postoji nekoliko poddirektorija:

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
fajl 'main-process.log' sadrži informacije o radu WhatsApp programa.

Poddirektorij 'baze podataka' sadrži datoteku 'Baze podataka.db', ali ova datoteka ne sadrži nikakve informacije o razgovorima ili kontaktima.

Najzanimljivije sa forenzičke tačke gledišta su datoteke koje se nalaze u direktoriju 'Skladiste'. To su u osnovi datoteke s imenom 'f_**********' (gdje je * broj od 0 do 9) koji sadrže šifrirane multimedijalne datoteke i dokumente, ali među njima ima i nešifriranih datoteka. Posebno su zanimljivi fajlovi 'data_0', 'data_1', 'data_2', 'data_3', koji se nalazi u istom poddirektorijumu. Fajlovi 'data_0', 'data_1', 'data_3' sadrže eksterne veze do prenetih šifrovanih multimedijalnih datoteka i dokumenata.

Primjer informacija sadržanih u datoteci 'data_1'WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
Također fajl 'data_3' može sadržavati grafičke datoteke.

fajl 'data_2' sadrži avatare kontakata (mogu se vratiti pretraživanjem po zaglavljima datoteka).

Avatari sadržani u datoteci 'data_2':

WhatsApp na dlanu: gdje i kako možete pronaći forenzičke artefakte?
Dakle, sami razgovori se ne mogu pronaći u memoriji računara, ali možete pronaći:

  • multimedijske datoteke;
  • dokumenti koji se prenose putem WhatsApp-a;
  • informacije o kontaktima vlasnika naloga.

WhatsApp artefakti na MacOS-u

U MacOS-u možete pronaći tipove WhatsApp artefakata sličnih onima u Windows OS-u.

Programske datoteke se nalaze u sljedećim direktorijima:

  • 'C:AplikacijeWhatsApp.app'
  • 'C:Aplikacije._WhatsApp.app'
  • 'C:Users%Korisnički profil%LibraryPreferences'
  • 'C:Users%Korisnički profil%LibraryLogsWhatsApp'
  • 'C:Users%Korisnički profil%LibrarySaved Application StateWhatsApp.savedState'
  • 'C:Users%Korisnički profil%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%Korisnički profil% Biblioteka Mobilni dokumenti <tekstualna varijabla> WhatsApp računi'
    Ovaj direktorij sadrži poddirektorije čija su imena telefonski brojevi povezani s vlasnikom WhatsApp naloga.
  • 'C:Users%Korisnički profil%LibraryCachesWhatsApp.ShipIt'
    Ovaj direktorij sadrži informacije o instalaciji 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 keširanje 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 fajlovi 'data_0', 'data_1', 'data_2', 'data_3' i datoteke sa imenima 'f_**********' (gdje je * broj od 0 do 9). Za informacije o tome koje informacije ove datoteke sadrže, pogledajte WhatsApp artefakti na Windows-u.

    U katalogu 'C:Users%Korisnički profil%LibraryApplication SupportWhatsAppIndexedDB' mogu sadržavati multimedijalne datoteke (datoteke nemaju ekstenzije).

    fajl 'main-process.log' sadrži informacije o radu WhatsApp programa.

Izvori

  1. Forenzička analiza WhatsApp Messengera na Android pametnim telefonima, Cosimo Anglano, 2014.
  2. Forenzika Whatsappa: Eksplozivni sistem i osnovni podaci u aplikacijama za Android i iOS od Ahmada Pratame, 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 šifriranje i praktične primjere koji pokazuju kako dešifrirati šifrirane baze podataka ove aplikacije.
Ekstrahiranje WhatsApp podataka iz pohrane u oblakuČlanak u kojem ćemo vam reći koji su WhatsApp podaci pohranjeni u oblacima i opisati metode za preuzimanje ovih podataka iz skladišta u oblaku.
WhatsApp ekstrakcija podataka: praktični primjeriČlanak koji će opisati korak po korak koji programi i kako izdvojiti WhatsApp podatke s različitih uređaja.

izvor: www.habr.com

Dodajte komentar