WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?

Chcete se dozvědět, jaké typy forenzních artefaktů WhatsApp existují v různých operačních systémech a kde je lze najít? Pak jste na správném místě. Tento článek přináší odborník z Laboratoře počítačové forenziky Group-IB. Igor Michajlov zahajuje sérii publikací o forenzním zkoumání WhatsApp a o tom, jaké informace lze získat analýzou zařízení.

Hned na úvod je třeba poznamenat, že různé operační systémy uchovávají různé typy artefaktů WhatsApp a pokud může vyšetřovatel z jednoho zařízení extrahovat určité typy dat WhatsApp, neznamená to, že podobné typy dat lze extrahovat z jiného zařízení. Například pokud je zabavena pracovní stanice s operačním systémem Windows, pravděpodobně na jejích discích nebudou nalezeny chaty WhatsApp (s výjimkou záloh zařízení iOS, které mohou být na těchto stejných discích zachyceny). Při zabavení notebooků a mobilních zařízení existují specifika. Pojďme si je představit podrobněji.

Artefakty WhatsApp v zařízení Android

Aby mohl vyšetřovatel extrahovat artefakty WhatsApp z zařízení s operačním systémem Android, musí mít administrátorská práva ('root') na zkoumaném zařízení nebo mít jinou možnost, jak získat fyzickou paměťovou kopii zařízení nebo jeho souborového systému (například využitím softwarových zranitelností konkrétního mobilního zařízení).

Soubory aplikace se nacházejí v paměti telefonu v oddílu, kde jsou uchovávána data uživatelů. Obvykle je tento oddíl nazýván 'userdata'. Podadresáře a soubory programu se nacházejí na cestě: '/data/data/com.whatsapp/'.

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Hlavními soubory, které obsahují forenzní artefakty WhatsApp na operačním systému Android, jsou databáze 'wa.db' a 'msgstore.db'.

V databázi 'wa.db' se nachází kompletní seznam kontaktů uživatele WhatsApp, včetně telefonního čísla, zobrazovaného jména, časových značek a jakýchkoli dalších informací uvedených při registraci WhatsApp. Soubor 'wa.db' se nachází na cestě: '/data/data/com.whatsapp/databases/' a má následující strukturu:

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Nejzajímavějšími tabulkami v databázi 'wa.db' pro vyšetřovatele jsou:

  • 'wa_contacts'
    Tato tabulka obsahuje informace o kontaktech: id kontaktu na WhatsApp, informace o stavu, zobrazené uživatelské jméno, časové údaje atd.

    Vzhled tabulky:

    WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
    Struktura tabulky

    Název poleHodnota
    _idpořadové číslo záznamu (v SQL tabulce)
    jidWhatsApp ID kontaktu, zapisuje se ve formátu @s.whatsapp.net
    is_whatsapp_userobsahuje '1', pokud kontakt odpovídá skutečnému uživateli WhatsApp, '0' v opačném případě
    statusobsahuje text, který je zobrazen ve stavu kontaktu
    status_timestampobsahuje časovou značku ve formátu Unix Epoch Time (ms)
    numberčíslo telefonu, asociované s kontaktem
    raw_contact_idpořadové číslo kontaktu
    display_namezobrazené jméno kontaktu
    phone_typetyp telefonu
    phone_labelnázev, asociovaný s číslem kontaktu
    unseen_msg_countpočet zpráv, které byly poslány kontaktem, ale nebyly přečteny příjemcem
    photo_tsobsahuje časovou značku ve formátu Unix Epoch Time
    thumb_tsobsahuje časovou značku ve formátu Unix Epoch Time
    photo_id_timestampobsahuje časovou značku ve formátu Unix Epoch Time (ms)
    given_namehodnota pole se shoduje s 'display_name' pro každý kontakt
    wa_namejméno kontaktu na WhatsApp (zobrazuje se jméno uvedené v profilu kontaktu)
    sort_namejméno kontaktu používané v operacích třídění
    nicknamepřezdívka kontaktu na WhatsApp (zobrazuje se přezdívka uvedená v profilu kontaktu)
    companyfirma (zobrazuje se firma uvedená v profilu kontaktu)
    titleoslovení (paní/pan; zobrazuje se oslovení nastavené v profilu kontaktu)
    offsetposunutí
  • 'sqlite_sequence'
    Tato tabulka obsahuje informace o počtu kontaktů;
  • 'android_metadata'
    Tato tabulka obsahuje informace o jazykové lokalizaci WhatsApp.

V databázi 'msgstore.db' obsahuje informace o odeslaných zprávách, jako je číslo kontaktní osoby, text zprávy, stav zprávy, časové údaje, informace o odeslaných souborech obsažených v zprávách atd. Soubor 'msgstore.db' se nachází na cestě: '/data/data/com.whatsapp/databases/' a má následující strukturu:

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Nejzajímavější tabulky v souboru 'msgstore.db' pro vyšetřovatele jsou:

  • 'sqlite_sequence'
    Tato tabulka obsahuje obecné informace o této databázi, například celkový počet uložených zpráv, celkový počet chatů atd.

    Vzhled tabulky:

    WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?

  • 'message_fts_content'
    Obsahuje text odeslaných zpráv.

    Vzhled tabulky:

    WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?

  • 'messages'
    Tato tabulka obsahuje informace, jako je číslo kontaktu, text zprávy, stav zprávy, časové údaje, informace o odeslaných souborech obsažených v zprávách.

    Vzhled tabulky:

    WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
    Struktura tabulky

    Název poleHodnota
    _idpořadové číslo záznamu (v SQL tabulce)
    key_remote_jidWhatsApp ID partnera v komunikaci
    key_from_mesměr zprávy: '0' – příchozí, '1' — odchozí
    key_idunikátní identifikátor zprávy
    statusstav zprávy: '0' – doručeno, '4' – čeká na serveru, '5' – doručeno na místo určení, '6' – kontrolní zpráva, '13' – zpráva byla otevřena příjemcem (přečtena)
    need_pushmá hodnotu '2', pokud se jedná o hromadnou zprávu, jinak obsahuje '0'
    datatext zprávy (když je parametr 'media_wa_type' roven '0')
    timestampobsahuje časovou značku ve formátu Unix Epoch Time (ms), hodnota se přebírá z hodin zařízení
    media_urlobsahuje URL přenášeného souboru (když je parametr 'media_wa_type' roven '1', '2', '3')
    media_mime_typeMIME typ přenášeného souboru (když je parametr 'media_wa_type' roven '1', '2', '3')
    media_wa_typetyp zprávy: '0' – text, '1' – grafický soubor, '2' – audio soubor, '3' – video soubor, '4' – kontaktní karta, '5' – geografická data
    media_sizevelikost přenášeného souboru (když je parametr 'media_wa_type' roven '1', '2', '3')
    media_namenázev přenášeného souboru (když je parametr 'media_wa_type' roven '1', '2', '3')
    media_captionObsahuje slova 'audio', 'video' pro odpovídající hodnoty parametru 'media_wa_type' (když je parametr 'media_wa_type' roven '1', '3')
    media_hashzakódovaný v base64 hash přenášeného souboru, vypočtený pomocí algoritmu HASH-256 (když je parametr 'media_wa_type' roven '1', '2', '3')
    media_durationdoba trvání v sekundách pro mediální soubor (když je parametr 'media_wa_type' roven '1', '2', '3')
    originmá hodnotu '2', pokud se jedná o hromadnou zprávu, jinak obsahuje '0'
    latitudegeografická data: zeměpisná šířka (když je parametr 'media_wa_type' roven '5')
    longitudegeografická data: zeměpisná délka (když je parametr 'media_wa_type' roven '5')
    thumb_imageslužební informace
    remote_recourceID odesílatele (pouze pro skupinové chaty)
    received_timestampčas příjmu, obsahuje časovou značku ve formátu Unix Epoch Time (ms), hodnota se přebírá z hodin zařízení (když parametr 'key_from_me' má '0', '-1' nebo jinou hodnotu)
    send_timestampnení používán, obvykle má hodnotu '-1'
    receipt_server_timestampčas příjmu centrálním serverem, obsahuje časovou značku ve formátu Unix Epoch Time (ms), hodnota se přebírá z hodin zařízení (když parametr 'key_from_me' má '1', '-1' nebo jinou hodnotu)
    receipt_device_timestampčas příjmu zprávy jiným účastníkem, obsahuje časovou značku ve formátu Unix Epoch Time (ms), hodnota se přebírá z hodin zařízení (když parametr 'key_from_me' má '1', '-1' nebo jinou hodnotu)
    read_device_timestampčas otevření (čtení) zprávy, obsahuje časovou značku ve formátu Unix Epoch Time (ms), hodnota je převzata z hodin zařízení
    played_device_timestampčas přehrávání zprávy, obsahuje časovou značku ve formátu Unix Epoch Time (ms), hodnota je převzata z hodin zařízení
    raw_dataminiatura přenášeného souboru (když je parametr ‘media_wa_type’ roven ‘1’ nebo ‘3’)
    recipient_countpočet příjemců (pro hromadné zprávy)
    participant_hashpoužívá se při přenosu zpráv s geografickými daty
    starrednepoužívá
    quoted_row_idneznámé, obvykle obsahuje hodnotu ‘0’
    mentioned_jidsnepoužívá
    multicast_idnepoužívá
    offsetposunutí

    Tento seznam polí není vyčerpávající. U různých verzí WhatsApp mohou některá pole být přítomna nebo chybět. Mohou být také přítomna další pole ‘media_enc_hash’, ‘edit_version’, ‘payment_transaction_id’ atd.

  • ‘messages_thumbnails’
    Tato tabulka obsahuje informace o přenesených obrázcích a časové značky. Ve sloupci ‘timestamp’ je čas uveden ve formátu Unix Epoch Time (ms).
  • ‘chat_list’
    Tato tabulka obsahuje informace o chatech.

    Vzhled tabulky:

    WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?

Při zkoumání WhatsApp na mobilním zařízení s operačním systémem Android je třeba věnovat pozornost následujícím souborům:

  • Soubor ‘msgstore.db.cryptXX’ (kde XX – jedna nebo dvě číslice od 0 do 12, například msgstore.db.crypt12). Obsahuje šifrovanou zálohu zpráv WhatsApp (zálohu souboru msgstore.db). Soubor (nebo soubory) ‘msgstore.db.cryptXX’ se nachází na cestě: ‘/data/media/0/WhatsApp/Databases/’ (virtuální SD karta), ‘/mnt/sdcard/WhatsApp/Databases/ (fyzičká SD karta)’.
  • Soubor ‘key’. Obsahuje kryptografický klíč. Nachází se na cestě: ‘/data/data/com.whatsapp/files/’. Používá se k dešifrování šifrovaných záloh WhatsApp.
  • Soubor ‘com.whatsapp_preferences.xml’. Obsahuje informace o profilu účtu WhatsApp. Soubor se nachází na cestě: ‘/data/data/com.whatsapp/shared_prefs/’.

    Fragment obsahu souboru

    …
    9123456789 (telefonní číslo asociované s účtem WhatsApp)
    …
    2.17.395 (verze WhatsApp)
    …
    Ahoj! Používám WhatsApp. (zpráva zobrazená ve stavu účtu)
    …
    Alex (jméno vlastníka účtu)
    … 
  • Soubor ‘registration.RegisterPhone.xml’. Obsahuje informace o telefonním čísle asociovaném s účtem WhatsApp. Soubor se nachází na cestě: ‘/data/data/com.whatsapp/shared_prefs/’.

    Obsah souboru

    
    9123456789
    
    
    912 345-67-89
    
    7
    7
    
  • Soubor 'axolotl.db'. Obsahuje šifrovací klíče a další údaje potřebné k identifikaci majitele účtu. Nachází se na cestě: '/data/data/com.whatsapp/databases/'.
  • Soubor 'chatsettings.db'. Obsahuje informace o konfiguraci aplikace.
  • Soubor 'wa.db'. Obsahuje podrobnosti o kontaktech. Velmi zajímavá (z forenzního hlediska) a informativní databáze. Může obsahovat podrobné informace o smazaných kontaktech.

Je také třeba věnovat pozornost následujícím adresářům:

  • Katalog '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Obsahuje přenesené grafické soubory.
  • Katalog '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Obsahuje hlasové zprávy ve formátu .OPUS.
  • Katalog '/data/data/com.whatsapp/cache/Profile Pictures/'. Obsahuje grafické soubory – obrázky kontaktů.
  • Katalog '/data/data/com.whatsapp/files/Avatars/'. Obsahuje grafické soubory – miniatury obrázků kontaktů. Tyto soubory mají příponu '.j', ale jsou grafickými soubory formátu JPEG (JPG).
  • Katalog '/data/data/com.whatsapp/files/Avatars/'. Obsahuje grafické soubory – obrázek a miniaturu obrázku, který byl nastaven jako avatar majitelem účtu.
  • Katalog '/data/data/com.whatsapp/files/Logs/'. Obsahuje protokolování práce programu (soubor 'whatsapp.log') a zálohy protokolu (soubory s názvy ve formátu whatsapp-gggg-mm-dd.1.log.gz).

Protokoly WhatsApp:

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Úryvek protokolu2017-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] password file missing or unreadable
2017-01-10 09:37:09.782 LL_I D [1:main] statistics Text Messages: 59 sent, 82 received / Media Messages: 1 sent (0 bytes), 0 received (9850158 bytes) / Offline Messages: 81 received (19522 msec average delay) / Message Service: 116075 bytes sent, 211729 bytes received / Voip Calls: 1 outgoing calls, 0 incoming calls, 2492 bytes sent, 1530 bytes received / Google Drive: 0 bytes sent, 0 bytes received / Roaming: 1524 bytes sent, 1826 bytes received / Total Data: 118567 bytes sent, 10063417 bytes received
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/version 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 | time spent: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

  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/’. Obsahuje přijaté audio soubory.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/’. Obsahuje odeslané audio soubory.
  • Katalog '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Obsahuje přijaté grafické soubory.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/’. Obsahuje odeslané grafické soubory.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Video/’. Obsahuje přijaté video soubory.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/’. Obsahuje odeslané video soubory.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/’. Obsahuje grafické soubory asociované s vlastníkem účtu WhatsApp.
  • Aby se ušetřilo místo v paměti Android smartphonu, část dat WhatsApp může být uložena na SD kartě. V kořenovém adresáři SD karty je umístěn adresář ‘WhatsApp’, kde lze nalézt následující artefakty této aplikace:

    WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?

  • Katalog ‘.Share’ (‘/mnt/sdcard/WhatsApp/.Share/’). Obsahuje kopie souborů, které byly předány jiným uživatelům WhatsApp.
  • Katalog ‘.trash’ (‘/mnt/sdcard/WhatsApp/.trash/’). Obsahuje smazané soubory.
  • Katalog ‘Databases’ (‘/mnt/sdcard/WhatsApp/Databases/’). Obsahuje šifrované zálohy. Ty mohou být dešifrovány za předpokladu, že je k dispozici soubor ‘key’, vyextrahovaný z paměti analyzovaného zařízení.

    Soubory, které se nacházejí v podadresáři ‘Databases’:

    WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?

  • Katalog ‘Media’ (‘/mnt/sdcard/WhatsApp/Media/’). Obsahuje podkatalogy ‘WallPaper’, ‘WhatsApp Audio’, ‘WhatsApp Images’, ‘WhatsApp Profile Photos’, ‘WhatsApp Video’, ‘WhatsApp Voice Notes’, ve kterých se nacházejí přijaté a odeslané multimediální soubory (grafické soubory, videa, hlasové zprávy, fotografie spojené s profilem vlastníka účtu WhatsApp, tapety).
  • Katalog ‘Profile Pictures’ (‘/mnt/sdcard/WhatsApp/Profile Pictures/’). Obsahuje grafické soubory spojené s profilem vlastníka účtu WhatsApp.
  • Někdy může na SD kartě být přítomen katalog ‘files’ (‘/mnt/sdcard/WhatsApp/Files/’). V tomto adresáři jsou soubory, které ukládají nastavení aplikace a uživatelské preference.

Specifika ukládání dat v některých modelech mobilních zařízení

V některých modelech mobilních zařízení s operačním systémem Android mohou být artefakty WhatsApp uloženy na jiném místě. To je způsobeno změnou úložiště aplikací systémovým softwarem mobilního zařízení. Například v mobilních zařízeních Xiaomi existuje funkce pro vytvoření druhého pracovního prostoru („SecondSpace”). Aktivací této funkce se mění umístění dat. Takže, pokud v běžném mobilním zařízení s operačním systémem Android jsou uživatelská data uložena v adresáři ‘/data/user/0/’ (což je odkaz na obvyklé ‘/data/data/’), tak ve druhém pracovním prostoru jsou data aplikací uložena v adresáři ‘/data/user/10/’. To znamená, že na příkladu umístění souboru 'wa.db':

  • v běžném chytrém telefonu s operačním systémem Android: /data/user/0/com.whatsapp/databases/wa.db’ (což odpovídá ‘/data/data/com.whatsapp/databases/wa.db’);
  • ve druhém pracovním prostoru smartphonu Xiaomi: ‘/data/user/10/com.whatsapp/databases/wa.db’.

Artefakty WhatsApp v zařízení iOS

Na rozdíl od Androidu, v iOS se data aplikace WhatsApp přenášejí do zálohy (záloha iTunes). Proto není nutné extrahovat data této aplikace pomocí souborového systému nebo vytvářením fyzického dumpu paměti zkoumaného zařízení. Většina významných informací je obsažena v databázi ‘ChatStorage.sqlite’, která se nachází na cestě: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/’ (v některých aplikacích je tato cesta zobrazena jako ‘AppDomainGroup-group.net.whatsapp.WhatsApp.shared’).

Struktura ‘ChatStorage.sqlite’:

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Nejlčhčší přehledné informace v databázi ‘ChatStorage.sqlite’ jsou v tabulkách ‘ZWAMESSAGE’ a ‘ZWAMEDIAITEM’.

Vzhled tabulky ‘ZWAMESSAGE’:

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Struktura tabulky 'ZWAMESSAGE'

Název poleHodnota
Z_PKpořadové číslo záznamu (v SQL tabulce)
Z_ENTidentifikátor tabulky, má hodnotu '9'
Z_OPTneznámé, obvykle obsahuje hodnoty od '1' do '6'
ZCHILDMESSAGESDELIVEREDCOUNTneznámé, obvykle obsahuje hodnotu ‘0’
ZCHILDMESSAGESPLAYEDCOUNTneznámé, obvykle obsahuje hodnotu ‘0’
ZCHILDMESSAGESREADCOUNTneznámé, obvykle obsahuje hodnotu ‘0’
ZDATAITEMVERSIONneznámé, obvykle obsahuje hodnotu '3', pravděpodobně je ukazatelem textové zprávy
ZDOCIDneznámo
ZENCRETRYCOUNTneznámé, obvykle obsahuje hodnotu ‘0’
ZFILTEREDRECIPIENTCOUNTneznámé, obvykle obsahuje hodnoty '0', '2', '256'
ZISFROMMEsměr zprávy: '0' – příchozí, '1' — odchozí
ZMESSAGEERRORSTATUSstav přenosu zprávy. Pokud byla zpráva odeslána/přijata, má hodnotu '0'
ZMESSAGETYPEtyp přenášené zprávy
ZSORTneznámo
ZSPOTLIGHSTATUSneznámo
ZSTARREDneznámé, nepoužívá se
ZCHATSESSIONneznámo
ZGROUPMEMBERneznámé, nepoužívá se
ZLASTSESSIONneznámo
ZMEDIAITEMneznámo
ZMESSAGEINFOneznámo
ZPARENTMESSAGEneznámé, nepoužívá se
ZMESSAGEDATEčasová značka ve formátu OS X Epoch Time
ZSENTDATEčas odeslání zprávy ve formátu OS X Epoch Time
ZFROMJIDWhatsApp ID odesílatele
ZMEDIASECTIONIDobsahuje rok a měsíc odeslání mediálního souboru
ZPHASHneznámé, nepoužívá se
ZPUSHPAMEjméno kontaktu, který odeslal mediální soubor ve formátu UTF-8
ZSTANZIDunikátní identifikátor zprávy
ZTEXTtext zprávy
ZTOJIDWhatsApp ID příjemce
OFFSETposunutí

Vzhled tabulky ‘ZWAMEDIAITEM’:

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Struktura tabulky 'ZWAMEDIAITEM'

Název poleHodnota
Z_PKpořadové číslo záznamu (v SQL tabulce)
Z_ENTidentifikátor tabulky, má hodnotu '8'
Z_OPTneznámé, obvykle obsahuje hodnoty od '1' do '3'.
ZCLOUDSTATUSobsahuje hodnotu '4', pokud byl soubor nahrán.
ZFILESIZEobsahuje délku souboru (v bajtech) pro nahrané soubory
ZMEDIAORIGINneznámé, obvykle má hodnotu '0'
ZMOVIEDURATIONdélka mediálního souboru, pro pdf soubory může obsahovat počet stran dokumentu
ZMESSAGEobsahuje pořadové číslo (ná číslo se liší od toho, které je uvedeno ve sloupci 'Z_PK')
ZASPECTRATIOpoměr stran, nepoužívá se, obvykle má hodnotu '0'
ZHACCURACYneznámé, obvykle má hodnotu '0'
ZLATTITUDEšířka v pixelech
ZLONGTITUDEvýška v pixelech
ZMEDIAURLDATEčasová značka ve formátu OS X Epoch Time
ZAUTHORNAMEautor (pro dokumenty, může obsahovat název souboru)
ZCOLLECTIONNAMEnepoužívá
ZMEDIALOCALPATHnázev souboru (s uvedením cesty) v souborovém systému zařízení
ZMEDIAURLURL, na kterém se nacházel mediální soubor. Pokud byl soubor přenesen od jednoho uživatele k druhému, byl zašifrován a jeho přípona bude uvedena jako přípona přenášeného souboru — .enc
ZTHUMBNAILLOCALPATHcesta k miniatuře souboru v souborovém systému zařízení
ZTITLEnázev souboru
ZVCARDNAMEhash mediálního souboru, při přenosu souboru do skupiny může obsahovat identifikátor odesílatele
ZVCARDSTRINGobsahuje informace o typu přenášeného souboru (např. image/jpeg), při přenosu souboru do skupiny může obsahovat identifikátor příjemce
ZXMPPTHUMBPATHcesta k miniatuře souboru v souborovém systému zařízení
ZMEDIAKEYneznámé, pravděpodobně obsahuje klíč pro dešifrování zašifrovaného souboru.
ZMETADATAmetadata přenášené zprávy
Offsetposunutí

Další zajímavé tabulky databáze ‘ChatStorage.sqlite’ jsou:

  • ‘ZWAPROFILEPUSHNAME’. Přiřazuje WhatsApp ID k jménu kontaktu;
  • ‘ZWAPROFILEPICTUREITEM’. Přiřazuje WhatsApp ID k avataru kontaktu;
  • ‘Z_PRIMARYKEY’. Tabulka obsahuje obecné informace o této databázi, jako je celkový počet uložených zpráv, celkový počet chatů atd.

Také při prozkoumávání WhatsApp v mobilním zařízení s iOS je třeba věnovat pozornost následujícím souborům:

  • Soubor ‘BackedUpKeyValue.sqlite’. Obsahuje šifrovací klíče a další údaje potřebné k identifikaci majitele účtu. Nachází se na cestě: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Soubor ‘ContactsV2.sqlite’. Obsahuje informace o kontaktech uživatele, jako jsou jména, telefonní číslo, stav kontaktu (ve formě textu), WhatsApp ID atd. Nachází se na cestě: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Soubor ‘consumer_version’. Obsahuje číslo verze nainstalované aplikace WhatsApp. Nachází se na cestě: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Soubor ‘current_wallpaper.jpg’. Obsahuje aktuální pozadí programu WhatsApp. Nachází se na cestě: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Ve starších verzích aplikace se používá soubor ‘wallpaper’, který se nachází na cestě: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’.
  • Soubor ‘blockedcontacts.dat’. Obsahuje informace o zablokovaných kontaktech. Nachází se na cestě: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • Soubor ‘pw.dat’. Obsahuje zašifrované heslo. Nachází se na cestě: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/’.
  • Soubor ‘net.whatsapp.WhatsApp.plist’ (nebo soubor ‘group.net.whatsapp.WhatsApp.shared.plist’). Obsahuje informace o profilu účtu WhatsApp. Soubor se nachází na cestě: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/’.

Obsah souboru ‘group.net.whatsapp.WhatsApp.shared.plist’ WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Je také třeba věnovat pozornost následujícím adresářům:

  • Katalog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/’. Obsahuje miniatury kontaktů, skupin (souborů s příponou .thumb), avatary kontaktů, avatar vlastníka účtu WhatsApp (soubor ‘Photo.jpg’).
  • Katalog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ Message/Media/’. Obsahuje multimediální soubory a jejich miniatury.
  • Katalog ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’. Obsahuje protokol činnosti programu (soubor ‘calls.log’) a zálohy protokolů činnosti programu (soubor ‘calls.backup.log’).
  • Katalog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/’. Obsahuje samolepky (soubory ve formátu ‘.webp’).
  • Katalog ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/’. Obsahuje protokoly činnosti programu.

Artefakty WhatsApp v systému Windows

Artefakty WhatsApp v systému Windows lze nalézt na několika místech. Především to jsou adresáře obsahující spustitelné a pomocné soubory programu (pro Windows 8/10):

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

V adresáři ‘C:Users%User profile% AppDataLocalWhatsApp’ nachází se logovací soubor ‘SquirrelSetup.log’, ve kterém se nacházejí informace o kontrole dostupnosti aktualizací a instalaci programu.

V adresáři ‘C:Users%User profile% AppDataRoamingWhatsApp’ nachází se několik podadresářů:

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Soubor ‘main-process.log’ obsahuje informace o činnosti programu WhatsApp.

Podadresář ‘databases’ obsahuje soubor ‘Databases.db’, ale tento soubor neobsahuje žádné informace o chatech nebo kontaktech.

Nejzajímavější z kriminalistického hlediska jsou soubory nacházející se v adresáři ‘Cache’. V zásadě se jedná o soubory s názvy ‘f_*******’ (kde * — číslo od 0 do 9), obsahující zašifrované multimediální soubory a dokumenty, ale mezi nimi se nacházejí i nezašifrované soubory. Zvláštní zájem vzbuzují soubory ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’, nacházející se v tomto stejném podadresáři. Soubory ‘data_0’, ‘data_1’, ‘data_3’ obsahují externí odkazy na předávané zašifrované multimediální soubory a dokumenty.

Příklad informací obsažených v souboru ‘data_1’WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Také soubor ‘data_3’ může obsahovat grafické soubory.

Soubor ‘data_2’ obsahuje avatary kontaktů (mohou být obnoveny vyhledáváním podle názvů souborů).

Avatary obsažené v souboru ‘data_2’:

WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
Tím pádem nelze v paměti počítače najít samotné chaty, ale lze najít:

  • multimediální soubory;
  • dokumenty, které byly předávány pomocí WhatsApp;
  • informace o kontaktech majitele účtu.

Artefakty WhatsApp v MacOS

V MacOS lze najít typy artefaktů WhatsApp, podobné těm, které jsou v OS Windows.

Soubory programu se nachází v adresářích:

  • ‘C:ApplicationsWhatsApp.app’
  • ‘C:Applications._WhatsApp.app’
  • ‘C:Users%User profile%LibraryPreferences’
  • ‘C:Users%User profile%LibraryLogsWhatsApp’
  • ‘C:Users%User profile%LibrarySaved Application StateWhatsApp.savedState’
  • ‘C:Users%User profile%LibraryApplication Scripts’
  • ‘C:Users%User profile%LibraryApplication SupportCloudDocs’
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp.ShipIt’
  • ‘C:Users%User profile%LibraryContainerscom.rockysandstudio.app-for-whatsapp’
  • ‘C:Users%User profile% Library Mobile Documents WhatsApp Accounts’
    V tomto adresáři se nacházejí podadresáře, jejichž názvy představují telefonní čísla spojená s majitelem účtu WhatsApp.
  • ‘C:Users%User profile%LibraryCachesWhatsApp.ShipIt’
    V tomto adresáři se nachází informace o instalaci programu.
  • ‘C:Users%User profile%PicturesKnihovna médií iPhoto.photolibraryMasters’, ‘C:Users%User profile%PicturesKnihovna médií iPhoto.photolibraryThumbnails’
    V těchto adresářích se nacházejí systémové soubory programu, včetně fotografií a miniatur kontaktů WhatsApp.
  • ‘C:Users%User profile%LibraryCachesWhatsApp’
    V tomto adresáři se nachází několik SQLite databází, které se používají pro ukládání dat do mezipaměti.
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp’
    V tomto adresáři se nachází několik podadresářů:

    WhatsApp na dosah: kde a jak lze odhalit kriminalistické artefakty?
    V adresáři ‘C:Users%User profile%LibraryApplication SupportWhatsAppCache’ se nacházejí soubory ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’ a soubory s názvy ‘f_*******’ (kde * je číslo od 0 do 9). Informace o tom, jaké údaje tyto soubory obsahují, jsou popsány v části „Artefakty WhatsApp ve Windows.“

    V adresáři ‘C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB’ mohou obsahovat multimediální soubory (soubory nemají přípony).

    Soubor ‘main-process.log’ obsahuje informace o činnosti programu WhatsApp.

Zdroje

  1. Forenzní analýza WhatsApp Messenger na chytrých telefonech s Androidem, autor Cosimo Anglano, 2014.
  2. Forenzní vyšetřování WhatsApp: Prozkoumání systémových souborů a databází na aplikaci Android a iOS, autor Ahmad Pratama, 2014.

V následujících článcích této série:

Dekódování šifrovaných databází WhatsAppČlánek, ve kterém budou uvedeny informace o tom, jak dochází k generování klíče šifrování WhatsApp, a poskytnuty praktické příklady, které ukazují, jak provést dekódování šifrovaných databází této aplikace.
Extrakce dat WhatsApp z cloudových úložišťČlánek, ve kterém popíšeme, jaká data WhatsApp jsou uložena v cloudu, a přehled metod pro extrakci těchto dat z cloudových úložišť.
Extrakce dat WhatsApp: praktické příkladyČlánek, ve kterém bude krok za krokem popsáno, jakými programy a jak provést extrakci dat WhatsApp z různých zařízení.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster