WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?

Če želite izvedeti, kakšne vrste forenzičnih artefaktov WhatsApp obstajajo v različnih operacijskih sistemih in kje natančno jih je mogoče najti, potem je to mesto za vas. Ta članek je napisal strokovnjak iz Laboratorija za računalniško forenziko Group-IB Igor Mihajlov začne serijo objav o forenziki WhatsApp in o tem, katere informacije je mogoče pridobiti z analizo naprave.

Naj takoj opozorimo, da različni operacijski sistemi shranjujejo različne vrste artefaktov WhatsApp in če lahko raziskovalec izvleče določene vrste podatkov WhatsApp iz ene naprave, to ne pomeni, da je podobne vrste podatkov mogoče izvleči iz druge naprave. Če na primer odstranite sistemsko enoto z operacijskim sistemom Windows, klepetov WhatsApp verjetno ne bo mogoče najti na njenih diskih (z izjemo varnostnih kopij naprav iOS, ki jih najdete na istih diskih). Zaseg prenosnih računalnikov in mobilnih naprav bo imel svoje značilnosti. Pogovorimo se o tem podrobneje.

Artefakti WhatsApp v napravi Android

Za pridobivanje artefaktov WhatsApp iz naprave Android mora imeti raziskovalec pravice superuporabnika ('root') v napravi, ki je predmet preiskave, ali lahko kako drugače ekstrahirate izpis fizičnega pomnilnika naprave ali njenega datotečnega sistema (na primer z uporabo ranljivosti programske opreme določene mobilne naprave).

Datoteke aplikacij se nahajajo v pomnilniku telefona v razdelku, kjer so shranjeni uporabniški podatki. Praviloma je ta razdelek poimenovan 'uporabniški podatki'. Podimeniki in programske datoteke se nahajajo vzdolž poti: '/data/data/com.whatsapp/'.

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Glavne datoteke, ki vsebujejo forenzične artefakte WhatsApp v operacijskem sistemu Android, so zbirke podatkov 'wa.db' и 'msgstore.db'.

V zbirki podatkov 'wa.db' vsebuje celoten seznam stikov uporabnika WhatsApp, vključno s telefonsko številko, prikaznim imenom, časovnimi žigi in vsemi drugimi informacijami, ki ste jih posredovali med registracijo za WhatsApp. mapa 'wa.db' ki se nahaja ob poti: '/data/data/com.whatsapp/databases/' in ima naslednjo strukturo:

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Najbolj zanimive tabele v bazi 'wa.db' za raziskovalca so:

  • 'wa_contacts'
    Ta tabela vsebuje kontaktne podatke: ID stika WhatsApp, informacije o statusu, uporabniško prikazno ime, časovne žige itd.

    Videz tabele:

    WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
    Struktura tabele

    Ime polja Vrednost
    _id zaporedno številko zapisa (v tabeli SQL)
    jid ID stika WhatsApp, napisan v obliki <telefonska številka>@s.whatsapp.net
    is_whatsapp_user vsebuje '1', če stik ustreza dejanskemu uporabniku WhatsApp, v nasprotnem primeru '0'
    Status vsebuje besedilo, prikazano v statusu stika
    status_časovni žig vsebuje časovni žig v formatu Unix Epoch Time (ms).
    Številka telefonsko številko, povezano s kontaktom
    raw_contact_id kontaktno serijsko številko
    DISPLAY_NAME prikazno ime stika
    phone_type tip telefona
    telefonska oznaka oznako, povezano s kontaktno številko
    unseen_msg_count število sporočil, ki jih je poslal stik, vendar jih prejemnik ni prebral
    photo_ts vsebuje časovni žig v formatu Unix Epoch Time
    thumb_ts vsebuje časovni žig v formatu Unix Epoch Time
    photo_id_timestamp vsebuje časovni žig v formatu Unix Epoch Time (ms).
    dano_ime vrednost polja se ujema z 'display_name' za vsak stik
    wa_name Ime stika WhatsApp (prikaže se ime, navedeno v profilu stika)
    sort_name ime stika, ki se uporablja pri operacijah razvrščanja
    vzdevek vzdevek stika v WhatsApp (prikaže se vzdevek, naveden v profilu stika)
    podjetje podjetje (prikaže se podjetje, navedeno v profilu kontakta)
    Naslov naziv (gospa/gospod; prikazan je naziv, konfiguriran v kontaktnem profilu)
    odmik pristranskost
  • 'sqlite_sequence'
    Ta tabela vsebuje podatke o številu stikov;
  • 'android_metapodatki'
    Ta tabela vsebuje informacije o jezikovni lokalizaciji WhatsApp.

V zbirki podatkov 'msgstore.db' vsebuje informacije o poslanih sporočilih, kot so kontaktna številka, besedilo sporočila, stanje sporočila, časovni žigi, podrobnosti o prenesenih datotekah, vključenih v sporočila, itd. mapa 'msgstore.db' ki se nahaja ob poti: '/data/data/com.whatsapp/databases/' in ima naslednjo strukturo:

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Najbolj zanimive tabele v datoteki 'msgstore.db' za raziskovalca so:

  • 'sqlite_sequence'
    Ta tabela vsebuje splošne informacije o tej bazi podatkov, na primer skupno število shranjenih sporočil, skupno število klepetov itd.

    Videz tabele:

    WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?

  • 'message_fts_content'
    Vsebuje besedilo poslanih sporočil.

    Videz tabele:

    WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?

  • 'sporočila'
    Ta tabela vsebuje informacije, kot so kontaktna številka, besedilo sporočila, stanje sporočila, časovni žigi, informacije o prenesenih datotekah, vključenih v sporočila.

    Videz tabele:

    WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
    Struktura tabele

    Ime polja Vrednost
    _id zaporedno številko zapisa (v tabeli SQL)
    key_remote_jid WhatsApp ID komunikacijskega partnerja
    ključ_od_mene smer sporočila: '0' – dohodno, '1' – odhodno
    key_id edinstven identifikator sporočila
    Status status sporočila: '0' – dostavljeno, '4' – čaka na strežniku, '5' – prejeto na cilj, '6' – kontrolno sporočilo, '13' – sporočilo, ki ga je odprl prejemnik (branje)
    need_push ima vrednost '2', če gre za oddajno sporočilo, sicer vsebuje '0'
    datum besedilo sporočila (ko je parameter 'media_wa_type' '0')
    Časovni žig vsebuje časovni žig v formatu Unix Epoch Time (ms), vrednost je vzeta iz ure naprave
    media_url vsebuje URL prenesene datoteke (če je parameter 'media_wa_type' '1', '2', '3')
    media_mime_type Vrsta MIME prenesene datoteke (če je parameter 'media_wa_type' enak '1', '2', '3')
    media_wa_type vrsta sporočila: '0' - besedilo, '1' - grafična datoteka, '2' - zvočna datoteka, '3' - video datoteka, '4' - kontaktna kartica, '5' - geopodatki
    velikost_medija velikost prenesene datoteke (če je parameter 'media_wa_type' '1', '2', '3')
    ime_medija ime prenesene datoteke (če je parameter 'media_wa_type' '1', '2', '3')
    media_caption Vsebuje besedi 'audio', 'video' za ustrezne vrednosti parametra 'media_wa_type' (če je parameter 'media_wa_type' '1', '3')
    media_hash base64 kodirana zgoščena vrednost poslane datoteke, izračunana z algoritmom HAS-256 (če je parameter 'media_wa_type' enak '1', '2', '3')
    media_duration trajanje predstavnostne datoteke v sekundah (ko je 'media_wa_type' '1', '2', '3')
    poreklo ima vrednost '2', če gre za oddajno sporočilo, sicer vsebuje '0'
    zemljepisna širina geopodatki: zemljepisna širina (če je parameter 'media_wa_type' '5')
    zemljepisne dolžine geopodatki: zemljepisna dolžina (ko je parameter 'media_wa_type' '5')
    thumb_image servisne informacije
    oddaljeni_vir ID pošiljatelja (samo za skupinske klepete)
    prejeti_časovni žig čas prejema, vsebuje časovni žig v formatu Unix Epoch Time (ms), vrednost je vzeta iz ure naprave (ko ima parameter 'key_from_me' '0', '-1' ali drugo vrednost)
    pošlji časovni žig se ne uporablja, običajno ima vrednost '-1'
    časovni žig_strežnika prejemov čas, ki ga prejme osrednji strežnik, vsebuje časovni žig v formatu Unix Epoch Time (ms), vrednost je vzeta iz ure naprave (ko ima parameter 'key_from_me' '1', '-1' ali drugo vrednost
    časovni žig_prejemne_naprave čas, ko je sporočilo prejel drug naročnik, vsebuje časovni žig v formatu Unix Epoch Time (ms), vrednost je vzeta iz ure naprave (če ima parameter 'key_from_me' '1', '-1' ali drugo vrednost
    read_device_timestamp čas odpiranja (branja) sporočila, vsebuje časovni žig v formatu Unix Epoch Time (ms), vrednost je vzeta iz ure naprave
    predvajana_naprava_časovni žig čas predvajanja sporočila, vsebuje časovni žig v formatu Unix Epoch Time (ms), vrednost je vzeta iz ure naprave
    surovi podatki sličica prenesene datoteke (če je parameter 'media_wa_type' '1' ali '3')
    število_prejemnikov število prejemnikov (za oddajna sporočila)
    udeleženec_hash uporablja se pri prenosu sporočil z geopodatki
    zvezdico se ne uporablja
    id_citirane_vrstice neznano, običajno vsebuje vrednost '0'
    omenjeni_jids se ne uporablja
    multicast_id se ne uporablja
    odmik pristranskost

    Ta seznam polj ni izčrpen. Za različne različice WhatsApp so lahko nekatera polja prisotna ali odsotna. Poleg tega so lahko prisotna polja 'media_enc_hash', 'edit_version', 'payment_transaction_id' itd

  • 'messages_thumbnails'
    Ta tabela vsebuje informacije o prenesenih slikah in časovnih žigih. V stolpcu 'časovni žig' je čas naveden v obliki Unix Epoch Time (ms).
  • 'chat_list'
    Ta tabela vsebuje informacije o klepetih.

    Videz tabele:

    WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?

Ko pregledujete WhatsApp v mobilni napravi s sistemom Android, bodite pozorni tudi na naslednje datoteke:

  • datoteka 'msgstore.db.cryptXX' (kjer je XX ena ali dve števki od 0 do 12, na primer msgstore.db.crypt12). Vsebuje šifrirano varnostno kopijo sporočil WhatsApp (datoteka varnostne kopije msgstore.db). Datoteke 'msgstore.db.cryptXX' ki se nahaja ob poti: '/data/media/0/WhatsApp/Databases/' (virtualna SD kartica), '/mnt/sdcard/WhatsApp/Databases/ (fizična kartica SD)'.
  • datoteka 'ključ'. Vsebuje kriptografski ključ. Nahaja se ob poti: '/data/data/com.whatsapp/files/'. Uporablja se za dešifriranje šifriranih varnostnih kopij WhatsApp.
  • datoteka 'com.whatsapp_preferences.xml'. Vsebuje informacije o vašem profilu računa WhatsApp. Datoteka se nahaja na poti: '/data/data/com.whatsapp/shared_prefs/'.

    Delček vsebine 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'. Vsebuje podatke o telefonski številki, povezani z računom WhatsApp. Datoteka se nahaja na poti: '/data/data/com.whatsapp/shared_prefs/'.

    Vsebina 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'. Vsebuje kriptografske ključe in druge podatke, ki so potrebni za identifikacijo lastnika računa. Nahaja se ob poti: '/data/data/com.whatsapp/databases/'.
  • datoteka 'chatsettings.db'. Vsebuje informacije o konfiguraciji aplikacije.
  • datoteka 'wa.db'. Vsebuje kontaktne podatke. Zelo zanimiva (s forenzičnega vidika) in informativna baza podatkov. Vsebuje lahko podrobne informacije o izbrisanih stikih.

Prav tako morate biti pozorni na naslednje imenike:

  • Imenik '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Vsebuje prenesene grafične datoteke.
  • Imenik '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Vsebuje glasovna sporočila v datotekah formata .OPUS.
  • Imenik '/data/data/com.whatsapp/cache/Profile Pictures/'. Vsebuje grafične datoteke – slike stikov.
  • Imenik '/data/data/com.whatsapp/files/Avatars/'. Vsebuje grafične datoteke – sličice stikov. Te datoteke imajo pripono '.j', vendar so kljub temu slikovne datoteke JPEG (JPG).
  • Imenik '/data/data/com.whatsapp/files/Avatars/'. Vsebuje grafične datoteke - sliko in sličico slike, ki jo je lastnik računa nastavil kot avatar.
  • Imenik '/data/data/com.whatsapp/files/Logs/'. Vsebuje dnevnik delovanja programa (datoteka 'whatsapp.log') in varnostne kopije dnevnikov delovanja programa (datoteke z imeni v formatu whatsapp-llll-mm-dd.1.log.gz).

Dnevniške datoteke WhatsApp:

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Delček dnevnika2017-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 z geslom manjka ali ni berljiva
2017-01-10 09:37:09.782 LL_I D [1:main] statistika Besedilna sporočila: 59 poslanih, 82 prejetih / Medijska sporočila: 1 poslano (0 bajtov), ​​0 prejetih (9850158 bajtov) / Sporočila brez povezave: 81 prejetih ( 19522 msec povprečna zakasnitev) / Storitev sporočil: 116075 poslanih bajtov, 211729 prejetih bajtov / Voip klici: 1 odhodni klic, 0 dohodnih klicev, 2492 poslanih bajtov, 1530 prejetih bajtov / Google Drive: 0 poslanih bajtov, 0 prejetih bajtov / Gostovanje: 1524 bajtov poslano, 1826 bajtov prejetih / Skupaj podatkov: 118567 bajtov poslanih, 10063417 bajtov prejetih
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/različica 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 | porabljen čas: 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

  • Imenik '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Vsebuje prejete zvočne datoteke.
  • Imenik '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Vsebuje poslane zvočne datoteke.
  • Imenik '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Vsebuje nastale grafične datoteke.
  • Imenik '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Vsebuje poslane grafične datoteke.
  • Imenik '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Vsebuje prejete video datoteke.
  • Imenik '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Vsebuje poslane video datoteke.
  • Imenik '/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/'. Vsebuje grafične datoteke, povezane z lastnikom računa WhatsApp.
  • Če želite prihraniti pomnilniški prostor na pametnem telefonu Android, lahko nekatere podatke WhatsApp shranite na kartico SD. Na kartici SD je v korenskem imeniku imenik 'WhatsApp', kjer je mogoče najti naslednje artefakte tega programa:

    WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?

  • Imenik '.Deliti' ('/mnt/sdcard/WhatsApp/.Share/'). Vsebuje kopije datotek, ki so bile v skupni rabi z drugimi uporabniki WhatsApp.
  • Imenik '.trash' ('/mnt/sdcard/WhatsApp/.trash/'). Vsebuje izbrisane datoteke.
  • Imenik 'baze podatkov' ('/mnt/sdcard/WhatsApp/Databases/'). Vsebuje šifrirane varnostne kopije. Če je datoteka prisotna, jih je mogoče dešifrirati 'ključ', izvlečen iz pomnilnika analizirane naprave.

    Datoteke v podimeniku 'baze podatkov':

    WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?

  • Imenik 'Polovica' ('/mnt/sdcard/WhatsApp/Media/'). Vsebuje podimenike 'Tapeta', 'WhatsApp Audio', 'Slike WhatsApp', 'Fotografije profila WhatsApp', 'WhatsApp Video', »Glasovni zapiski WhatsApp«, ki vsebujejo prejete in poslane multimedijske datoteke (grafične datoteke, video datoteke, glasovna sporočila, fotografije, povezane s profilom lastnika računa WhatsApp, ozadja).
  • Imenik 'Slike profila' ('/mnt/sdcard/WhatsApp/Profilne slike/'). Vsebuje grafične datoteke, povezane s profilom lastnika računa WhatsApp.
  • Včasih je na kartici SD morda prisoten imenik 'datoteke' ('/mnt/sdcard/WhatsApp/Files/'). Ta imenik vsebuje datoteke, ki shranjujejo nastavitve programa in uporabniške nastavitve.

Funkcije shranjevanja podatkov v nekaterih modelih mobilnih naprav

Nekateri modeli mobilnih naprav z operacijskim sistemom Android lahko shranjujejo artefakte WhatsApp na drugem mestu. To je posledica sprememb v prostoru za shranjevanje aplikacijskih podatkov s strani sistemske programske opreme mobilne naprave. Na primer, mobilne naprave Xiaomi imajo funkcijo za ustvarjanje drugega delovnega prostora (»SecondSpace«). Ko je ta funkcija aktivirana, se lokacija podatkov spremeni. Torej, če so v navadni mobilni napravi z operacijskim sistemom Android v imeniku shranjeni uporabniški podatki '/data/user/0/' (kar je sklicevanje na običajno '/podatki/podatki/'), potem se v drugem delovnem prostoru podatki aplikacije shranijo v imenik '/data/user/10/'. To je na primeru lokacije datoteke 'wa.db':

  • v običajnem pametnem telefonu z operacijskim sistemom Android: /data/user/0/com.whatsapp/databases/wa.db' (kar je enakovredno '/data/data/com.whatsapp/databases/wa.db');
  • v drugem delovnem prostoru pametnega telefona Xiaomi: '/data/user/10/com.whatsapp/databases/wa.db'.

Artefakti WhatsApp v napravi iOS

Za razliko od operacijskega sistema Android se v iOS aplikaciji WhatsApp podatki prenesejo v varnostno kopijo (iTunes backup). Zato ekstrahiranje podatkov iz te aplikacije ne zahteva ekstrahiranja datotečnega sistema ali ustvarjanja izpisa fizičnega pomnilnika preiskovane naprave. Večina ustreznih informacij je v bazi podatkov 'ChatStorage.sqlite', ki se nahaja ob poti: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (v nekaterih programih je ta pot prikazana kot 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').

Struktura 'ChatStorage.sqlite':

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Najbolj informativne tabele v bazi 'ChatStorage.sqlite' so 'ZWAMESSAGE' и 'ZWAMEDIAITEM'.

Videz mize 'ZWAMESSAGE':

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Struktura tabele 'ZWAMESSAGE'

Ime polja Vrednost
Z_PK zaporedno številko zapisa (v tabeli SQL)
Z_ENT identifikator tabele ima vrednost '9'
Z_OPT neznano, običajno vsebuje vrednosti od '1' do '6'
ZCHILDMESSAGESDELIVEREDCOUNT neznano, običajno vsebuje vrednost '0'
ZCHILDMESSAGESPLAYEDCOUNT neznano, običajno vsebuje vrednost '0'
ZCHILDMESSAGESREADCOUNT neznano, običajno vsebuje vrednost '0'
ZDATAITEMVERSION neznano, običajno vsebuje vrednost '3', verjetno indikator besedilnega sporočila
ZDOCID ni znano
ZENCRETRYCOUNT neznano, običajno vsebuje vrednost '0'
ZFILTEREDRECIPIENTCOUNT neznano, običajno vsebuje vrednosti '0', '2', '256'
ZISFROMME smer sporočila: '0' – dohodno, '1' – odhodno
ZMESSAGEERRORSTATUS stanje prenosa sporočila. Če je sporočilo poslano/prejeto, ima vrednost '0'
ZMESSAGETYPE vrsta sporočila, ki se prenaša
ZSORT ni znano
ZSPOTLIGHSTATUS ni znano
ZZVEZDICA neznano, neuporabljeno
ZCHATSESSION ni znano
ZGROUPMEMBER neznano, neuporabljeno
ZLASTSESSION ni znano
ZMEDIAITEM ni znano
ZMESSAGEINFO ni znano
ZPARENTMESSAGE neznano, neuporabljeno
ZMESSAGEDATE časovni žig v formatu Epoch Time OS X
ZSENTDATE čas, ko je bilo sporočilo poslano v formatu Epoch Time OS X
ZFROMJID ID pošiljatelja WhatsApp
ZMEDIASECTIONID vsebuje leto in mesec poslane medijske datoteke
ZPHASH neznano, neuporabljeno
ZPUSHPAME ime stika, ki je poslal medijsko datoteko v formatu UTF-8
ZSTANZID edinstven identifikator sporočila
ZTEKST Besedilo sporočila
ZTOJID ID prejemnika WhatsApp
OFFSET pristranskost

Videz mize 'ZWAMEDIAITEM':

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Struktura tabele 'ZWAMEDIAITEM'

Ime polja Vrednost
Z_PK zaporedno številko zapisa (v tabeli SQL)
Z_ENT identifikator tabele ima vrednost '8'
Z_OPT neznano, običajno vsebuje vrednosti od '1' do '3'.
ZCLOUDSTATUS vsebuje vrednost '4', če je datoteka naložena.
ZFILESIZE vsebuje dolžino datoteke (v bajtih) za prenesene datoteke
ZMEDIAORIGIN neznano, običajno ima vrednost '0'
ZMOVIEDURATION trajanje medijske datoteke, pri datotekah pdf lahko vsebuje število strani dokumenta
ZMESSAGE vsebuje serijsko številko (številka se razlikuje od tiste, ki je navedena v stolpcu 'Z_PK')
ZASPECTRATIO razmerje stranic, se ne uporablja, običajno nastavljeno na '0'
TOČNOST neznano, običajno ima vrednost '0'
ZLATTITUDE širina v slikovnih pikah
ZLONGTITUDE višina v slikovnih pikah
ZMEDIAURLDATE časovni žig v formatu Epoch Time OS X
ZAUTHORNAME avtor (pri dokumentih lahko vsebuje ime datoteke)
ZCOLLECTIONNAME se ne uporablja
ZMEDIALOCALPATH ime datoteke (vključno s potjo) v datotečnem sistemu naprave
ZMEDIAURL URL, kjer je bila medijska datoteka. Če je bila datoteka prenesena od enega naročnika k drugemu, je bila šifrirana in bo njena končnica navedena kot končnica prenesene datoteke - .enc
ZTHUMBNAILLLOCALPATH pot do sličice datoteke v datotečnem sistemu naprave
ZNASLOV glava datoteke
ZVCARDNAME hash medijske datoteke; pri prenosu datoteke v skupino lahko vsebuje identifikator pošiljatelja
ZVCARDSTRING vsebuje podatke o vrsti datoteke, ki se prenaša (na primer slika/jpeg); pri prenosu datoteke v skupino lahko vsebuje identifikator prejemnika
ZXMPPTHUMBPATH pot do sličice datoteke v datotečnem sistemu naprave
ZMEDIAKEY neznano, verjetno vsebuje ključ za dešifriranje šifrirane datoteke.
ZMETADATA metapodatki poslanega sporočila
Odmik pristranskost

Druge zanimive tabele baze podatkov 'ChatStorage.sqlite' so:

  • 'ZWAPROFILEPUSHNAME'. Ujema ID WhatsApp z imenom stika;
  • 'ZWAPROFILEPICTUREITEM'. Ujema WhatsApp ID z avatarjem stika;
  • 'Z_PRIMARYKEY'. Tabela vsebuje splošne informacije o tej bazi podatkov, kot je skupno število shranjenih sporočil, skupno število klepetov itd.

Ko pregledujete WhatsApp na mobilni napravi z operacijskim sistemom iOS, bodite pozorni tudi na naslednje datoteke:

  • datoteka 'BackedUpKeyValue.sqlite'. Vsebuje kriptografske ključe in druge podatke, ki so potrebni za identifikacijo lastnika računa. Nahaja se ob poti: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • datoteka 'ContactsV2.sqlite'. Vsebuje informacije o uporabnikovih stikih, kot so polno ime, telefonska številka, status stika (v besedilni obliki), WhatsApp ID itd. Nahaja se ob poti: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • datoteka 'consumer_version'. Vsebuje številko različice nameščene aplikacije WhatsApp. Nahaja se ob poti: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • datoteka 'current_wallpaper.jpg'. Vsebuje trenutno ozadje za ozadje WhatsApp. Nahaja se ob poti: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Starejše različice aplikacije uporabljajo datoteko 'tapeta', ki se nahaja ob poti: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
  • datoteka 'blockedcontacts.dat'. Vsebuje informacije o blokiranih stikih. Nahaja se ob poti: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • datoteka 'pw.dat'. Vsebuje šifrirano geslo. Nahaja se ob poti: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
  • datoteka 'net.whatsapp.WhatsApp.plist' (ali datoteka 'group.net.whatsapp.WhatsApp.shared.plist'). Vsebuje informacije o vašem profilu računa WhatsApp. Datoteka se nahaja na poti: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.

Vsebina datoteke 'group.net.whatsapp.WhatsApp.shared.plist' WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Prav tako morate biti pozorni na naslednje imenike:

  • Imenik '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Vsebuje sličice stikov, skupin (datoteke s pripono .palec), avatarji stikov, avatar lastnika računa WhatsApp (datoteka 'Photo.jpg').
  • Imenik '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Vsebuje večpredstavnostne datoteke in njihove sličice
  • Imenik '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Vsebuje dnevnik delovanja programa (datoteka 'calls.log') in varnostne kopije dnevnikov delovanja programa (datoteka 'calls.backup.log').
  • Imenik '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Vsebuje nalepke (datoteke v obliki '.webp').
  • Imenik '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Vsebuje dnevnike delovanja programa.

Artefakti WhatsApp v sistemu Windows

Artefakte WhatsApp v sistemu Windows je mogoče najti na več mestih. Najprej so to imeniki, ki vsebujejo izvedljive in pomožne programske datoteke (za Windows 8/10):

  • 'C:Program Files (x86)WhatsApp'
  • 'C:Users%User profile% AppDataLocalWhatsApp'
  • 'C:Users%User profile% AppDataLocalVirtualStore Program Files (x86)WhatsApp'

V katalogu 'C:Users%User profile% AppDataLocalWhatsApp' dnevniška datoteka se nahaja 'SquirrelSetup.log', ki vsebuje informacije o preverjanju posodobitev in namestitvi programa.

V katalogu 'C:Users%User profile% AppDataRoamingWhatsApp' Obstaja več podimenikov:

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
datoteka 'main-process.log' vsebuje informacije o delovanju programa WhatsApp.

Podimenik 'baze podatkov' vsebuje datoteko 'Databases.db', vendar ta datoteka ne vsebuje nobenih informacij o klepetih ali stikih.

S forenzičnega vidika so najbolj zanimive datoteke, ki se nahajajo v imeniku 'Predpomnilnik'. To so v bistvu poimenovane datoteke 'j********' (kjer je * številka od 0 do 9), ki vsebujejo šifrirane multimedijske datoteke in dokumente, vendar so med njimi tudi nešifrirane datoteke. Posebno zanimive so datoteke 'podatki_0', 'podatki_1', 'podatki_2', 'podatki_3', ki se nahaja v istem podimeniku. Datoteke 'podatki_0', 'podatki_1', 'podatki_3' vsebujejo zunanje povezave do poslanih šifriranih večpredstavnostnih datotek in dokumentov.

Primer informacij v datoteki 'data_1'WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Tudi datoteka 'podatki_3' lahko vsebuje grafične datoteke.

datoteka 'podatki_2' vsebuje kontaktne avatarje (lahko jih obnovite z iskanjem po glavah datotek).

Avatarji v datoteki 'podatki_2':

WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
Tako samih klepetov ni mogoče najti v pomnilniku računalnika, lahko pa najdete:

  • multimedijske datoteke;
  • dokumenti, poslani prek WhatsAppa;
  • informacije o kontaktih lastnika računa.

Artefakti WhatsApp v sistemu MacOS

V MacOS lahko najdete vrste artefaktov WhatsApp, podobne tistim v operacijskem sistemu Windows.

Programske datoteke se nahajajo v naslednjih imenikih:

  • 'C:ApplicationsWhatsApp.app'
  • 'C:Applications._WhatsApp.app'
  • 'C:Users%User profile%LibraryPreferences'
  • 'C:Uporabniki%Uporabniški profil%LibraryLogsWhatsApp'
  • 'C:Users%User profile%LibrarySaved Application StateWhatsApp.savedState'
  • 'C:Uporabniki%Uporabniški profil%LibraryApplication Scripts'
  • 'C:Users%User profile%LibraryApplication SupportCloudDocs'
  • 'C:Uporabniki%Uporabniški profil%LibraryApplication SupportWhatsApp.ShipIt'
  • 'C:Uporabniki%Uporabniški profil%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
  • 'C:Users%User profile% Library Mobile Documents <text variable> WhatsApp Accounts'
    Ta imenik vsebuje podimenike, katerih imena so telefonske številke, povezane z lastnikom računa WhatsApp.
  • 'C:Uporabniki%Uporabniški profil%LibraryCachesWhatsApp.ShipIt'
    Ta imenik vsebuje informacije o namestitvi programa.
  • 'C:Users%User profile%PicturesiPhoto Library.photolibraryMasters', 'C:Users%User profile%PicturesiPhoto Library.photolibraryThumbnails'
    Ti imeniki vsebujejo storitvene datoteke programa, vključno s fotografijami in sličicami stikov WhatsApp.
  • 'C:Users%User profile%LibraryCachesWhatsApp'
    Ta imenik vsebuje več baz podatkov SQLite, ki se uporabljajo za predpomnjenje podatkov.
  • 'C:Uporabniki%Uporabniški profil%LibraryApplication SupportWhatsApp'
    Ta imenik vsebuje več podimenikov:

    WhatsApp na dlani: kje in kako lahko najdete forenzične artefakte?
    V katalogu 'C:Uporabniki%Uporabniški profil%LibraryApplication SupportWhatsAppCache' obstajajo datoteke 'podatki_0', 'podatki_1', 'podatki_2', 'podatki_3' in datoteke z imeni 'j********' (kjer je * število od 0 do 9). Za informacije o tem, katere informacije vsebujejo te datoteke, glejte Artefakti WhatsApp v sistemu Windows.

    V katalogu 'C:Uporabniki%Uporabniški profil%LibraryApplication SupportWhatsAppIndexedDB' lahko vsebuje multimedijske datoteke (datoteke nimajo končnic).

    datoteka 'main-process.log' vsebuje informacije o delovanju programa WhatsApp.

viri

  1. Forenzična analiza WhatsApp Messengerja na pametnih telefonih Android, Cosimo Anglano, 2014.
  2. Forenzika Whatsapp: Raziskovalni sistem berkas in osnovni podatki v aplikacijah za Android in iOS avtor Ahmad Pratama, 2014.

V naslednjih člankih v tej seriji:

Dešifriranje šifriranih baz podatkov WhatsAppČlanek, ki bo zagotovil informacije o tem, kako se ustvari šifrirni ključ WhatsApp, in praktične primere, ki prikazujejo, kako dešifrirati šifrirane baze podatkov te aplikacije.
Pridobivanje podatkov WhatsApp iz shrambe v oblakuČlanek, v katerem vam bomo povedali, kateri podatki WhatsApp so shranjeni v oblakih, in opisali metode za pridobivanje teh podatkov iz shramb v oblaku.
Pridobivanje podatkov WhatsApp: Praktični primeriČlanek, ki bo korak za korakom opisal, kateri programi in kako ekstrahirati podatke WhatsApp iz različnih naprav.

Vir: www.habr.com

Dodaj komentar