WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?

Pokud chcete vědět, jaké typy forenzních artefaktů WhatsApp existují na různých operačních systémech a kde přesně je lze nalézt, pak je toto místo pro vás. Tento článek je od specialisty na Group-IB Computer Forensics Laboratory Igor Michajlov zahajuje sérii příspěvků o forenzní analýze WhatsApp a o tom, jaké informace lze získat z analýzy zařízení.

Okamžitě si všimněme, že různé operační systémy ukládají různé typy artefaktů WhatsApp, a pokud výzkumník dokáže extrahovat určité typy dat WhatsApp z jednoho zařízení, neznamená to, že podobné typy dat lze extrahovat z jiného zařízení. Pokud je například odebrána systémová jednotka s operačním systémem Windows, chaty WhatsApp se na jejích discích pravděpodobně nenajdou (s výjimkou záložních kopií zařízení iOS, které lze nalézt na stejných discích). Zabavení notebooků a mobilních zařízení bude mít své vlastní charakteristiky. Promluvme si o tom podrobněji.

Artefakty WhatsApp v zařízení Android

Aby bylo možné extrahovat artefakty WhatsApp ze zařízení Android, musí mít výzkumník práva superuživatele ('vykořenit') na vyšetřovaném zařízení nebo být schopen jinak extrahovat výpis fyzické paměti zařízení nebo jeho souborového systému (například pomocí zranitelností softwaru konkrétního mobilního zařízení).

Soubory aplikací jsou umístěny v paměti telefonu v sekci, ve které jsou uložena uživatelská data. Tato sekce je zpravidla pojmenována 'uživatelská data'. Podadresáře a programové soubory jsou umístěny podél cesty: '/data/data/com.whatsapp/'.

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Hlavní soubory, které obsahují forenzní artefakty WhatsApp v OS Android, jsou databáze 'wa.db' и 'msgstore.db'.

V databázi 'wa.db' obsahuje úplný seznam kontaktů uživatele WhatsApp, včetně telefonního čísla, zobrazovaného jména, časových razítek a jakýchkoli dalších informací poskytnutých při registraci do WhatsApp. Soubor 'wa.db' nachází se podél cesty: '/data/data/com.whatsapp/databases/' a má následující strukturu:

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Nejzajímavější tabulky v databázi 'wa.db' pro výzkumníka jsou:

  • 'wa_contacts'
    Tato tabulka obsahuje kontaktní informace: ID kontaktu WhatsApp, informace o stavu, zobrazované jméno uživatele, časová razítka atd.

    Vzhled stolu:

    WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
    Struktura tabulky

    Název pole Hodnota
    _id pořadové číslo záznamu (v SQL tabulce)
    jid ID kontaktu WhatsApp, zapsané ve formátu <telefonní číslo>@s.whatsapp.net
    is_whatsapp_user obsahuje '1', pokud kontakt odpovídá skutečnému uživateli WhatsApp, v opačném případě '0'
    postavení obsahuje text zobrazený ve stavu kontaktu
    stavové_časové razítko obsahuje časové razítko ve formátu Unix Epoch Time (ms).
    číslo telefonní číslo spojené s kontaktem
    raw_contact_id kontaktujte sériové číslo
    DISPLAY_NAME zobrazované jméno kontaktu
    typ_telefonu typ telefonu
    štítek_telefonu štítek spojený s kontaktním číslem
    unseen_msg_count počet zpráv, které byly odeslány kontaktem, ale nebyly přečteny příjemcem
    photo_ts obsahuje časové razítko ve formátu Unix Epoch Time
    thumb_ts obsahuje časové razítko ve formátu Unix Epoch Time
    photo_id_timestamp obsahuje časové razítko ve formátu Unix Epoch Time (ms).
    křestní jméno hodnota pole odpovídá 'display_name' pro každý kontakt
    wa_name Jméno kontaktu WhatsApp (zobrazí se jméno uvedené v profilu kontaktu)
    název_řazení jméno kontaktu používané v operacích řazení
    přezdívka přezdívka kontaktu v WhatsApp (zobrazí se přezdívka uvedená v profilu kontaktu)
    společnost firma (zobrazí se firma uvedená v profilu kontaktu)
    titul titul (paní/pan; zobrazí se titul nakonfigurovaný v profilu kontaktu)
    ofset vysídlení
  • '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 kontaktní číslo, text zprávy, stav zprávy, časová razítka, podrobnosti o přenesených souborech obsažených ve zprávách atd. Soubor 'msgstore.db' nachází se podél cesty: '/data/data/com.whatsapp/databases/' a má následující strukturu:

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Nejzajímavější tabulky v souboru 'msgstore.db' pro výzkumníka jsou:

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

    Vzhled stolu:

    WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?

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

    Vzhled stolu:

    WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?

  • 'zprávy'
    Tato tabulka obsahuje informace jako kontaktní číslo, text zprávy, stav zprávy, časová razítka, informace o přenesených souborech obsažených ve zprávách.

    Vzhled stolu:

    WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
    Struktura tabulky

    Název pole Hodnota
    _id pořadové číslo záznamu (v SQL tabulce)
    key_remote_jid WhatsApp ID komunikačního partnera
    key_from_me směr zprávy: '0' – příchozí, '1' – odchozí
    key_id jedinečný identifikátor zprávy
    postavení stav zprávy: '0' – doručena, '4' – čekání na serveru, '5' – přijata na místě určení, '6' – kontrolní zpráva, '13' – zpráva otevřena příjemcem (přečtena)
    need_push má hodnotu '2', pokud se jedná o vysílanou zprávu, jinak obsahuje '0'
    datum text zprávy (když parametr 'media_wa_type' je '0')
    timestamp obsahuje časové razítko ve formátu Unix Epoch Time (ms), hodnota je převzata z hodin zařízení
    media_url obsahuje adresu URL přeneseného souboru (když parametr 'media_wa_type' je '1', '2', '3')
    media_mime_type MIME typ přenášeného souboru (když parametr 'media_wa_type' je roven '1', '2', '3')
    media_wa_type typ zprávy: '0' - text, '1' - grafický soubor, '2' - zvukový soubor, '3' - video soubor, '4' - karta kontaktu, '5' - geodata
    media_size velikost přenášeného souboru (když je parametr 'media_wa_type' '1', '2', '3')
    media_name název přeneseného souboru (když parametr 'media_wa_type' je '1', '2', '3')
    media_caption Obsahuje slova 'audio', 'video' pro odpovídající hodnoty parametru 'media_wa_type' (když parametr 'media_wa_type' je '1', '3')
    media_hash hash přenášeného souboru kódovaný base64, vypočítaný pomocí algoritmu HAS-256 (když parametr 'media_wa_type' je roven '1', '2', '3')
    media_duration trvání v sekundách pro mediální soubor (když 'media_wa_type' je '1', '2', '3')
    původ má hodnotu '2', pokud se jedná o vysílanou zprávu, jinak obsahuje '0'
    zeměpisná šířka geodata: zeměpisná šířka (když parametr 'media_wa_type' je '5')
    zeměpisná délka geodata: zeměpisná délka (když parametr 'media_wa_type' je '5')
    thumb_image servisní informace
    vzdálený_zdroj ID odesílatele (pouze pro skupinové chaty)
    přijaté_časové razítko čas přijetí, obsahuje časové razítko ve formátu Unix Epoch Time (ms), hodnota je převzata z hodin zařízení (když parametr 'key_from_me' má '0', '-1' nebo jinou hodnotu)
    odeslat_časové razítko nepoužívá se, obvykle má hodnotu '-1'
    časové razítko_serveru příjmu čas přijatý centrálním serverem, obsahuje časové razítko ve formátu Unix Epoch Time (ms), hodnota je převzata z hodin zařízení (když parametr 'key_from_me' má '1', '-1' nebo jinou hodnotu
    příjem_zařízení_časové razítko čas, kdy byla zpráva přijata jiným předplatitelem, obsahuje časové razítko ve formátu Unix Epoch Time (ms), hodnota je převzata z hodin zařízení (když parametr 'key_from_me' má '1', '-1' nebo jinou hodnotu
    read_device_timestamp čas otevření (přečtení) zprávy, obsahuje časové razítko ve formátu Unix Epoch Time (ms), hodnota je převzata z hodin zařízení
    přehrané_časové razítko_zařízení doba přehrávání zprávy, obsahuje časové razítko ve formátu Unix Epoch Time (ms), hodnota je převzata z hodin zařízení
    nezpracovaná_data miniatura přeneseného souboru (když je parametr 'media_wa_type' '1' nebo '3')
    recipient_count počet příjemců (u vysílaných zpráv)
    účastník_hash používá se při přenosu zpráv s geodaty
    hrál nepoužito
    citovaný_řádek_id neznámý, obvykle obsahuje hodnotu '0'
    zmíněné_jids nepoužito
    multicast_id nepoužito
    ofset vysídlení

    Tento seznam polí není vyčerpávající. U různých verzí WhatsApp mohou být některá pole přítomna nebo chybět. Kromě toho mohou být přítomna 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ých razítkách. Ve sloupci 'timestamp' je čas uveden ve formátu Unix Epoch Time (ms).
  • 'chat_list'
    Tato tabulka obsahuje informace o chatech.

    Vzhled stolu:

    WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?

Při zkoumání WhatsApp na mobilním zařízení se systémem Android byste měli věnovat pozornost následujícím souborům:

  • Soubor 'msgstore.db.cryptXX' (kde XX je jedna nebo dvě číslice od 0 do 12, například msgstore.db.crypt12). Obsahuje šifrovanou zálohu zpráv WhatsApp (záložní soubor msgstore.db). Soubor(y) 'msgstore.db.cryptXX' nachází se podél cesty: '/data/media/0/WhatsApp/Databases/' (virtuální SD karta), '/mnt/sdcard/WhatsApp/Databases/ (fyzická SD karta)“.
  • Soubor 'klíč'. Obsahuje kryptografický klíč. Nachází se podél cesty: '/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 vašem profilu účtu WhatsApp. Soubor je umístěn podél cesty: '/data/data/com.whatsapp/shared_prefs/'.

    Fragment obsahu souboru

    <?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> (имя владельца аккаунта)
    … 
  • Soubor 'registration.RegisterPhone.xml'. Obsahuje informace o telefonním čísle spojeném s účtem WhatsApp. Soubor je umístěn podél cesty: '/data/data/com.whatsapp/shared_prefs/'.

    Obsah souboru

    <?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>
  • Soubor 'axolotl.db'. Obsahuje kryptografické klíče a další údaje, které jsou nezbytné k identifikaci vlastníka účtu. Nachází se podél cesty: '/data/data/com.whatsapp/databases/'.
  • Soubor 'chatsettings.db'. Obsahuje informace o konfiguraci aplikace.
  • Soubor 'wa.db'. Obsahuje kontaktní údaje. Velmi zajímavá (z forenzního hlediska) a informativní databáze. Může obsahovat podrobné informace o smazaných kontaktech.

Musíte také věnovat pozornost následujícím adresářům:

  • Adresář '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Obsahuje přenesené grafické soubory.
  • Adresář '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Obsahuje hlasové zprávy v souborech formátu .OPUS.
  • Adresář '/data/data/com.whatsapp/cache/Profile Pictures/'. Obsahuje grafické soubory – obrázky kontaktů.
  • Adresář '/data/data/com.whatsapp/files/Avatars/'. Obsahuje grafické soubory - miniatury kontaktů. Tyto soubory mají příponu '.j', ale přesto se jedná o soubory obrázků JPEG (JPG).
  • Adresář '/data/data/com.whatsapp/files/Avatars/'. Obsahuje grafické soubory – obrázek a miniaturu obrázku nastavené jako avatar vlastníkem účtu.
  • Adresář '/data/data/com.whatsapp/files/Logs/'. Obsahuje provozní protokol programu (soubor 'whatsapp.log') a záložní kopie provozních protokolů programu (soubory s názvy ve formátu whatsapp-rrrr-mm-dd.1.log.gz).

Soubory protokolu WhatsApp:

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Fragment deníku2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] zmeškané oznámení o volání/počet zahájení:0 časové razítko:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] zmeškané oznámení o volání/zrušení aktualizace 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] soubor hesla chybí nebo je nečitelný
2017-01-10 09:37:09.782 LL_I D [1:main] statistiky Textové zprávy: 59 odeslaných, 82 přijatých / Mediální zprávy: 1 odeslaná (0 bajtů), 0 přijatá (9850158 bajtů) / Offline zprávy: 81 přijatých ( 19522 ms průměrné zpoždění) / Služba zpráv: 116075 odeslaných bajtů, 211729 přijatých bajtů / VoIP hovory: 1 odchozí hovor, 0 příchozích hovorů, 2492 odeslaných bajtů, 1530 přijatých bajtů / Disk Google: 0 odeslaných bajtů, 0 přijatých 1524 Roaming: bajtů odeslaných, 1826 přijatých bajtů / Celková data: 118567 odeslaných bajtů, přijatých 10063417 bajtů
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/verze 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 | strávený čas: 8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-state-manager/refresh-media-state/interní-úložiště dostupné:1,345,622,016 celkem:5,687,922,688

  • Adresář '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Obsahuje přijaté zvukové soubory.
  • Adresář '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Obsahuje odeslané zvukové soubory.
  • Adresář '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Obsahuje výsledné grafické soubory.
  • Adresář '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Obsahuje odeslané grafické soubory.
  • Adresář '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Obsahuje přijaté video soubory.
  • Adresář '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Obsahuje odeslané video soubory.
  • Adresář '/data/media/0/WhatsApp/Media/WhatsApp Profilové fotografie/'. Obsahuje grafické soubory spojené s vlastníkem účtu WhatsApp.
  • Chcete-li ušetřit místo v paměti vašeho smartphonu Android, některá data WhatsApp lze uložit na SD kartu. Na SD kartě je v kořenovém adresáři adresář 'WhatsApp', kde lze nalézt následující artefakty tohoto programu:

    WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?

  • Adresář '.Podíl' ('/mnt/sdcard/WhatsApp/.Share/'). Obsahuje kopie souborů, které byly sdíleny s ostatními uživateli WhatsApp.
  • Adresář '.odpadky' ('/mnt/sdcard/WhatsApp/.trash/'). Obsahuje smazané soubory.
  • Adresář 'Databáze' ('/mnt/sdcard/WhatsApp/Databases/'). Obsahuje šifrované zálohy. Mohou být dešifrovány, pokud je soubor přítomen 'klíč', extrahované z paměti analyzovaného zařízení.

    Soubory umístěné v podadresáři 'Databáze':

    WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?

  • Adresář 'média' ('/mnt/sdcard/WhatsApp/Media/'). Obsahuje podadresáře 'Tapeta na zeď', „WhatsApp Audio“, 'WhatsApp Images', "Profilové fotografie WhatsApp", 'WhatsApp Video', „Hlasové poznámky WhatsApp“, které obsahují přijaté a přenášené multimediální soubory (grafické soubory, video soubory, hlasové zprávy, fotografie spojené s profilem vlastníka WhatsApp účtu, tapety).
  • Adresář 'Profilové obrázky' ('/mnt/sdcard/WhatsApp/Profile Pictures/'). Obsahuje grafické soubory spojené s profilem vlastníka účtu WhatsApp.
  • Někdy může být na SD kartě přítomen adresář 'soubory' ('/mnt/sdcard/WhatsApp/Files/'). Tento adresář obsahuje soubory, které ukládají nastavení programu a uživatelské předvolby.

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

Některé modely mobilních zařízení s operačním systémem Android mohou ukládat artefakty WhatsApp na jiném místě. To je způsobeno změnami v úložném prostoru aplikačních dat systémovým softwarem mobilního zařízení. Například mobilní zařízení Xiaomi mají funkci pro vytvoření druhého pracovního prostoru („SecondSpace“). Když je tato funkce aktivována, umístění dat se změní. Pokud jsou tedy v běžném mobilním zařízení se systémem Android OS uživatelská data uložena v adresáři '/data/user/0/' (což je odkaz na obvyklé '/data/data/'), pak ve druhém pracovním prostoru jsou data aplikace uložena v adresáři '/data/user/10/'. Tedy pomocí příkladu umístění souboru 'wa.db':

  • v běžném smartphonu s operačním systémem Android: /data/user/0/com.whatsapp/databases/wa.db' (což je ekvivalentní '/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 operačního systému Android se v systému iOS data aplikace WhatsApp přenášejí do záložní kopie (záloha iTunes). Proto extrahování dat z této aplikace nevyžaduje extrahování systému souborů nebo vytvoření fyzického výpisu paměti zkoumaného zařízení. Většina relevantních informací je obsažena v databázi 'ChatStorage.sqlite', který se nachází podél cesty: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (v některých programech se tato cesta zobrazuje jako 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').

Struktura 'ChatStorage.sqlite':

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Nejinformativnější tabulky v databázi 'ChatStorage.sqlite' jsou 'ZWAMESSAGE' и „ZWAMEDIAITEM“.

Vzhled stolu 'ZWAMESSAGE':

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Struktura tabulky 'ZWAMESSAGE'

Název pole Hodnota
Z_PK pořadové číslo záznamu (v SQL tabulce)
Z_ENT identifikátor tabulky, má hodnotu '9'
Z_OPT neznámý, obvykle obsahuje hodnoty od '1' do '6'
ZCHILDMESSAGES DELIVEREDCOUNT neznámý, obvykle obsahuje hodnotu '0'
ZCHILDMESSAGESPLAYEDCOUNT neznámý, obvykle obsahuje hodnotu '0'
ZCHILDMESSAGESREADCOUNT neznámý, obvykle obsahuje hodnotu '0'
ZDATAITEMVERSION neznámý, obvykle obsahuje hodnotu '3', pravděpodobně indikátor textové zprávy
ZDOCID neznámý
ZENCRETRYCOUNT neznámý, obvykle obsahuje hodnotu '0'
ZFILTEREDRECIPIENTCOUNT neznámý, obvykle obsahuje hodnoty ‚0‘, ‚2‘, ‚256‘
ZISFROMME směr zprávy: '0' – příchozí, '1' – odchozí
ZMESSAGEERRORSTATUS stav přenosu zprávy. Pokud je zpráva odeslána/přijata, pak má hodnotu '0'
ZMESSAGETYPE typ přenášené zprávy
ZSORT neznámý
ZSPOTLIGHSTATUS neznámý
ZSTARRED neznámý, nepoužitý
ZCHATSESSION neznámý
ZGROUPMEMBER neznámý, nepoužitý
ZLASTSESSION neznámý
ZMEDIAITEM neznámý
ZMESSAGEINFO neznámý
ZPARENTMESSAGE neznámý, nepoužitý
ZMESSAGEDATE časové razítko ve formátu OS X Epoch Time
ZSENTDATE čas odeslání zprávy ve formátu OS X Epoch Time
ZFROMJID ID odesílatele WhatsApp
ZMEDIASECTIONID obsahuje rok a měsíc odeslání mediálního souboru
ZPHASH neznámý, nepoužitý
ZPUSHPAME jméno kontaktu, který odeslal mediální soubor ve formátu UTF-8
ZSTANZID jedinečný identifikátor zprávy
ZTEXT Text zprávy
ZTOJID WhatsApp ID příjemce
OFFSET vysídlení

Vzhled stolu „ZWAMEDIAITEM“:

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Struktura tabulky 'ZWAMEDIAITEM'

Název pole Hodnota
Z_PK pořadové číslo záznamu (v SQL tabulce)
Z_ENT identifikátor tabulky, má hodnotu '8'
Z_OPT neznámý, obvykle obsahuje hodnoty od '1' do '3'.
ZCLOUDSTATUS obsahuje hodnotu '4', pokud je soubor načten.
ZFILESIZE obsahuje délku souboru (v bajtech) pro stažené soubory
ZMEDIAORIGIN neznámý, obvykle má hodnotu „0“
ZMOVIEDURATION trvání mediálního souboru, u pdf souborů může obsahovat počet stran dokumentu
ZMESSAGE obsahuje sériové číslo (číslo se liší od čísla uvedeného ve sloupci 'Z_PK')
ZASPECTRATIO poměr stran, nepoužívá se, obvykle nastaven na „0“
ZHACCURACY neznámý, obvykle má hodnotu „0“
ZLATTITUDE šířka v pixelech
ZLONGTITUDE výška v pixelech
ZMEDIAURLDATE časové razítko ve formátu OS X Epoch Time
ZAUTHORNAME autor (u dokumentů může obsahovat název souboru)
ZCOLLECTIONNAME nepoužito
ZMEDIALOCALPATH název souboru (včetně cesty) v systému souborů zařízení
ZMEDIAURL Adresa URL, kde byl umístěn mediální soubor. Pokud byl soubor přenesen od jednoho účastníka k druhému, byl zašifrován a jeho přípona bude označena jako přípona přenášeného souboru - .enc
ZTHUMBNAILLOCALPATH cestu k miniatuře souboru v systému souborů zařízení
ZTITLE záhlaví souboru
ZVCARDNAME hash mediálního souboru; při přenosu souboru do skupiny může obsahovat identifikátor odesílatele
ZVCARDSTRING obsahuje informace o typu přenášeného souboru (například obrázek/jpeg); při přenosu souboru do skupiny může obsahovat identifikátor příjemce
ZXMPPTHUMBPATH cestu k miniatuře souboru v systému souborů zařízení
ZMEDIAKEY neznámý, pravděpodobně obsahuje klíč k dešifrování zašifrovaného souboru.
ZMETADATA metadata přenášené zprávy
Ofset vysídlení

Další zajímavé databázové tabulky 'ChatStorage.sqlite' jsou:

  • 'ZWAPROFILEPUSHNAME'. Shoduje se WhatsApp ID se jménem kontaktu;
  • 'ZWAPROFILEPICTUREITEM'. Shoduje se WhatsApp ID s kontaktním avatarem;
  • '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.

Při zkoumání WhatsApp na mobilním zařízení se systémem iOS byste měli věnovat pozornost následujícím souborům:

  • Soubor 'BackedUpKeyValue.sqlite'. Obsahuje kryptografické klíče a další údaje, které jsou nezbytné k identifikaci vlastníka účtu. Nachází se podél cesty: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Soubor 'ContactsV2.sqlite'. Obsahuje informace o kontaktech uživatele, jako je celé jméno, telefonní číslo, stav kontaktu (v textové podobě), WhatsApp ID atd. Nachází se podél cesty: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Soubor 'consumer_version'. Obsahuje číslo verze nainstalované aplikace WhatsApp. Nachází se podél cesty: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Soubor 'aktuální_tapeta.jpg'. Obsahuje aktuální tapetu na pozadí WhatsApp. Nachází se podél cesty: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Starší verze aplikace používají soubor 'tapeta na zeď', který se nachází podél cesty: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
  • Soubor 'blockedcontacts.dat'. Obsahuje informace o zablokovaných kontaktech. Nachází se podél cesty: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • Soubor 'pw.dat'. Obsahuje zašifrované heslo. Nachází se podél cesty: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
  • Soubor 'net.whatsapp.WhatsApp.plist' (nebo soubor 'group.net.whatsapp.WhatsApp.shared.plist'). Obsahuje informace o vašem profilu účtu WhatsApp. Soubor je umístěn podél cesty: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.

Obsah souboru 'group.net.whatsapp.WhatsApp.shared.plist' WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Musíte také věnovat pozornost následujícím adresářům:

  • Adresář '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Obsahuje miniatury kontaktů, skupin (soubory s příponou .palec), kontaktujte avatary, avatar vlastníka účtu WhatsApp (soubor 'Photo.jpg').
  • Adresář '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Obsahuje multimediální soubory a jejich miniatury
  • Adresář '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Obsahuje provozní protokol programu (soubor 'calls.log') a záložní kopie provozních protokolů programu (soubor 'calls.backup.log').
  • Adresář '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Obsahuje nálepky (soubory ve formátu '.webp').
  • Adresář '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Obsahuje provozní protokoly programu.

Artefakty WhatsApp na Windows

Artefakty WhatsApp na Windows lze nalézt na několika místech. Především se jedná o adresáře obsahující spustitelné a pomocné programové soubory (pro 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' soubor protokolu je umístěn 'SquirrelSetup.log', který obsahuje informace o kontrole aktualizací a instalaci programu.

V katalogu 'C:Users%User profile% AppDataRoamingWhatsApp' Existuje několik podadresářů:

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Soubor 'main-process.log' obsahuje informace o provozu programu WhatsApp.

Podadresář 'databáze' obsahuje soubor 'Databases.db', ale tento soubor neobsahuje žádné informace o chatech ani kontaktech.

Nejzajímavější z forenzního hlediska jsou soubory umístěné v adresáři 'Mezipaměti'. Jedná se v podstatě o soubory pojmenované 'F_*******' (kde * je číslo od 0 do 9) obsahující šifrované multimediální soubory a dokumenty, ale jsou mezi nimi i nešifrované soubory. Zvláště zajímavé jsou soubory 'data_0', 'data_1', 'data_2', 'data_3', který se nachází ve stejném podadresáři. Soubory 'data_0', 'data_1', 'data_3' obsahují externí odkazy na přenášené šifrované multimediální soubory a dokumenty.

Příklad informací obsažených v souboru 'data_1'WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Také soubor 'data_3' může obsahovat grafické soubory.

Soubor 'data_2' obsahuje kontaktní avatary (lze obnovit vyhledáváním podle záhlaví souborů).

Avatary obsažené v souboru 'data_2':

WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
Samotné chaty tedy nelze najít v paměti počítače, ale můžete najít:

  • multimediální soubory;
  • dokumenty přenášené přes WhatsApp;
  • informace o kontaktech majitele účtu.

Artefakty WhatsApp na MacOS

V MacOS můžete najít typy artefaktů WhatsApp podobné těm, které se nacházejí v OS Windows.

Soubory programu jsou umístěny v následujících 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 <text variable> WhatsApp Accounts'
    Tento adresář obsahuje podadresáře, jejichž názvy jsou telefonní čísla spojená s vlastníkem účtu WhatsApp.
  • 'C:Users%User profile%LibraryCachesWhatsApp.ShipIt'
    Tento adresář obsahuje informace o instalaci programu.
  • 'C:Users%User profile%PicturesiPhoto Library.photolibraryMasters', 'C:Users%User profile%PicturesiPhoto Library.photolibraryThumbnails'
    Tyto adresáře obsahují servisní soubory programu, včetně fotografií a miniatur kontaktů WhatsApp.
  • 'C:Users%User profile%LibraryCachesWhatsApp'
    Tento adresář obsahuje několik databází SQLite, které se používají pro ukládání dat do mezipaměti.
  • 'C:Users%User profile%LibraryApplication SupportWhatsApp'
    Tento adresář obsahuje několik podadresářů:

    WhatsApp na dlani: kde a jak můžete najít forenzní artefakty?
    V katalogu 'C:Users%User profile%LibraryApplication SupportWhatsAppCache' existují 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é informace tyto soubory obsahují, najdete v článku Artefakty WhatsApp v systému Windows.

    V katalogu 'C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB' může obsahovat multimediální soubory (soubory nemají žádné přípony).

    Soubor 'main-process.log' obsahuje informace o provozu programu WhatsApp.

zdroje

  1. Forenzní analýza WhatsApp Messenger na chytrých telefonech Android, autor Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Systémový systém a základní údaje pro aplikace Android a iOS od Ahmada Pratamy, 2014.

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

Dešifrování zašifrovaných databází WhatsAppČlánek, který poskytne informace o tom, jak se generuje šifrovací klíč WhatsApp, a praktické příklady ukazující, jak dešifrovat šifrované databáze této aplikace.
Extrahování dat WhatsApp z cloudového úložištěČlánek, ve kterém vám prozradíme, jaká data WhatsApp jsou uložena v cloudech a popíšeme způsoby získávání těchto dat z cloudových úložišť.
Extrakce dat WhatsApp: Praktické příkladyČlánek, který krok za krokem popíše, jaké programy a jak extrahovat data WhatsApp z různých zařízení.

Zdroj: www.habr.com

Přidat komentář