WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?

Dacă vrei să știi ce tipuri de artefacte criminalistice WhatsApp există pe diferite sisteme de operare și unde exact pot fi găsite, atunci acesta este locul pentru tine. Acest articol este de la un specialist de la Laboratorul de criminalistică informatică Group-IB Igor Mihailov lansează o serie de postări despre criminalistica WhatsApp și despre ce informații pot fi obținute din analiza dispozitivului.

Să observăm imediat că diferite sisteme de operare stochează diferite tipuri de artefacte WhatsApp, iar dacă un cercetător poate extrage anumite tipuri de date WhatsApp de pe un dispozitiv, aceasta nu înseamnă că tipuri similare de date pot fi extrase de pe alt dispozitiv. De exemplu, dacă o unitate de sistem care rulează sistemul de operare Windows este eliminată, chat-urile WhatsApp probabil nu vor fi găsite pe discurile sale (cu excepția copiilor de rezervă ale dispozitivelor iOS, care pot fi găsite pe aceleași unități). Sechestrarea laptopurilor și dispozitivelor mobile va avea propriile sale caracteristici. Să vorbim despre asta mai detaliat.

Artefacte WhatsApp pe dispozitivul Android

Pentru a extrage artefacte WhatsApp de pe un dispozitiv Android, cercetătorul trebuie să aibă drepturi de superutilizator ('rădăcină') pe dispozitivul care face obiectul investigației sau să poată extrage în alt mod o imagine de memorie fizică a dispozitivului sau a sistemului de fișiere al acestuia (de exemplu, folosind vulnerabilități software ale unui anumit dispozitiv mobil).

Fișierele aplicației se află în memoria telefonului în secțiunea în care sunt salvate datele utilizatorului. De regulă, această secțiune este numită 'datele utilizatorului'. Subdirectoarele și fișierele de program sunt situate de-a lungul căii: „/data/data/com.whatsapp/”.

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
Principalele fișiere care conțin artefacte criminalistice WhatsApp în sistemul de operare Android sunt baze de date „wa.db” и „msgstore.db”.

În baza de date „wa.db” conține lista completă de contacte a unui utilizator WhatsApp, inclusiv numărul de telefon, numele afișat, marcajele de timp și orice alte informații furnizate în timpul înregistrării pentru WhatsApp. Fişier „wa.db” situat de-a lungul potecii: „/data/data/com.whatsapp/databases/” si are urmatoarea structura:

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
Cele mai interesante tabele din baza de date „wa.db” pentru cercetător sunt:

  • 'wa_contacts'
    Acest tabel conține informații de contact: ID de contact WhatsApp, informații despre stare, numele afișat al utilizatorului, marcaje de timp etc.

    Aspectul mesei:

    WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
    Structura tabelului

    Numele domeniului Valoare
    _id înregistrarea numărului de secvență (în tabelul SQL)
    jid ID de contact WhatsApp, scris în formatul <număr de telefon>@s.whatsapp.net
    este_utilizator_whatsapp conține „1” dacă contactul corespunde unui utilizator WhatsApp real, „0” în caz contrar
    Starea conține textul afișat în starea contactului
    status_timestamp conține un marcaj de timp în format Unix Epoch Time (ms).
    număr numărul de telefon asociat contactului
    raw_contact_id numărul de serie de contact
    numele afisat numele afișat al contactului
    tip_telefon tip de telefon
    etichetă_telefon etichetă asociată cu numărul de contact
    unseen_msg_count numărul de mesaje care au fost trimise de un contact, dar nu au fost citite de destinatar
    fotografii conține un marcaj de timp în format Unix Epoch Time
    thumb_ts conține un marcaj de timp în format Unix Epoch Time
    foto_id_timestamp conține un marcaj de timp în format Unix Epoch Time (ms).
    prenume valoarea câmpului se potrivește cu „nume_afișat” pentru fiecare contact
    wa_name Numele contactului WhatsApp (este afișat numele specificat în profilul persoanei de contact)
    sort_name numele contactului utilizat în operațiunile de sortare
    poreclă pseudonimul contactului în WhatsApp (se afișează porecla specificată în profilul persoanei de contact)
    companie companie (este afișată compania specificată în profilul persoanei de contact)
    titlu titlu (Doamna/Domnul; titlul configurat în profilul de contact este afișat)
    compensa părtinire
  • 'sqlite_sequence'
    Acest tabel conține informații despre numărul de contacte;
  • „android_metadata”
    Acest tabel conține informații despre localizarea limbii WhatsApp.

În baza de date „msgstore.db” conține informații despre mesajele trimise, cum ar fi numărul de contact, textul mesajului, starea mesajului, marcajele de timp, detaliile fișierelor transferate incluse în mesaje etc. Fişier „msgstore.db” situat de-a lungul potecii: „/data/data/com.whatsapp/databases/” si are urmatoarea structura:

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
Cele mai interesante tabele din dosar „msgstore.db” pentru cercetător sunt:

  • 'sqlite_sequence'
    Acest tabel conține informații generale despre această bază de date, cum ar fi numărul total de mesaje stocate, numărul total de chat-uri etc.

    Aspectul mesei:

    WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?

  • „message_fts_content”
    Conține textul mesajelor trimise.

    Aspectul mesei:

    WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?

  • „mesaje”
    Acest tabel conține informații precum numărul de contact, textul mesajului, starea mesajului, marcajele de timp, informații despre fișierele transferate incluse în mesaje.

    Aspectul mesei:

    WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
    Structura tabelului

    Numele domeniului Valoare
    _id înregistrarea numărului de secvență (în tabelul SQL)
    key_remote_jid ID-ul WhatsApp al partenerului de comunicare
    cheie_de_me direcția mesajului: „0” – primit, „1” – ieșit
    key_id identificatorul unic al mesajului
    Starea starea mesajului: „0” – livrat, „4” – în așteptare pe server, „5” – primit la destinație, „6” – mesaj de control, „13” – mesaj deschis de destinatar (citește)
    nevoie_împinge are valoarea „2” dacă este un mesaj difuzat, în caz contrar conține „0”
    de date textul mesajului (când parametrul „media_wa_type” este „0”)
    timestamp-ul conține un marcaj de timp în format Unix Epoch Time (ms), valoarea este preluată din ceasul dispozitivului
    media_url conține adresa URL a fișierului transferat (când parametrul „media_wa_type” este „1”, „2”, „3”)
    media_mime_type Tipul MIME al fișierului transferat (când parametrul „media_wa_type” este egal cu „1”, „2”, „3”)
    media_wa_type tip mesaj: „0” - text, „1” - fișier grafic, „2” - fișier audio, „3” - fișier video, „4” - cartelă de contact, „5” - geodate
    media_size dimensiunea fișierului transferat (când parametrul „media_wa_type” este „1”, „2”, „3”)
    media_name numele fișierului transferat (când parametrul „media_wa_type” este „1”, „2”, „3”)
    media_caption Conține cuvintele „audio”, „video” pentru valorile corespunzătoare ale parametrului „media_wa_type” (când parametrul „media_wa_type” este „1”, „3”)
    media_hash Hash codificat în base64 al fișierului transmis, calculat folosind algoritmul HAS-256 (când parametrul „media_wa_type” este egal cu „1”, „2”, „3”)
    media_duration durata în secunde pentru fișierul media (când „media_wa_type” este „1”, „2”, „3”)
    origine are valoarea „2” dacă este un mesaj difuzat, în caz contrar conține „0”
    latitudine geodate: latitudine (când parametrul „media_wa_type” este „5”)
    longitudine geodate: longitudine (când parametrul „media_wa_type” este „5”)
    imagine_degetul mare informatii de serviciu
    resursă_la distanță ID expeditor (numai pentru chat-urile de grup)
    timestamp_recepţionat ora primirii, conține un marcaj temporal în format Unix Epoch Time (ms), valoarea este preluată din ceasul dispozitivului (când parametrul „key_from_me” are „0”, „-1” sau altă valoare)
    send_timestamp nu este folosit, de obicei are valoarea „-1”
    marca de timp_server_primire ora primită de serverul central, conține un marcaj temporal în format Unix Epoch Time (ms), valoarea este preluată din ceasul dispozitivului (când parametrul „key_from_me” are „1”, „-1” sau altă valoare
    marcaj de timp_dispozitiv_de_chitare la momentul în care mesajul a fost primit de un alt abonat, conține un marcaj temporal în format Unix Epoch Time (ms), valoarea este preluată din ceasul dispozitivului (când parametrul „key_from_me” are „1”, „-1” sau altă valoare
    read_device_timestamp ora deschiderii (citirii) mesajului, conține un marcaj temporal în format Unix Epoch Time (ms), valoarea este preluată din ceasul dispozitivului
    marcaj de timp_dispozitiv_jucat timpul de redare a mesajului, conține un marcaj temporal în format Unix Epoch Time (ms), valoarea este preluată din ceasul dispozitivului
    date neprelucrate miniatură a fișierului transferat (când parametrul „media_wa_type” este „1” sau „3”)
    numărul_destinatarii numărul de destinatari (pentru mesaje difuzate)
    participant_hash utilizat la transmiterea mesajelor cu geodate
    a jucat nu este folosit
    quoted_row_id necunoscut, conține de obicei valoarea „0”
    mentionate_jids nu este folosit
    multicast_id nu este folosit
    compensa părtinire

    Această listă de câmpuri nu este exhaustivă. Pentru diferite versiuni de WhatsApp, unele câmpuri pot fi prezente sau absente. În plus, pot fi prezente câmpuri „media_enc_hash”, „edit_version”, „id_tranzacție_plată” etc

  • „mesaje_miniaturi”
    Acest tabel conține informații despre imaginile transferate și marcajele de timp. În coloana „timestamp”, ora este indicată în format Unix Epoch Time (ms).
  • 'lista_chat'
    Acest tabel conține informații despre chat-uri.

    Aspectul mesei:

    WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?

De asemenea, atunci când examinați WhatsApp pe un dispozitiv mobil care rulează Android, ar trebui să acordați atenție următoarelor fișiere:

  • fișier „msgstore.db.cryptXX” (unde XX este una sau două cifre de la 0 la 12, de exemplu, msgstore.db.crypt12). Conține o copie de rezervă criptată a mesajelor WhatsApp (fișier de rezervă msgstore.db). Fișier(e) „msgstore.db.cryptXX” situat de-a lungul potecii: „/data/media/0/WhatsApp/Databases/” (card SD virtual), „/mnt/sdcard/WhatsApp/Databases/ (card SD fizic)'.
  • fișier 'cheie'. Conține o cheie criptografică. Situat de-a lungul potecii: „/data/data/com.whatsapp/files/”. Folosit pentru a decripta backup-urile WhatsApp criptate.
  • fișier „com.whatsapp_preferences.xml”. Conține informații despre profilul contului tău WhatsApp. Fișierul se află de-a lungul căii: „/data/data/com.whatsapp/shared_prefs/”.

    Fragment de conținut al fișierului

    <?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> (имя владельца аккаунта)
    … 
  • fișier „registration.RegisterPhone.xml”. Conține informații despre numărul de telefon asociat contului WhatsApp. Fișierul se află de-a lungul căii: „/data/data/com.whatsapp/shared_prefs/”.

    Conținutul fișierului

    <?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>
  • fișier „axolotl.db”. Conține chei criptografice și alte date care sunt necesare pentru a identifica proprietarul contului. Situat de-a lungul potecii: „/data/data/com.whatsapp/databases/”.
  • fișier „chatsettings.db”. Conține informații de configurare a aplicației.
  • fișier „wa.db”. Conține detalii de contact. O bază de date foarte interesantă (din punct de vedere criminalistic) și informativă. Poate conține informații detaliate despre contactele șterse.

De asemenea, trebuie să acordați atenție următoarelor directoare:

  • Directory „/data/media/0/WhatsApp/Media/WhatsApp Images/”. Conține fișiere grafice transferate.
  • Directory „/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/”. Conține mesaje vocale în fișiere în format .OPUS.
  • Directory „/data/data/com.whatsapp/cache/Profile Pictures/”. Conține fișiere grafice – imagini ale persoanelor de contact.
  • Directory „/data/data/com.whatsapp/files/Avatars/”. Conține fișiere grafice – imagini în miniatură ale contactelor. Aceste fișiere au extensia „.j”, dar sunt totuși fișiere imagine JPEG (JPG).
  • Directory „/data/data/com.whatsapp/files/Avatars/”. Conține fișiere grafice - o imagine și o miniatură ale imaginii setate ca avatar de către proprietarul contului.
  • Directory „/data/data/com.whatsapp/files/Logs/”. Conține jurnalul de operare a programului (fișierul „whatsapp.log”) și copii de rezervă ale jurnalelor de operare a programului (fișiere cu nume în formatul whatsapp-aaaa-mm-zz.1.log.gz).

Fișiere jurnal WhatsApp:

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
Fragment de jurnal2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] notificare apel ratată/număr inițial:0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] notificare/actualizare pentru apel nepreluat anulare adevărat
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:principal] fișierul parolei lipsește sau nu poate fi citit
2017-01-10 09:37:09.782 LL_I D [1:principal] statistici Mesaje text: 59 trimise, 82 primite / Mesaje media: 1 trimis (0 octeți), 0 primite (9850158 octeți) / Mesaje offline: 81 primite ( 19522 msec întârziere medie) / Serviciu de mesaje: 116075 octeți trimiși, 211729 octeți primiți / Apeluri Voip: 1 apel de ieșire, 0 apeluri de intrare, 2492 de octeți trimisi, 1530 de octeți primiți / Google Drive: 0 octeți trimiși, 0 octeți primiți / Roaming: 1524 octeți trimiși, 1826 octeți primiți / Total date: 118567 octeți trimiși, 10063417 octeți primiți
2017-01-10 09:37:09.785 LL_I D [1:principal] media-state-manager/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:principal] 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:principal] 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 | timpul petrecut: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

  • Directory „/data/media/0/WhatsApp/Media/WhatsApp Audio/”. Conține fișierele audio primite.
  • Directory „/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/”. Conține fișiere audio trimise.
  • Directory „/data/media/0/WhatsApp/Media/WhatsApp Images/”. Conține fișierele grafice rezultate.
  • Directory „/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/”. Conține fișiere grafice trimise.
  • Directory „/data/media/0/WhatsApp/Media/WhatsApp Video/”. Conține fișiere video primite.
  • Directory „/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/”. Conține fișiere video trimise.
  • Directory „/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/”. Conține fișiere grafice asociate cu proprietarul contului WhatsApp.
  • Pentru a economisi spațiu de memorie pe smartphone-ul Android, unele date WhatsApp pot fi stocate pe un card SD. Pe cardul SD, în directorul rădăcină, există un director „WhatsApp”, unde pot fi găsite următoarele artefacte ale acestui program:

    WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?

  • Directory '.Acțiune' („/mnt/sdcard/WhatsApp/.Share/”). Conține copii ale fișierelor care au fost partajate cu alți utilizatori WhatsApp.
  • Directory '.Gunoi' („/mnt/sdcard/WhatsApp/.trash/”). Conține fișiere șterse.
  • Directory 'baze de date' („/mnt/sdcard/WhatsApp/Databases/”). Conține copii de rezervă criptate. Ele pot fi decriptate dacă fișierul este prezent 'cheie', extras din memoria dispozitivului analizat.

    Fișierele aflate într-un subdirector 'baze de date':

    WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?

  • Directory 'Jumătate' („/mnt/sdcard/WhatsApp/Media/”). Conține subdirectoare 'Tapet', „Audio WhatsApp”, „Imagini WhatsApp”, „Fotografii de profil WhatsApp”, „Video WhatsApp”, „Note vocale WhatsApp”, care conțin fișiere multimedia primite și transmise (fișiere grafice, fișiere video, mesaje vocale, fotografii asociate cu profilul proprietarului contului WhatsApp, imagini de fundal).
  • Directory 'Poze de profil' („/mnt/sdcard/WhatsApp/Imagini de profil/”). Conține fișiere grafice asociate cu profilul proprietarului contului WhatsApp.
  • Uneori poate fi prezent un director pe cardul SD „fișiere” („/mnt/sdcard/WhatsApp/Files/”). Acest director conține fișiere care stochează setările programului și preferințele utilizatorului.

Caracteristici de stocare a datelor în unele modele de dispozitive mobile

Unele modele de dispozitive mobile care rulează sistemul de operare Android pot stoca artefacte WhatsApp într-o altă locație. Acest lucru se datorează modificărilor spațiului de stocare al datelor aplicației de către software-ul de sistem al dispozitivului mobil. De exemplu, dispozitivele mobile Xiaomi au o funcție pentru crearea unui al doilea spațiu de lucru („SecondSpace”). Când această funcție este activată, locația datelor se modifică. Deci, dacă într-un dispozitiv mobil obișnuit care rulează sistemul de operare Android, datele utilizatorului sunt stocate în director „/data/user/0/” (care este o referire la obișnuit '/data/data/'), apoi în al doilea spațiu de lucru datele aplicației sunt stocate în director „/data/user/10/”. Adică, folosind exemplul locației fișierului „wa.db”:

  • într-un smartphone obișnuit care rulează sistemul de operare Android: /data/user/0/com.whatsapp/databases/wa.db” (care este echivalent „/data/data/com.whatsapp/databases/wa.db”);
  • în al doilea spațiu de lucru al smartphone-ului Xiaomi: „/data/user/10/com.whatsapp/databases/wa.db”.

Artefacte WhatsApp pe dispozitivul iOS

Spre deosebire de sistemul de operare Android, în iOS datele aplicației WhatsApp sunt transferate într-o copie de rezervă (backup iTunes). Prin urmare, extragerea datelor din această aplicație nu necesită extragerea sistemului de fișiere sau crearea unui dump de memorie fizică a dispozitivului investigat. Majoritatea informațiilor relevante sunt conținute în baza de date „ChatStorage.sqlite”, care se află de-a lungul căii: „/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/” (în unele programe această cale apare ca „AppDomainGroup-group.net.whatsapp.WhatsApp.shared”).

Structura „ChatStorage.sqlite”:

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
Cele mai informative tabele din baza de date „ChatStorage.sqlite” sunt „ZWAMESSAGE” и „ZWAMEDIAITEM”.

Aspectul mesei „ZWAMESSAGE”:

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
Structura tabelului „ZWAMESSAGE”

Numele domeniului Valoare
Z_PK înregistrarea numărului de secvență (în tabelul SQL)
Z_ENT identificatorul tabelului, are valoarea „9”
Z_OPT necunoscut, conține de obicei valori de la „1” la „6”
ZCHILDMESSAGELIVREDCOUNT necunoscut, conține de obicei valoarea „0”
ZCHILDMESSAGESPLAYEDCOUNT necunoscut, conține de obicei valoarea „0”
ZCHILDMESSAGESREADCOUNT necunoscut, conține de obicei valoarea „0”
ZDATAITEMVERSION necunoscut, conține de obicei valoarea „3”, probabil un indicator de mesaj text
ZDOCID este necunoscut
ZENCRETRYCOUNT necunoscut, conține de obicei valoarea „0”
ZFILTEREDRECIPIENTCOUNT necunoscut, conține de obicei valorile „0”, „2”, „256”
ZISFROMME direcția mesajului: „0” – primit, „1” – ieșit
ZMESSAGEERRORSTATUS starea transmiterii mesajului. Dacă mesajul este trimis/primit, atunci acesta are valoarea „0”
ZMESSAGETYPE tipul de mesaj transmis
ZSORT este necunoscut
ZSPOTLIGHSTATUS este necunoscut
ZSTARRED necunoscut, neutilizat
ZCHATSSESSION este necunoscut
ZGROUPMEMBRU necunoscut, neutilizat
ZLASTSESIUNE este necunoscut
ZMEDIAITEM este necunoscut
ZMESSAGEINFO este necunoscut
ZPARENTMESSAGE necunoscut, neutilizat
ZMESSAGEDATE marca temporală în format OS X Epoch Time
ZSENTDATE momentul în care mesajul a fost trimis în format OS X Epoch Time
ZFROMJID ID-ul expeditorului WhatsApp
ZMEDIASECTIONID conține anul și luna în care a fost trimis fișierul media
ZPHASH necunoscut, neutilizat
ZPUSHPAME numele persoanei de contact care a trimis fișierul media în format UTF-8
ZSTANZID identificatorul unic al mesajului
ZTEXT Mesaj text
ZTOJID ID-ul WhatsApp al destinatarului
OFFSET părtinire

Aspectul mesei „ZWAMEDIAITEM”:

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
Structura tabelului „ZWAMEDIAITEM”

Numele domeniului Valoare
Z_PK înregistrarea numărului de secvență (în tabelul SQL)
Z_ENT identificatorul tabelului, are valoarea „8”
Z_OPT necunoscut, conține de obicei valori de la „1” la „3”.
ZCLOUDSTATUS conține valoarea „4” dacă fișierul este încărcat.
ZFILESIZE conține lungimea fișierului (în octeți) pentru fișierele descărcate
ZMEDIAORIGIN necunoscut, are de obicei valoarea „0”
ZMOVIEDURATION durata fișierului media, pentru fișierele pdf pot conține numărul de pagini ale documentului
ZMESAJ conține un număr de serie (numărul este diferit de cel indicat în coloana „Z_PK”)
ZASPECTRATIE raport de aspect, neutilizat, de obicei setat la „0”
ZEXACURITATE necunoscut, are de obicei valoarea „0”
ZLATTITUDINE lățimea în pixeli
ZLONGITUDINE înălțimea în pixeli
ZMEDIAURLDATE marca temporală în format OS X Epoch Time
ZAUTHORNAME autor (pentru documente, poate conține numele fișierului)
ZCOLLECTIONNAME nu este folosit
ZMEDIALOCALPATH numele fișierului (inclusiv calea) în sistemul de fișiere al dispozitivului
ZMEDIAURL Adresa URL la care a fost localizat fișierul media. Dacă un fișier a fost transferat de la un abonat la altul, acesta a fost criptat și extensia lui va fi indicată ca extensie a fișierului transferat - .enc
ZTHUMBNAILLOCALPATH calea către miniatura fișierului din sistemul de fișiere al dispozitivului
ZTITLE antetul fișierului
ZVCARDNAME hash fișier media; atunci când transferați un fișier într-un grup, acesta poate conține identificatorul expeditorului
ZVCARDSTRING conține informații despre tipul de fișier care este transferat (de exemplu, imagine/jpeg); atunci când transferați un fișier într-un grup, acesta poate conține identificatorul destinatarului
ZXMPPTHUMBPATH calea către miniatura fișierului din sistemul de fișiere al dispozitivului
ZMEDIAKEY necunoscut, probabil conține cheia pentru a decripta fișierul criptat.
ZMETADATA metadatele mesajului transmis
Compensa părtinire

Alte tabele interesante de baze de date „ChatStorage.sqlite” Acestea sunt:

  • „ZWAPROFILEPUSHNAME”. Potrivește ID-ul WhatsApp cu numele contactului;
  • „ZWAPROFILEPICTUREITEM”. Potrivește ID-ul WhatsApp cu avatarul de contact;
  • „Z_PRIMARYKEY”. Tabelul conține informații generale despre această bază de date, cum ar fi numărul total de mesaje stocate, numărul total de chat-uri etc.

De asemenea, atunci când examinați WhatsApp pe un dispozitiv mobil care rulează iOS, ar trebui să acordați atenție următoarelor fișiere:

  • fișier „BackedUpKeyValue.sqlite”. Conține chei criptografice și alte date care sunt necesare pentru a identifica proprietarul contului. Situat de-a lungul potecii: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • fișier „ContactsV2.sqlite”. Conține informații despre persoanele de contact ale utilizatorului, cum ar fi numele complet, numărul de telefon, starea contactului (sub formă de text), ID WhatsApp etc. Situat de-a lungul potecii: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • fișier „versiunea_consumator”. Conține numărul versiunii aplicației WhatsApp instalate. Situat de-a lungul potecii: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • fișier „current_wallpaper.jpg”. Conține imaginea de fundal actuală pentru WhatsApp. Situat de-a lungul potecii: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Versiunile mai vechi ale aplicației folosesc fișierul 'tapet', care se află de-a lungul căii: „/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/”.
  • fișier „blockedcontacts.dat”. Conține informații despre contactele blocate. Situat de-a lungul potecii: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • fișier 'pw.dat'. Conține o parolă criptată. Situat de-a lungul potecii: „/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/”.
  • fișier „net.whatsapp.WhatsApp.plist” (sau dosar „group.net.whatsapp.WhatsApp.shared.plist”). Conține informații despre profilul contului tău WhatsApp. Fișierul se află de-a lungul căii: „/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/”.

Conținutul fișierului „group.net.whatsapp.WhatsApp.shared.plist” WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
De asemenea, trebuie să acordați atenție următoarelor directoare:

  • Directory „/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/”. Conține miniaturile de contacte, grupuri (fișiere cu extensia .deget mare), avatarurile de contact, avatarul proprietarului contului WhatsApp (fișier „Photo.jpg”).
  • Directory „/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/”. Conține fișiere multimedia și miniaturile acestora
  • Directory „/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/”. Conține jurnalul de operare a programului (fișier „calls.log”) și copii de rezervă ale jurnalelor de operare a programului (fișier „calls.backup.log”).
  • Directory „/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/”. Conține autocolante (fișiere în format „.webp”).
  • Directory „/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/”. Conține jurnalele de operare a programului.

Artefacte WhatsApp pe Windows

Artefactele WhatsApp pe Windows pot fi găsite în mai multe locuri. În primul rând, acestea sunt directoare care conțin fișiere executabile și auxiliare ale programului (pentru Windows 8/10):

  • „C:Fișiere de program (x86)WhatsApp”
  • „C:Users%User profile% AppDataLocalWhatsApp”
  • „C:Users%User profile% AppDataLocalVirtualStore Program Files (x86)WhatsApp”

În catalog „C:Users%User profile% AppDataLocalWhatsApp” se află fișierul jurnal „SquirrelSetup.log”, care conține informații despre verificarea actualizărilor și instalarea programului.

În catalog „C:Users%User profile% AppDataRoamingWhatsApp” Există mai multe subdirectoare:

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
fișier „main-process.log” conține informații despre funcționarea programului WhatsApp.

Subdirectorul 'baze de date' conţine un fişier „Databases.db”, dar acest fișier nu conține nicio informație despre chat-uri sau contacte.

Cele mai interesante din punct de vedere criminalistic sunt fișierele aflate în director „Cache”. Acestea sunt practic fișiere numite 'f_********' (unde * este un număr de la 0 la 9) care conține fișiere și documente multimedia criptate, dar există și fișiere necriptate printre ele. De un interes deosebit sunt dosarele 'data_0', 'data_1', 'data_2', 'data_3', situat în același subdirector. Fișiere 'data_0', 'data_1', 'data_3' conțin legături externe către fișiere și documente multimedia criptate transmise.

Exemplu de informații conținute în fișierul „data_1”WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
De asemenea, dosar 'data_3' poate conține fișiere grafice.

fișier 'data_2' conține avatare de contact (poate fi restaurat prin căutarea după antetele fișierelor).

Avatarele conținute în fișier 'data_2':

WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
Astfel, chat-urile în sine nu pot fi găsite în memoria computerului, dar puteți găsi:

  • fișiere multimedia;
  • documente transmise prin WhatsApp;
  • informații despre persoanele de contact ale proprietarului contului.

Artefacte WhatsApp pe MacOS

În MacOS puteți găsi tipuri de artefacte WhatsApp similare cu cele găsite în sistemul de operare Windows.

Fișierele programului se află în următoarele directoare:

  • „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”
    Acest director conține subdirectoare ale căror nume sunt numere de telefon asociate proprietarului contului WhatsApp.
  • „C:Users%User profile%LibraryCachesWhatsApp.ShipIt”
    Acest director conține informații despre instalarea programului.
  • „C:Users%User profile%PicturesiPhoto Library.photolibraryMasters”, „C:Users%User profile%PicturesiPhoto Library.photolibraryThumbnails”
    Aceste directoare conțin fișiere de serviciu ale programului, inclusiv fotografii și miniaturi ale contactelor WhatsApp.
  • „C:Users%User profile%LibraryCachesWhatsApp”
    Acest director conține mai multe baze de date SQLite care sunt utilizate pentru stocarea în cache a datelor.
  • „C:Utilizatori%Profil de utilizator%LibraryApplication SupportWhatsApp”
    Acest director conține mai multe subdirectoare:

    WhatsApp în palmă: unde și cum puteți găsi artefacte criminalistice?
    În catalog „C:Users%User profile%LibraryApplication SupportWhatsAppCache” sunt dosare 'data_0', 'data_1', 'data_2', 'data_3' și fișiere cu nume 'f_********' (unde * este un număr de la 0 la 9). Pentru informații despre informațiile pe care le conțin aceste fișiere, consultați Artefacte WhatsApp pe Windows.

    În catalog „C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB” poate conține fișiere multimedia (fișierele nu au extensii).

    fișier „main-process.log” conține informații despre funcționarea programului WhatsApp.

surse

  1. Analiza criminalistică a WhatsApp Messenger pe smartphone-uri Android, de Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Sistemul de explorare a datelor de bază pentru aplicația Android și iOS de Ahmad Pratama, 2014.

În următoarele articole din această serie:

Decriptarea bazelor de date WhatsApp criptateUn articol care va oferi informații despre cum este generată cheia de criptare WhatsApp și exemple practice care arată cum să decriptați bazele de date criptate ale acestei aplicații.
Extragerea datelor WhatsApp din stocarea în cloudUn articol în care vă vom spune ce date WhatsApp sunt stocate în nori și vă vom descrie metode de preluare a acestor date din stocarea în cloud.
Extragerea datelor WhatsApp: exemple practiceUn articol care va descrie pas cu pas ce programe și cum să extragi datele WhatsApp de pe diverse dispozitive.

Sursa: www.habr.com

Adauga un comentariu