WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?

Chcete sa dozvedieť, aké typy kryptografických artefaktov WhatsApp existujú v rôznych operačných systémoch a kde ich možno nájsť — tak potom ste tu správne. Tento článok napísal odborník z Laboratória počítačovej kriminalistiky Group-IB Igor Michajlov otvára sériu publikácií o kriminalistickom skúmaní WhatsApp a o tom, aké informácie je možné získať analýzou zariadenia.

Hneď treba poznamenať, že v rôznych operačných systémoch sú uchovávané rôzne typy artefaktov WhatsApp, a ak z jedného zariadenia môže odborník extrahovať určité typy dát WhatsApp, neznamená to, že podobné typy dát môžu byť extrahované z iného zariadenia. Napríklad, ak je zabezpečená centrálna jednotka s operačným systémom Windows, na jej diskoch pravdepodobne nebudú nájdené chaty WhatsApp (s výnimkou záloh iOS zariadení, ktoré môžu byť objavené na týchto rovnakých úložiskách). Pri zaistení prenosných počítačov a mobilných zariadení budú existovať svoje špecifiká. O tom si teraz povieme viac.

Artefakty WhatsApp v zariadení s Androidom

Aby odborník mohol extrahovať artefakty WhatsApp z zariadenia s operačným systémom Android, musí mať práva superužívateľa ('root') na skúmanom zariadení alebo mať iný spôsob, ako získať fyzickú kópiu pamäte zariadenia alebo jeho súborového systému (napríklad pomocou programových zraniteľností konkrétneho mobilného zariadenia).

Súbory aplikácie sa nachádzajú v pamäti telefónu v sekcii, kde sú uchovávané údaje používateľa. Táto sekcia sa zvyčajne nazýva 'userdata'. Podpriečinky a súbory programu sa nachádzajú na ceste: '/data/data/com.whatsapp/'.

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Hlavnými súbormi, ktoré obsahujú kryptografické artefakty WhatsApp v operačnom systéme Android, sú databázy 'wa.db' a 'msgstore.db'.

V databáze 'wa.db' sa nachádza úplný zoznam kontaktov používateľa WhatsApp, vrátane telefónneho čísla, zobrazeného mena, časových pečiatok a akýchkoľvek iných informácií poskytnutých pri registrácii v WhatsApp. Súbor 'wa.db' sa nachádza na ceste: '/data/data/com.whatsapp/databases/' a má nasledujúcu štruktúru:

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Najzaujímavejšími tabuľkami v databáze 'wa.db' pre odborníka sú:

  • 'wa_contacts'
    Táto tabuľka obsahuje informácie o kontaktoch: ID kontaktu vo WhatsApp, informácie o stave, zobrazené meno používateľa, časové pečiatky a pod.

    Vzhľad tabuľky:

    WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
    Štruktúra tabuľky

    Názov poľaHodnota
    _idporadové číslo záznamu (v SQL tabuľke)
    jidWhatsApp ID kontaktu, zapisuje sa vo formáte @s.whatsapp.net
    is_whatsapp_userobsahuje '1' ak kontakt zodpovedá skutočnému používateľovi WhatsApp, '0' v inom prípade
    statusobsahuje text, ktorý sa zobrazuje v stave kontaktu
    status_timestampobsahuje časovú pečiatku vo formáte Unix Epoch Time (ms)
    numberčíslo telefónu, ktoré je spojené s kontaktom
    raw_contact_idporadové číslo kontaktu
    display_namezobrazené meno kontaktu
    phone_typetyp telefónu
    phone_labelnálepka, ktorá je spojená s číslom kontaktu
    unseen_msg_countpočet správ, ktoré boli odoslané kontaktom, ale neboli prečítané príjemcom
    photo_tsobsahuje časovú pečiatku vo formáte Unix Epoch Time
    thumb_tsobsahuje časovú pečiatku vo formáte Unix Epoch Time
    photo_id_timestampobsahuje časovú pečiatku vo formáte Unix Epoch Time (ms)
    given_namehodnota poľa sa zhoduje s 'display_name' pre každý kontakt
    wa_namemeno kontaktu vo WhatsApp (zobrazuje sa názov uvedený v profile kontaktu)
    sort_namemeno kontaktu, ktoré sa používa pri triedení operácií
    nicknamepriezvisko kontaktu vo WhatsApp (zobrazuje sa prezývka uvedená v profile kontaktu)
    companyspoločnosť (zobrazuje sa spoločnosť uvedená v profile kontaktu)
    titleoslovenie (pani/pán; zobrazuje sa oslovenie nastavené v profile kontaktu)
    offsetposun
  • 'sqlite_sequence'
    Táto tabuľka obsahuje informácie o počte kontaktov;
  • 'android_metadata'
    Táto tabuľka obsahuje informácie o jazykovej lokalizácii WhatsApp.

V databáze 'msgstore.db' obsahuje informácie o prenesených správach, ako je číslo kontaktu, text správy, stav správy, časové pečiatky, podrobnosti o prenesených súboroch, ktoré sú súčasťou správ, a pod. Súbor 'msgstore.db' sa nachádza na ceste: '/data/data/com.whatsapp/databases/' a má nasledujúcu štruktúru:

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Najzaujímavejšie tabuľky v súbore 'msgstore.db' pre odborníka sú:

  • 'sqlite_sequence'
    Táto tabuľka obsahuje celkové informácie o tejto databáze, napríklad celkový počet ukladaných správ, celkový počet chatov a pod.

    Vzhľad tabuľky:

    WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?

  • 'message_fts_content'
    Obsahuje text prenesených správ.

    Vzhľad tabuľky:

    WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?

  • 'messages'
    Táto tabuľka obsahuje také informácie, ako je číslo kontaktu, text správy, stav správy, časové pečiatky, podrobnosti o prenesených súboroch, ktoré sú súčasťou správ.

    Vzhľad tabuľky:

    WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
    Štruktúra tabuľky

    Názov poľaHodnota
    _idporadové číslo záznamu (v SQL tabuľke)
    key_remote_jidWhatsApp ID partnera v komunikácii
    key_from_mesmer správy: '0' – prichádzajúca, '1' — odchádzajúca
    key_idunikátne identifikačné číslo správy
    statusstav správy: ‘0’ – doručené, ‘4’ – čaká na serveri, ‘5’ – prevzaté na mieste určenia, ‘6’ – kontrolná správa, ‘13’ – správa bola otvorená prijímateľom (prečítaná)
    need_pushmá hodnotu ‘2’, ak ide o hromadnú správu, inak obsahuje ‘0’
    datatext správy (keď je parameter ‘media_wa_type’ rovný ‘0’)
    timestampobsahuje časovú pečiatku vo formáte Unix Epoch Time (ms), hodnota sa berie z hodín zariadenia
    media_urlobsahuje URL prenášaného súboru (keď je parameter ‘media_wa_type’ rovný ‘1’, ‘2’, ‘3’)
    media_mime_typeMIME typ prenášaného súboru (keď je parameter ‘media_wa_type’ rovný ‘1’, ‘2’, ‘3’)
    media_wa_typetyp správy: ‘0’ – text, ‘1’ – grafický súbor, ‘2’ – audio súbor, ‘3’ – video súbor, ‘4’ – karta kontaktu, ‘5’ – geografické údaje
    media_sizeveľkosť prenášaného súboru (keď je parameter ‘media_wa_type’ rovný ‘1’, ‘2’, ‘3’)
    media_namenázov prenášaného súboru (keď je parameter ‘media_wa_type’ rovný ‘1’, ‘2’, ‘3’)
    media_captionObsahuje slová ‘audio’, ‘video’ pre príslušné hodnoty parametra ‘media_wa_type’ (keď je parameter ‘media_wa_type’ rovný ‘1’, ‘3’)
    media_hashzakódovaný v formáte base64 hash prenášaného súboru, vypočítaný podľa algoritmu HAS-256 (keď je parameter ‘media_wa_type’ rovný ‘1’, ‘2’, ‘3’)
    media_durationdĺžka v sekundách pre mediálny súbor (keď je parameter ‘media_wa_type’ rovný ‘1’, ‘2’, ‘3’)
    originmá hodnotu ‘2’, ak ide o hromadnú správu, inak obsahuje ‘0’
    latitudegeografické údaje: šírka (keď je parameter ‘media_wa_type’ rovný ‘5’)
    longitudegeografické údaje: dĺžka (keď je parameter ‘media_wa_type’ rovný ‘5’)
    thumb_imageprevádzková informácia
    remote_recourceID odosielateľa (iba pre skupinové chaty)
    received_timestampčas prijatia, obsahuje časovú pečiatku vo formáte Unix Epoch Time (ms), hodnota sa berie z hodín zariadenia (keď je parameter ‘key_from_me’ rovný ‘0’, ‘-1’ alebo inej hodnote)
    send_timestampnepoužíva sa, zvyčajne má hodnotu ‘-1’
    receipt_server_timestampčas prijatia centrálnym serverom, obsahuje časovú pečiatku vo formáte Unix Epoch Time (ms), hodnota sa berie z hodín zariadenia (keď je parameter ‘key_from_me’ rovný ‘1’, ‘-1’ alebo inej hodnote
    receipt_device_timestampčas prijatia správy iným účastníkom, obsahuje časovú pečiatku vo formáte Unix Epoch Time (ms), hodnota sa berie z hodín zariadenia (keď je parameter ‘key_from_me’ rovný ‘1’, ‘-1’ alebo inej hodnote
    read_device_timestampčas otvorenia (čítania) správy, obsahuje časovú pečiatku vo formáte Unix Epoch Time (ms), hodnotu berieme z hodín zariadenia
    played_device_timestampčas prehrávania správy, obsahuje časovú pečiatku vo formáte Unix Epoch Time (ms), hodnotu berieme z hodín zariadenia
    raw_datanáhľad prenášaného súboru (keď je parameter ‘media_wa_type’ rovný ‘1’ alebo ‘3’)
    recipient_countpočet príjemcov (pre broadcast správy)
    participant_hashpoužíva sa pri prenose správ s geodátami
    starrednepoužíva sa
    quoted_row_idneznáme, obvykle obsahuje hodnotu ‘0’
    mentioned_jidsnepoužíva sa
    multicast_idnepoužíva sa
    offsetposun

    Tento zoznam polí nie je vyčerpávajúci. Pre rôzne verzie WhatsApp niektoré polia môžu byť prítomné alebo chýbať. Ďalej môžu byť prítomné polia ‘media_enc_hash’, ‘edit_version’, ‘payment_transaction_id’ a pod.

  • ‘messages_thumbnails’
    Táto tabuľka obsahuje informácie o prenesených obrázkoch a časových pečiatkach. V stĺpci ‘timestamp’ je čas uvedený vo formáte Unix Epoch Time (ms).
  • ‘chat_list’
    Táto tabuľka obsahuje informácie o chatoch.

    Vzhľad tabuľky:

    WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?

Pri skúmaní WhatsApp na mobilnom zariadení so systémom Android sa treba tiež zamerať na nasledujúce súbory:

  • Súbor ‘msgstore.db.cryptXX’ (kde XX – jedna alebo dve číslice od 0 do 12, napríklad msgstore.db.crypt12). Obsahuje zašifrovanú zálohu správ WhatsApp (záloha súboru msgstore.db). Súbor (alebo súbory) ‘msgstore.db.cryptXX’ sa nachádza na ceste: ‘/data/media/0/WhatsApp/Databases/’ (virtuálna SD karta), ‘/mnt/sdcard/WhatsApp/Databases/ (fyzická SD karta)’.
  • Súbor ‘key’. Obsahuje kriptografický kľúč. Nachádza sa na ceste: ‘/data/data/com.whatsapp/files/’. Používa sa na dešifrovanie zašifrovaných záloh WhatsApp.
  • Súbor ‘com.whatsapp_preferences.xml’. Obsahuje informácie o profile účtu WhatsApp. Súbor sa nachádza na ceste: ‘/data/data/com.whatsapp/shared_prefs/’.

    Fragment obsahu súboru

    …
    9123456789 (telefónne číslo, asociované s účtom WhatsApp)
    …
    2.17.395 (verzia WhatsApp)
    …
    Hej tam! Používam WhatsApp. (správa, zobrazovaná v statuse účtu)
    …
    Alex (meno vlastníka účtu)
    … 
  • Súbor ‘registration.RegisterPhone.xml’. Obsahuje informácie o telefónnom čísle, asociovanom s účtom WhatsApp. Súbor sa nachádza na ceste: ‘/data/data/com.whatsapp/shared_prefs/’.

    Obsah súboru

    
    9123456789
    
    
    912 345-67-89
    
    7
    7
    
  • Súbor 'axolotl.db'. Obsahuje kryptografické kľúče a iné údaje, ktoré sú potrebné na identifikáciu vlastníka účtu. Nachádza sa na ceste: '/data/data/com.whatsapp/databases/'.
  • Súbor 'chatsettings.db'. Obsahuje informácie o konfigurácii aplikácie.
  • Súbor 'wa.db'. Obsahuje podrobnosti o kontaktoch. Veľmi zaujímavá (z kriminalistického hľadiska) a informatívna databáza. Môže obsahovať podrobné informácie o odstránených kontaktoch.

Taktiež je potrebné venovať pozornosť nasledujúcim adresárom:

  • Adresár '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Obsahuje odoslané grafické súbory.
  • Adresár '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Obsahuje hlasové správy vo formáte súborov .OPUS.
  • Adresár '/data/data/com.whatsapp/cache/Profile Pictures/'. Obsahuje grafické súbory – obrázky kontaktov.
  • Adresár '/data/data/com.whatsapp/files/Avatars/'. Obsahuje grafické súbory – miniatury obrázkov kontaktov. Tieto súbory majú príponu '.j', ale aj tak sú grafickými súbormi vo formáte JPEG (JPG).
  • Adresár '/data/data/com.whatsapp/files/Avatars/'. Obsahuje grafické súbory – obrázok a miniaturu obrázka, ktorý bol nastavený ako avatar vlastníkom účtu.
  • Adresár '/data/data/com.whatsapp/files/Logs/'. Obsahuje záznamy činnosti programu (súbor 'whatsapp.log') a zálohy záznamov činnosti programu (súbory s názvami vo formáte whatsapp-rok-mesiac-deň.1.log.gz).

Súbory záznamov WhatsApp:

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Fragment záznamu2017-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] súbor hesla chýba alebo je nečitateľný
2017-01-10 09:37:09.782 LL_I D [1:main] štatistiky textové správy: 59 odoslaných, 82 prijatých / multimediálne správy: 1 odoslaná (0 bajtov), 0 prijatých (9850158 bajtov) / offline správy: 81 prijatých (19522 ms priemerné oneskorenie) / služba správ: 116075 bajtov odoslaných, 211729 bajtov prijatých / VoIP hovory: 1 odchádzajúci hovor, 0 prichádzajúcich hovorov, 2492 bajtov odoslaných, 1530 bajtov prijatých / Google Drive: 0 bajtov odoslaných, 0 bajtov prijatých / Roaming: 1524 bajtov odoslaných, 1826 bajtov prijatých / celkové údaje: 118567 bajtov odoslaných, 10063417 bajtov prijatých
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

  • Adresár ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/’. Obsahuje prijaté zvukové súbory.
  • Adresár ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/’. Obsahuje odoslané zvukové súbory.
  • Adresár '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Obsahuje prijaté grafické súbory.
  • Adresár ‘/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/’. Obsahuje odoslané grafické súbory.
  • Adresár ‘/data/media/0/WhatsApp/Media/WhatsApp Video/’. Obsahuje prijaté videá.
  • Adresár ‘/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/’. Obsahuje odoslané videá.
  • Adresár ‘/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/’. Obsahuje grafické súbory spojené s vlastníkom účtu WhatsApp.
  • Aby sa ušetrilo miesto v pamäti Android smartfónu, niektoré dáta WhatsApp môžu byť uložené na SD karte. Na SD karte, v koreňovom adresári, sa nachádza adresár ‘WhatsApp’, kde môžu byť nájdené nasledujúce artefakty tejto aplikácie:

    WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?

  • Adresár ‘.Share’ (‘/mnt/sdcard/WhatsApp/.Share/’). Obsahuje kópie súborov, ktoré boli odoslané iným používateľom WhatsApp.
  • Adresár ‘.trash’ (‘/mnt/sdcard/WhatsApp/.trash/’). Obsahuje vymazané súbory.
  • Adresár ‘Databases’ (‘/mnt/sdcard/WhatsApp/Databases/’). Obsahuje zašifrované zálohy. Tieto môžu byť dešifrované za predpokladu, že existuje súbor ‘key’, extrahovaný z pamäte analyzovaného zariadenia.

    Súbory, ktoré sa nachádzajú v podadresári. ‘Databases’:

    WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?

  • Adresár ‘Média’ (‘/mnt/sdcard/WhatsApp/Média/’). Obsahuje podkatalógy ‘Tapeta’, ‘WhatsApp Audio’, ‘WhatsApp Obrázky’, ‘WhatsApp Profilové Fotografie’, ‘WhatsApp Video’, ‘WhatsApp Hlasové Správy’, v ktorých sa nachádzajú prijaté a odoslané multimediálne súbory (grafické súbory, videá, hlasové správy, fotografie spojené s profilom vlastníka účtu WhatsApp, tapety).
  • Adresár ‘Profilové Fotografie’ (‘/mnt/sdcard/WhatsApp/Profilové Fotografie/’). Obsahuje grafické súbory spojené s profilom vlastníka účtu WhatsApp.
  • Občas môže na SD karte existovať adresár ‘súbory’ (‘/mnt/sdcard/WhatsApp/Súbory/’). V tomto adresári sa nachádzajú súbory, v ktorých sú uložené nastavenia programu a preferencie používateľa.

Vlastnosti ukladania údajov v niektorých modeloch mobilných zariadení

V niektorých modeloch mobilných zariadení na platforme Android je možné ukladať artefakty WhatsApp na inom mieste. To je spôsobené zmenou úložného priestoru aplikácie systémovým softvérom mobilného zariadenia. Napríklad na mobilných zariadeniach Xiaomi existuje funkcia vytvárania druhého pracovného priestoru („SecondSpace“). Po aktivácii tejto funkcie sa mení umiestnenie údajov. Ak sú v bežnom mobilnom zariadení so systémom Android údaje používateľa uložené v adresári ‘/data/user/0/’ (čo je odkaz na bežné ‘/data/data/’), tak v druhom pracovnom priestore sú údaje aplikácií uložené v adresári ‘/data/user/10/’. To znamená, na príklade umiestnenia súboru 'wa.db':

  • v bežnom smartfóne so systémom Android: /data/user/0/com.whatsapp/databases/wa.db’ (čo zodpovedá ‘/data/data/com.whatsapp/databases/wa.db’);
  • v druhom pracovnom priestore smartfónu Xiaomi: ‘/data/user/10/com.whatsapp/databases/wa.db’.

Artefakty WhatsApp na zariadení s iOS

Na rozdiel od systému Android, v iOS sa údaje aplikácie WhatsApp ukladajú do zálohy (iTunes backup). Preto extrakcia údajov tejto aplikácie nevyžaduje extrakciu súborového systému alebo vytváranie fyzickej kópie pamäte skúmaného zariadenia. Väčšina významných informácií je uložená v databáze ‘ChatStorage.sqlite’, ktorá sa nachádza na ceste: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/’ (v niektorých programoch sa táto cesta zobrazuje ako ‘AppDomainGroup-group.net.whatsapp.WhatsApp.shared’).

Struktura ‘ChatStorage.sqlite’:

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Najinformatívnejšími v databáze ‘ChatStorage.sqlite’ sú tabuľky ‘ZWAMESSAGE’ a ‘ZWAMEDIAITEM’.

Vzhľad tabuľky ‘ZWAMESSAGE’:

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Štruktúra tabuľky 'ZWAMESSAGE'

Názov poľaHodnota
Z_PKporadové číslo záznamu (v SQL tabuľke)
Z_ENTidentifikátor tabuľky, má hodnotu '9'
Z_OPTneznáme, zvyčajne obsahuje hodnoty od '1' do '6'
ZCHILDMESSAGESDELIVEREDCOUNTneznáme, obvykle obsahuje hodnotu ‘0’
ZCHILDMESSAGESPLAYEDCOUNTneznáme, obvykle obsahuje hodnotu ‘0’
ZCHILDMESSAGESREADCOUNTneznáme, obvykle obsahuje hodnotu ‘0’
ZDATAITEMVERSIONneznáme, zvyčajne obsahuje hodnotu '3', pravdepodobne je to ukazovateľ textovej správy
ZDOCIDneznáme
ZENCRETRYCOUNTneznáme, obvykle obsahuje hodnotu ‘0’
ZFILTEREDRECIPIENTCOUNTneznáme, zvyčajne obsahuje hodnoty '0', '2', '256'
ZISFROMMEsmer správy: '0' – prichádzajúca, '1' — odchádzajúca
ZMESSAGEERRORSTATUSstav prenosu správy. Ak bola správa odoslaná/prijatá, má hodnotu '0'
ZMESSAGETYPEtyp prenášanej správy
ZSORTneznáme
ZSPOTLIGHSTATUSneznáme
ZSTARREDneznáme, nepoužíva sa
ZCHATSESSIONneznáme
ZGROUPMEMBERneznáme, nepoužíva sa
ZLASTSESSIONneznáme
ZMEDIAITEMneznáme
ZMESSAGEINFOneznáme
ZPARENTMESSAGEneznáme, nepoužíva sa
ZMESSAGEDATEčasová pečiatka vo formáte OS X Epoch Time
ZSENTDATEčas odoslania správy vo formáte OS X Epoch Time
ZFROMJIDWhatsApp ID odosielateľa
ZMEDIASECTIONIDobsahuje rok a mesiac odoslania mediálneho súboru
ZPHASHneznáme, nepoužíva sa
ZPUSHPAMEmeno kontaktu odosielajúceho mediálny súbor vo formáte UTF-8
ZSTANZIDunikátne identifikačné číslo správy
ZTEXTtext správy
ZTOJIDWhatsApp ID príjemcu
CHECKSUM_AGGposun

Vzhľad tabuľky ‘ZWAMEDIAITEM’:

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Štruktúra tabuľky 'ZWAMEDIAITEM'

Názov poľaHodnota
Z_PKporadové číslo záznamu (v SQL tabuľke)
Z_ENTidentifikátor tabuľky, má hodnotu '8'
Z_OPTneznáme, zvyčajne obsahuje hodnoty od '1' do '3'.
ZCLOUDSTATUSobsahuje hodnotu '4', ak sa súbor nahráva.
ZFILESIZEobsahuje dĺžku súboru (v bajtoch) pre nahrané súbory
ZMEDIAORIGINneznáme, zvyčajne má hodnotu '0'
ZMOVIEDURATIONdĺžka mediálneho súboru, pre pdf súbory môže obsahovať počet strán dokumentu
ZMESSAGEobsahuje poradové číslo (číslo sa líši od toho, ktoré je uvedené v stĺpci 'Z_PK')
ZASPECTRATIOpomer strán, nepoužíva sa, zvyčajne má hodnotu '0'
ZHACCURACYneznáme, zvyčajne má hodnotu '0'
ZLATTITUDEšírka v pikstrom
ZLONGTITUDEvýška v pikstrom
ZMEDIAURLDATEčasová pečiatka vo formáte OS X Epoch Time
ZAUTHORNAMEautor (pre dokumenty, môže obsahovať názov súboru)
ZCOLLECTIONNAMEnepoužíva sa
ZMEDIALOCALPATHnázov súboru (s uvedením cesty) v súborovom systéme zariadenia
ZMEDIAURLURL, na ktorom sa nachádzal mediálny súbor. Ak bol súbor prenášaný z jedného účastníka k druhému, bol zašifrovaný a jeho prípona bude uvedená ako prípona prenášaného súboru — .enc
ZTHUMBNAILLOCALPATHcesta k miniatúre súboru v súborovom systéme zariadenia
ZTITLEnázov súboru
ZVCARDNAMEhash mediálneho súboru, pri prenose súboru do skupiny môže obsahovať identifikátor odosielateľa
ZVCARDSTRINGobsahuje informácie o type prenášaného súboru (napríklad image/jpeg), pri prenose súboru do skupiny môže obsahovať identifikátor príjemcu
ZXMPPTHUMBPATHcesta k miniatúre súboru v súborovom systéme zariadenia
ZMEDIAKEYneznáme, pravdepodobne obsahuje kľúč na dešifrovanie zašifrovaného súboru.
ZMETADATAmetadáta prenášaného správy
Offsetposun

Iné zaujímavé databázové tabuľky ‘ChatStorage.sqlite’ sú:

  • ‘ZWAPROFILEPUSHNAME’. Priraďuje WhatsApp ID k menu kontaktu;
  • ‘ZWAPROFILEPICTUREITEM’. Priraďuje WhatsApp ID k obrázku profilu kontaktu;
  • ‘Z_PRIMARYKEY’. Tabuľka obsahuje všeobecné informácie o tejto databáze, ako je celkový počet uložených správ, celkový počet chatov atď.

Pri skúmaní WhatsApp na mobilnom zariadení so systémom iOS treba tiež venovať pozornosť nasledujúcim súborom:

  • Súbor ‘BackedUpKeyValue.sqlite’. Obsahuje kryptografické kľúče a iné údaje, ktoré sú potrebné na identifikáciu vlastníka účtu. Nachádza sa na ceste: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Súbor ‘ContactsV2.sqlite’. Obsahuje informácie o kontaktoch používateľa, ako sú celé meno, telefónne číslo, status kontaktu (vo forme textu), WhatsApp ID atď. Nachádza sa na ceste: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Súbor ‘consumer_version’. Obsahuje číslo verzie nainštalovanej aplikácie WhatsApp. Nachádza sa na ceste: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Súbor ‘current_wallpaper.jpg’. Obsahuje aktuálne pozadie aplikácie WhatsApp. Nachádza sa na ceste: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. V starších verziách aplikácie sa používa súbor ‘wallpaper’, ktorý sa nachádza na ceste: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’.
  • Súbor ‘blockedcontacts.dat’. Obsahuje informácie o zablokovaných kontaktoch. Nachádza sa na ceste: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • Súbor ‘pw.dat’. Obsahuje zašifrované heslo. Nachádza sa na ceste: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/’.
  • Súbor ‘net.whatsapp.WhatsApp.plist’ (alebo súbor ‘group.net.whatsapp.WhatsApp.shared.plist’). Obsahuje informácie o profile účtu WhatsApp. Súbor sa nachádza na ceste: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/’.

Obsah súboru ‘group.net.whatsapp.WhatsApp.shared.plist’ WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Taktiež je potrebné venovať pozornosť nasledujúcim adresárom:

  • Adresár ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/’. Obsahuje náhľady kontaktov, skupín (súbory s príponou .thumb), avatar kontaktu, avatar vlastníka účtu WhatsApp (súbor ‘Photo.jpg’).
  • Adresár ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/’. Obsahuje multimediálne súbory a ich náhľady
  • Adresár ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’. Obsahuje protokol o činnosti aplikácie (súbor ‘calls.log’) a zálohy protokolov o činnosti aplikácie (súbor ‘calls.backup.log’).
  • Adresár ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/’. Obsahuje samolepky (súbory vo formáte ‘.webp’).
  • Adresár ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/’. Obsahuje protokoly činnosti aplikácie.

Artefakty WhatsApp vo Windows

Artefakty WhatsApp vo Windows je možné nájsť na niekoľkých miestach. Predovšetkým ide o adresáre obsahujúce vykonateľné a pomocné súbory aplikácie (pre Windows 8/10):

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

V adresári ‘C:Users%User profile% AppDataLocalWhatsApp’ nachádza sa log súbor ‘SquirrelSetup.log’, ktorý obsahuje informácie o kontrole prítomnosti aktualizácií a inštalácii programu.

V adresári ‘C:Users%User profile% AppDataRoamingWhatsApp’ sa nachádza niekoľko podadresárov:

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Súbor ‘main-process.log’ obsahuje informácie o fungovaní programu WhatsApp.

Podadresár ‘databases’ obsahuje súbor ‘Databases.db’, ale tento súbor neobsahuje žiadne informácie o chatových alebo kontaktných údajoch.

Najzaujímavejšími z kriminalistického hľadiska sú súbory nachádzajúce sa v adresári ‘Cache’. Vo väčšine sú to súbory s názvami ‘f_*******’ (kde * — číslo od 0 do 9), obsahujúce zašifrované multimediálne súbory a dokumenty, ale medzi nimi sa nachádzajú aj nezašifrované súbory. Osobitný záujem vzbudzujú súbory ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’, nachádzajúce sa v tomto istom podadresári. Soubory ‘data_0’, ‘data_1’, ‘data_3’ obsahujú externé odkazy na prenášané zašifrované multimediálne súbory a dokumenty.

Príklad informácií, ktoré sa nachádzajú v súbore ‘data_1’WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Taktiež súbor ‘data_3’ môže obsahovať grafické súbory.

Súbor ‘data_2’ obsahuje avatary kontaktov (môžu byť obnovené vyhľadávaním podľa názvov súborov).

Avatary, obsiahnuté v súbore ‘data_2’:

WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
Takže v pamäti počítača nemožno nájsť samé chaty, ale možno nájsť:

  • multimediálne súbory;
  • dokumenty, ktoré boli prenášané pomocou WhatsApp;
  • informácie o kontaktoch vlastníka účtu.

Artefakty WhatsApp v MacOS

V MacOS je možné nájsť typy artefaktov WhatsApp, podobné tým, ktoré existujú v OS Windows.

Súbory programu sa nachádzajú v adresároch:

  • ‘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 <textová premenná> WhatsApp Accounts’
    V tomto adresári sa nachádzajú podadresáre, ktorých názvy predstavujú telefónne čísla, spojené s vlastníkom účtu WhatsApp.
  • ‘C:Users%User profile%LibraryCachesWhatsApp.ShipIt’
    V tomto adresári sa nachádzajú informácie o inštalácii programu.
  • ‘C:Users%User profile%PicturesMediaték iPhoto.photolibraryMasters’, ‘C:Users%User profile%PicturesMediaték iPhoto.photolibraryThumbnails’
    Tieto priečinky obsahujú systémové súbory programu, vrátane fotografií a miniaturiek kontaktov WhatsApp.
  • ‘C:Users%User profile%LibraryCachesWhatsApp’
    V tomto priečinku sa nachádza niekoľko databáz SQLite, ktoré sa používajú na ukladanie údajov do vyrovnávacej pamäte.
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp’
    V tomto priečinku sa nachádza niekoľko podpriečinkov:

    WhatsApp na dosah: kde a ako môžete objaviť kriminalistické artefakty?
    V adresári ‘C:Users%User profile%LibraryApplication SupportWhatsAppCache’ nachádzajú sa súbory ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’ a súbory s názvami ‘f_*******’ (kde * je číslo od 0 do 9). Informácie o tom, aké údaje obsahujú tieto súbory, sú popísané v časti „Artefakty WhatsApp vo Windows“.

    V adresári ‘C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB’ môžu obsahovať multimediálne súbory (súbory nemajú prípony).

    Súbor ‘main-process.log’ obsahuje informácie o fungovaní programu WhatsApp.

Zdroje

  1. Forenzná analýza WhatsApp Messenger na smartfónoch Android, autor: Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Preskúmanie súborového systému a databáz v aplikáciách Android a iOS, autor: Ahmad Pratama, 2014.

V nasledujúcich článkoch tejto série:

Dešifrovanie zašifrovaných databáz WhatsAppČlánok, v ktorom budú uvedené informácie o tom, akým spôsobom prebieha generácia šifrovacieho kľúča WhatsApp, a poskytnuté praktické príklady, ktoré ukazujú, ako vykonať dešifrovanie zašifrovaných databáz tejto aplikácie.
Extrahovanie údajov WhatsApp z cloudových úložískČlánok, v ktorom opíšeme, aké údaje WhatsApp sú uložené v cloude, a opíšeme metódy extrakcie týchto údajov z cloudových úložísk.
Extrahovanie údajov WhatsApp: praktické príkladyČlánok, v ktorom sa podrobne popíše, akými programami a ako vykonať extrakciu údajov WhatsApp z rôznych zariadení.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster