WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?

Se vulete sapè chì tippi di artefatti forensici di WhatsApp esistenu in diversi sistemi operativi è induve si ponu truvà esattamente, allora questu hè u locu per voi. Questu articulu hè da un specialista in u Laboratoriu Forensicu di Computer Group-IB Igor Mikhailov principia una seria di posti nantu à WhatsApp forensics è quale infurmazione pò esse ottenuta da l'analisi di u dispusitivu.

Nutate immediatamente chì i diversi sistemi operativi guardanu diversi tipi di artefatti WhatsApp, è se un ricercatore pò estrae certi tipi di dati WhatsApp da un dispositivu, questu ùn significa micca chì tipi simili di dati ponu esse estratti da un altru dispositivu. Per esempiu, se una unità di sistema chì esegue Windows OS hè sguassata, allora i chats WhatsApp ùn saranu probabilmente micca truvati in i so dischi (eccezzioni di copie di salvezza di i dispositi iOS, chì ponu esse truvati nantu à i stessi unità). A sequestrazione di laptops è dispositivi mobili avarà e so caratteristiche. Parlemu di questu in più detail.

Artefatti WhatsApp in u dispositivu Android

Per caccià l'artefatti di WhatsApp da un dispositivu Android, u ricercatore deve avè i diritti di superutilizatori ('radica') nant'à u dispusitivu sottu investigazione o esse in gradu di estrarre altrimenti un dump di memoria fisica di u dispusitivu, o u so sistema di schedari (per esempiu, utilizendu vulnerabilità di u software di un dispositivu mobile specificu).

I schedarii di l'applicazioni sò situati in a memoria di u telefunu in a rùbbrica induve i dati di l'utilizatori sò salvati. Comu regula, sta sezione hè chjamata "dati d'utilizatore". I subdirectorii è i schedarii di prugramma sò situati longu u percorsu: '/data/data/com.whatsapp/'.

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
I schedarii principali chì cuntenenu artefatti forensici di WhatsApp in u SO Android sò basa di dati 'wa.db' и 'msgstore.db'.

In a basa di dati 'wa.db' cuntene a lista completa di cuntatti di un utilizatore WhatsApp, cumpresu u numeru di telefunu, u nome di visualizazione, i timestamps, è qualsiasi altra infurmazione furnita durante a registrazione per WhatsApp. File 'wa.db' situatu longu u caminu: '/data/data/com.whatsapp/databases/' è hà a struttura seguente:

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
I tavule più interessanti in a basa di dati 'wa.db' per u ricercatore sò:

  • 'wa_contatti'
    Sta tabella cuntene infurmazione di cuntattu: ID di cuntattu WhatsApp, infurmazione di statutu, nome di visualizazione di l'utilizatori, timestamps, etc.

    L'aspettu di a tavola:

    WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
    Struttura di a tavola

    Nome di campu valore
    _id numeru di sequenza di registrazione (in a tabella SQL)
    jid ID di cuntattu WhatsApp, scrittu in u formatu <numeru di telefunu>@s.whatsapp.net
    is_whatsapp_user cuntene '1' se u cuntattu currisponde à un utilizatore WhatsApp attuale, '0' altrimenti
    statutu cuntene u testu affissatu in u statu di cuntattu
    status_timestamp cuntene un timestamp in u formatu Unix Epoch Time (ms).
    nùmeru numeru di telefunu assuciatu cù u cuntattu
    raw_contact_id numeru di seriale di cuntattu
    display_name nome di visualizazione di u cuntattu
    phone_type tipu di telefonu
    phone_label etichetta assuciata cù u numeru di cuntattu
    unseen_msg_count numeru di missaghji chì sò stati mandati da un cuntattu, ma ùn sò state lettu da u destinatariu
    foto_ts cuntene un timestamp in u formatu Unix Epoch Time
    thumb_ts cuntene un timestamp in u formatu Unix Epoch Time
    photo_id_timestamp cuntene un timestamp in u formatu Unix Epoch Time (ms).
    nome u valore di u campu currisponde à "display_name" per ogni cuntattu
    wa_name Nome di cuntattu WhatsApp (u nome specificatu in u prufilu di u cuntattu hè visualizatu)
    sort_name nome di cuntattu utilizatu in operazioni di sorte
    alcuni u nickname di u cuntattu in WhatsApp (u nickname specificatu in u prufilu di u cuntattu hè visualizatu)
    cumpagnia cumpagnia (a cumpagnia specificata in u prufilu di u cuntattu hè visualizata)
    titre titulu (Ms./Mr.; titulu cunfiguratu in u prufilu di cuntattu hè visualizatu)
    offset preghjudiziu
  • 'sqlite_sequence'
    Sta tavula cuntene infurmazione nantu à u numeru di cuntatti;
  • 'android_metadata'
    Questa tavula cuntene infurmazione nantu à a localizazione di a lingua WhatsApp.

In a basa di dati 'msgstore.db' cuntene infurmazione nantu à i missaghji mandati, cum'è numeru cuntattu, testu missaghju, statutu missaghju, timestamps, ditagli di i schedari trasfiruta inclusa in missaghji, etc. File 'msgstore.db' situatu longu u caminu: '/data/data/com.whatsapp/databases/' è hà a struttura seguente:

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
I tavule più interessanti in u schedariu 'msgstore.db' per u ricercatore sò:

  • 'sqlite_sequence'
    Sta tavula cuntene infurmazione generale nantu à sta basa di dati, cum'è u numeru tutale di missaghji guardati, u numeru tutale di chats, etc.

    L'aspettu di a tavola:

    WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?

  • 'message_fts_content'
    Cuntene u testu di i missaghji mandati.

    L'aspettu di a tavola:

    WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?

  • 'messages'
    Sta tavula cuntene infurmazione cum'è u numeru di cuntattu, u testu di u missaghju, u statutu di u messagiu, i timestamps, l'infurmazioni nantu à i fugliali trasferiti inclusi in i missaghji.

    L'aspettu di a tavola:

    WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
    Struttura di a tavola

    Nome di campu valore
    _id numeru di sequenza di registrazione (in a tabella SQL)
    key_remote_jid ID WhatsApp di u cumpagnu di cumunicazione
    chjave_da_me direzzione di u missaghju: '0' - entrata, '1' - in uscita
    key_id identificatore unicu di messagiu
    statutu statutu di u messagiu: '0' - consegnatu, '4' - aspittendu nantu à u servitore, '5' - ricevutu à destinazione, '6' - missaghju di cuntrollu, '13' - missaghju apertu da u destinatariu (lettu)
    bisognu_push hà u valore "2" s'ellu hè un missaghju broadcast, altrimenti cuntene "0"
    données testu di missaghju (quandu u paràmetru 'media_wa_type' hè '0')
    sicunnu cuntene un timestamp in u formatu Unix Epoch Time (ms), u valore hè pigliatu da u clock di u dispusitivu
    media_url cuntene l'URL di u schedariu trasferitu (quandu u paràmetru 'media_wa_type' hè '1', '2', '3')
    media_mime_type Tipu MIME di u schedariu trasferitu (quandu u paràmetru 'media_wa_type' hè uguale à '1', '2', '3')
    media_wa_type tipu di missaghju: '0' - testu, '1' - schedariu graficu, '2' - file audio, '3' - file video, '4' - carta di cuntattu, '5' - geodata
    media_size dimensione di u schedariu trasferitu (quandu u paràmetru 'media_wa_type' hè '1', '2', '3')
    media_name nome di u schedariu trasferitu (quandu u paràmetru 'media_wa_type' hè '1', '2', '3')
    media_caption Contene e parolle "audio", "video" per i valori currispondenti di u paràmetru "media_wa_type" (quandu u paràmetru "media_wa_type" hè "1", "3").
    media_hash Hash codificato base64 di u schedariu trasmessu, calculatu cù l'algoritmu HAS-256 (quandu u paràmetru 'media_wa_type' hè uguale à '1', '2', '3')
    media_duration durata in seconde per u schedariu media (quandu 'media_wa_type' hè '1', '2', '3')
    urìggini hà u valore "2" s'ellu hè un missaghju broadcast, altrimenti cuntene "0"
    latitudine geodata: latitudine (quandu u paràmetru 'media_wa_type' hè '5')
    longitudine geodata: longitudine (quandu u paràmetru 'media_wa_type' hè '5')
    thumb_image infurmazione di serviziu
    risorsa_remota ID di mittente (solu per i chat di gruppu)
    ricevutu_timestamp tempu di ricivutu, cuntene un timestamp in Unix Epoch Time (ms), u valore hè pigliatu da u clock di u dispusitivu (quandu u paràmetru 'key_from_me' hà '0', '-1' o altru valore)
    send_timestamp micca usatu, generalmente hà u valore '-1'
    receipt_server_timestamp tempu ricevutu da u servitore cintrali, cuntene un timestamp in Unix Epoch Time (ms), u valore hè pigliatu da u clock di u dispusitivu (quandu u paràmetru "key_from_me" hà "1", "-1" o un altru valore.
    receipt_device_timestamp tempu u messagiu hè statu ricevutu da un altru abbonatu, cuntene un timestamp in Unix Epoch Time (ms), u valore hè pigliatu da u clock di u dispusitivu (quandu u paràmetru "key_from_me" hà "1", "-1" o un altru valore.
    read_device_timestamp tempu di apertura (lettura) u missaghju, cuntene un timestamp in u formatu Unix Epoch Time (ms), u valore hè pigliatu da u clock di u dispusitivu
    played_device_timestamp u tempu di riproduzione di u messagiu, cuntene un timestamp in Unix Epoch Time (ms), u valore hè pigliatu da u clock di u dispusitivu
    raw_data miniatura di u schedariu trasferitu (quandu u paràmetru 'media_wa_type' hè '1' o '3')
    destinatariu_count numeru di destinatari (per i missaghji broadcast)
    participant_hash usatu quandu trasmette missaghji cù geodata
    starred micca adupratu
    quoted_row_id scunnisciutu, generalmente cuntene u valore '0'
    menzionati_jids micca adupratu
    multicast_id micca adupratu
    offset preghjudiziu

    Questa lista di campi ùn hè micca exhaustiva. Per diverse versioni di WhatsApp, certi campi ponu esse presenti o assenti. Inoltre, i campi ponu esse prisenti 'media_enc_hash', 'edit_versione', 'id_transazzione_pagamentu' è cusì.

  • 'messages_thumbnails'
    Sta tabella cuntene infurmazione nantu à l'imaghjini trasferiti è i timestamps. In a colonna "timestamp", l'ora hè indicata in u formatu Unix Epoch Time (ms).
  • 'chat_list'
    Sta tabella cuntene infurmazione nantu à i chats.

    L'aspettu di a tavola:

    WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?

Inoltre, quandu esaminendu WhatsApp in un dispositivu mobile chì funziona Android, duvete attente à i seguenti schedari:

  • u schedariu 'msgstore.db.cryptXX' (induve XX hè una o duie cifre da 0 à 12, per esempiu, msgstore.db.crypt12). Contene una copia di salvezza criptata di i missaghji WhatsApp (file di salvezza msgstore.db). File (s) 'msgstore.db.cryptXX' situatu longu u caminu: '/data/media/0/WhatsApp/Databases/' (carta SD virtuale), '/mnt/sdcard/WhatsApp/Databases/ (carta SD fisica)'.
  • u schedariu 'chiave'. Contene una chjave criptografica. Situatu longu u percorsu: '/data/data/com.whatsapp/files/'. Adupratu per decriptà e copie di salvezza WhatsApp criptate.
  • u schedariu 'com.whatsapp_preferences.xml'. Contene infurmazione nantu à u vostru prufilu di u vostru contu WhatsApp. U schedariu hè situatu longu u percorsu: '/data/data/com.whatsapp/shared_prefs/'.

    Frammentu di cuntenutu di u schedariu

    <?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> (имя владельца аккаунта)
    … 
  • u schedariu 'registration.RegisterPhone.xml'. Contene infurmazione nantu à u numeru di telefunu assuciatu cù u contu WhatsApp. U schedariu hè situatu longu u percorsu: '/data/data/com.whatsapp/shared_prefs/'.

    cuntenutu di u schedariu

    <?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>
  • u schedariu 'axolotl.db'. Contene chjavi criptografichi è altre dati chì sò necessarii per identificà u pruprietariu di u contu. Situatu longu u percorsu: '/data/data/com.whatsapp/databases/'.
  • u schedariu 'chatsettings.db'. Contene infurmazione di cunfigurazione di l'applicazione.
  • u schedariu 'wa.db'. Cuntene i dati di cuntattu. Una basa di dati assai interessante (da un aspettu forensicu) è informativa. Si pò cuntene infurmazione dettagliata circa cuntatti sguassati.

Avete ancu bisognu di attentu à i seguenti cartulari:

  • catalogo '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Contene i fugliali gràfiche trasferiti.
  • catalogo '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Cuntene missaghji di voce in i schedarii di furmatu .OPUS.
  • catalogo '/data/data/com.whatsapp/cache/Profile Pictures/'. Cuntene schedarii grafichi - imagine di cuntatti.
  • catalogo '/data/data/com.whatsapp/files/Avatars/'. Contene i fugliali gràfiche - miniature images di cuntatti. Questi schedari anu una estensione '.j' ma sò quantunque JPEG (JPG).
  • catalogo '/data/data/com.whatsapp/files/Avatars/'. Contene i fugliali grafici - una maghjina è una miniatura di l'imaghjina stabilita cum'è avatar da u pruprietariu di u contu.
  • catalogo '/data/data/com.whatsapp/files/Logs/'. Contene u logu di u funziunamentu di u prugramma (file 'whatsapp.log') è copie di salvezza di i logs di l'operazione di u prugramma (fichi cù nomi in u formatu whatsapp-yyyy-mm-dd.1.log.gz).

File di log di WhatsApp:

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
Frammentu di ghjurnale2017-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] misscallnotification/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:principale] file di password mancante o illeggibile
2017-01-10 09:37:09.782 LL_I D [1:principale] statistiche Missaghji di testu: 59 mandati, 82 ricevuti / Missaghji Media: 1 mandatu (0 bytes), 0 ricevuti (9850158 bytes) / Missaghji offline: 81 ricevuti ( 19522 msec ritardu mediu) / Serviziu di messagiu: 116075 byte mandati, 211729 bytes ricevuti / Voip Calls: 1 chiamate in uscita, 0 chiamate entranti, 2492 bytes inviati, 1530 bytes ricevuti / Google Drive: 0 bytes inviati, 0 bytes ricevuti / Roaming: bytes mandati, 1524 bytes ricevuti / Total Data: 1826 bytes inviati, 118567 bytes ricevuti
2017-01-10 09:37:09.785 LL_I D [1:principale] media-state-manager/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:principale] 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:principale] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1:principale] 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:principale] 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:principale] 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:principale] 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:principale] 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 | tempu passatu: 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

  • catalogo '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Contene i fugliali audio ricevuti.
  • catalogo '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Contene i fugliali audio mandati.
  • catalogo '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Contene i fugliali grafichi resultanti.
  • catalogo '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Contene i schedarii grafichi mandati.
  • catalogo '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Contene i fugliali video ricevuti.
  • catalogo '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Contene i fugliali video mandati.
  • catalogo '/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/'. Contene i fugliali grafici assuciati cù u pruprietariu di u contu WhatsApp.
  • Per salvà u spaziu di memoria in u vostru smartphone Android, alcuni dati WhatsApp ponu esse guardati in una carta SD. Nantu à a carta SD, in u cartulare radicali, ci hè un cartulare 'WhatsApp', induve i seguenti artefatti di stu prugramma ponu esse truvati:

    WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?

  • catalogo '.Share' ('/mnt/sdcard/WhatsApp/.Share/'). Contene copie di i fugliali chì sò stati spartuti cù altri utilizatori WhatsApp.
  • catalogo '.trash' ('/mnt/sdcard/WhatsApp/.trash/'). Contene i schedari eliminati.
  • catalogo 'base di dati' ('/mnt/sdcard/WhatsApp/Databases/'). Contene copie di salvezza criptate. Puderanu esse decrypted se u schedariu hè presente 'chiave', estratta da a memoria di u dispusitivu analizatu.

    I schedari situatu in un subdirectory 'base di dati':

    WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?

  • catalogo 'Mità' ('/mnt/sdcard/WhatsApp/Media/'). Contene subdirectorii 'Wallpaper', "Audio WhatsApp", 'Immagini di WhatsApp', "Foto di prufilu WhatsApp", 'Video WhatsApp', "Note di voce WhatsApp", chì cuntenenu fugliali multimediali ricevuti è trasmessi (fichi gràfici, fugliali video, missaghji di voce, foto assuciate cù u prufilu di u pruprietariu di u contu WhatsApp, sfondi).
  • catalogo "Immagini di prufilu" ('/mnt/sdcard/WhatsApp/Profile Pictures/'). Contene i fugliali grafici assuciati cù u prufilu di u pruprietariu di u contu WhatsApp.
  • Calchì volta ci pò esse un cartulare prisenti nant'à a carta SD 'fichi' ('/mnt/sdcard/WhatsApp/Files/'). Stu repertoriu cuntene i fugliali chì guardanu i paràmetri di u prugramma è e preferenze di l'utilizatori.

Funzioni di almacenamiento di dati in certi mudelli di dispositi mobile

Certi mudelli di dispositi mobili chì funzionanu Android OS ponu almacenà artefatti WhatsApp in un locu diversu. Questu hè dovutu à i cambiamenti in u spaziu di almacenamiento di dati di l'applicazione da u software di u sistema di u dispositivu mobile. Per esempiu, i dispositi mobili Xiaomi anu una funzione per creà un secondu spaziu di travagliu ("SecondSpace"). Quandu sta funzione hè attivata, u locu di i dati cambia. Allora, se in un dispositivu mobile regulare chì eseguisce Android OS, i dati di l'utilizatori sò almacenati in u cartulare '/data/user/0/' (chì hè una riferenza à u solitu '/data/data/'), dopu in a seconda data di l'applicazione di u spaziu di travagliu hè guardatu in u cartulare '/data/user/10/'. Questu hè, usendu l'esempiu di u locu di u schedariu 'wa.db':

  • in un smartphone normale chì funziona Android OS: /data/user/0/com.whatsapp/databases/wa.db' (chì hè equivalente '/data/data/com.whatsapp/databases/wa.db');
  • in u sicondu spaziu di travagliu di u smartphone Xiaomi: '/data/user/10/com.whatsapp/databases/wa.db'.

Artefatti WhatsApp in u dispositivu iOS

A cuntrariu di Android OS, in iOS i dati di l'applicazione WhatsApp sò trasferiti à una copia di salvezza (copia di salvezza iTunes). Dunque, l'estrazione di dati da questa applicazione ùn hà micca bisognu di estrazione di u sistema di fugliale o di creà un dump di memoria fisica di u dispositivu investigatu. A maiò parte di l'infurmazioni pertinenti sò cuntenute in a basa di dati 'ChatStorage.sqlite', chì si trova longu u percorsu: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (in certi prugrammi sta strada appare cum'è 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').

strutura 'ChatStorage.sqlite':

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
I tavule più informativi in ​​a basa di dati "ChatStorage.sqlite" sò 'ZWAMESSAGE' и 'ZWAMEDIAITEM'.

L'aspettu di a tavola 'ZWAMESSAGE':

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
Struttura di a tavula "ZWAMESSAGE"

Nome di campu valore
Z_PK numeru di sequenza di registrazione (in a tabella SQL)
Z_ENT identificatore di tabella, hà u valore '9'
Z_OPT scunnisciutu, cuntene generalmente valori da '1' à '6'
ZCHILDMESSAGES CONSEGNATI CONTE scunnisciutu, generalmente cuntene u valore '0'
ZCHILDMESSAGESPLAYEDCOUNT scunnisciutu, generalmente cuntene u valore '0'
ZCHILDMESSAGESREADCOUNT scunnisciutu, generalmente cuntene u valore '0'
ZDATAITEMVERSION scunnisciutu, di solitu cuntene u valore '3', probabilmente un indicatore di missaghju di testu
ZDOCID hè scunnisciutu
ZENCRETRYCOUNT scunnisciutu, generalmente cuntene u valore '0'
ZFILTEREDRECIPIENTCOUNT scunnisciutu, generalmente cuntene i valori "0", "2", "256"
ZISFROMME direzzione di u missaghju: '0' - entrata, '1' - in uscita
ZMESSAGEERRORSTATUS status di trasmissione di missaghju. Se u missaghju hè mandatu / ricevutu, allora hà u valore '0'
ZMESSAGETYPE tipu di missaghju trasmessi
ZSORT hè scunnisciutu
ZSPOTLIGHSTATUS hè scunnisciutu
ZSTARRED scunnisciutu, micca usatu
ZCHATSESSION hè scunnisciutu
MEMBRU ZGROUP scunnisciutu, micca usatu
ZLASTSESSION hè scunnisciutu
ZMEDIAITEM hè scunnisciutu
ZMESSAGEINFO hè scunnisciutu
ZPARENTMESSAGE scunnisciutu, micca usatu
ZMESSAGEDATE timestamp in u furmatu OS X Epoch Time
ZSENTDATE tempu u missaghju hè statu mandatu in u furmatu OS X Epoch Time
ZFROMJID ID di u mittente di WhatsApp
ZMEDIASECTIONID cuntene l'annu è u mese chì u schedariu media hè statu mandatu
ZPHASH scunnisciutu, micca usatu
ZPUSHPAME nome di u cuntattu chì hà mandatu u schedariu media in u furmatu UTF-8
ZSTANZID identificatore unicu di messagiu
ZTEXT Testu di u messagiu
ZTOJID ID WhatsApp di u destinatariu
OFFSET preghjudiziu

L'aspettu di a tavola 'ZWAMEDIAITEM':

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
Struttura di a tavula "ZWAMEDIAITEM"

Nome di campu valore
Z_PK numeru di sequenza di registrazione (in a tabella SQL)
Z_ENT identificatore di tabella, hà u valore '8'
Z_OPT inconnu, generalmente cuntene valori da '1' à '3'.
ZCLOUDSTATUS cuntene u valore "4" se u schedariu hè caricatu.
ZFILESIZE cuntene a lunghezza di u schedariu (in byte) per i schedari scaricati
ZMEDIAORIGIN scunnisciutu, generalmente hà u valore '0'
ZMOVIEDURAZIONE durata di u schedariu media, per i schedari pdf pò cuntene u numeru di pagine di u documentu
ZMESSAGGIU cuntene un numeru di serie (u numeru hè sfarente da quellu indicatu in a colonna 'Z_PK')
ZASPECTRATIU rapportu d'aspettu, micca usatu, di solitu stabilitu à '0'
ZHACCURACY scunnisciutu, generalmente hà u valore '0'
ZLATTITUDE larghezza in pixel
ZLONGITUDINE altezza in pixel
ZMEDIAURLDATE timestamp in u furmatu OS X Epoch Time
ZAUTHORNAME autore (per i documenti, pò cuntene u nome di u schedariu)
ZCOLLECTIONNAME micca adupratu
ZMEDIALOCALPATH nome di u schedariu (cumpresu u percorsu) in u sistema di fugliale di u dispusitivu
ZMEDIAURL L'URL induve u schedariu media hè situatu. Se un schedariu hè statu trasferitu da un abbonatu à l'altru, hè statu criptatu è a so estensione serà indicata cum'è l'estensione di u schedariu trasferitu - .enc
ZTHUMBNAILLOCALPATH percorsu à a miniatura di u schedariu in u sistema di fugliale di u dispusitivu
ZTITULU intestazione di u schedariu
ZVCARDNAME hash di u schedariu media; quandu si trasferisce u schedariu à un gruppu, pò cuntene l'identificatore di u mittente
ZVCARDSTRING cuntene infurmazione nantu à u tipu di fugliale chì hè trasferitu (per esempiu, image / jpeg); quandu si trasfiriu un schedariu à un gruppu, pò cuntene l'identificatore di u destinatariu
ZXMPPTHUMBPATH percorsu à a miniatura di u schedariu in u sistema di fugliale di u dispusitivu
ZMEDIAKEY scunnisciutu, prubabilmente cuntene a chjave per decrypt u schedariu criptatu.
ZMETADATA metadata di u missaghju trasmessu
Offset preghjudiziu

Altre tabelle di basa di dati interessanti 'ChatStorage.sqlite' sò:

  • "ZWAPROFILEPUSHNAME". Abbina l'ID WhatsApp cù u nome di cuntattu;
  • 'ZWAPROFILEPICTUREITEM'. Abbina l'ID WhatsApp cù l'avatar di cuntattu;
  • 'Z_PRIMARYKEY'. A tavula cuntene infurmazione generale nantu à sta basa di dati, cum'è u numeru tutale di missaghji guardati, u numeru tutale di chats, etc.

Inoltre, quandu esaminendu WhatsApp nantu à un dispositivu mobile cù iOS, duvete attente à i seguenti schedari:

  • u schedariu 'BackedUpKeyValue.sqlite'. Contene chjavi criptografichi è altre dati chì sò necessarii per identificà u pruprietariu di u contu. Situatu longu u percorsu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • u schedariu 'ContactsV2.sqlite'. Contene infurmazione nantu à i cuntatti di l'utilizatore, cum'è u nome cumpletu, u numeru di telefunu, u statu di cuntattu (in forma di testu), l'ID WhatsApp, etc. Situatu longu u percorsu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • u schedariu 'versione_consumatore'. Contene u numeru di versione di l'applicazione WhatsApp installata. Situatu longu u percorsu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • u schedariu 'current_wallpaper.jpg'. Contene u wallpaper attuale di WhatsApp. Situatu longu u percorsu: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Versioni più vechje di l'applicazione utilizanu u schedariu 'wallpaper', chì si trova longu u percorsu: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
  • u schedariu 'blockedcontacts.dat'. Contene infurmazione nantu à i cuntatti bluccati. Situatu longu u percorsu: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • u schedariu 'pw.dat'. Contene una password criptata. Situatu longu u percorsu: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
  • u schedariu 'net.whatsapp.WhatsApp.plist' (o file 'group.net.whatsapp.WhatsApp.shared.plist'). Contene infurmazione nantu à u vostru prufilu di u vostru contu WhatsApp. U schedariu hè situatu longu u percorsu: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.

Cuntenutu di u schedariu 'group.net.whatsapp.WhatsApp.shared.plist' WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
Avete ancu bisognu di attentu à i seguenti cartulari:

  • catalogo '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Contene miniature di cuntatti, gruppi (fichi cù l'estensione .puglia), cuntattate l'avatars, l'avatar di u pruprietariu di u contu WhatsApp (file 'Photo.jpg').
  • catalogo '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Contene i fugliali multimediali è e so miniature
  • catalogo '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Contene u logu di l'operazione di u prugramma (file 'calls.log') è copie di salvezza di i logs di l'operazione di u prugramma (file 'calls.backup.log').
  • catalogo '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Contene stickers (fichi in u furmatu '.webp').
  • catalogo '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Contene logs di u funziunamentu di u prugramma.

Artefatti WhatsApp in Windows

L'artifacti WhatsApp in Windows ponu esse truvati in parechji posti. Prima di tuttu, questi sò cartulari chì cuntenenu schedarii di prugrammi eseguibili è ausiliari (per Windows 8/10):

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

In u catalogu 'C: Users% User profile% AppDataLocalWhatsApp' u schedariu di log hè situatu 'SquirrelSetup.log', chì cuntene infurmazione nantu à verificà l'aghjurnamenti è installà u prugramma.

In u catalogu "C: Users% User profile% AppDataRoamingWhatsApp" Ci sò parechji subdirectorii:

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
u schedariu 'main-process.log' cuntene infurmazione nantu à u funziunamentu di u prugramma WhatsApp.

Subdirectory 'base di dati' cuntene un schedariu 'Databases.db', ma stu schedariu ùn cuntene nisuna infurmazione nantu à i chats o cuntatti.

I più interessanti da un puntu di vista forensicu sò i schedarii situati in u cartulare 'cache'. Quessi sò basamenti i schedari chjamati 'f********' (induve * hè un numeru da 0 à 9) chì cuntene schedarii multimediali è documenti criptati, ma ci sò ancu schedarii micca criptati trà elli. Di particular interesse sò i schedari 'data_0', 'data_1', 'data_2', 'data_3', situatu in u listessu subdirectory. I schedari 'data_0', 'data_1', 'data_3' cuntene ligami esterni à i fugliali è i documenti multimediali criptati trasmessi.

Esempiu di infurmazione cuntenuta in u schedariu 'data_1'WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
Ancu u schedariu 'data_3' pò cuntene schedarii grafichi.

u schedariu 'data_2' cuntene avatars di cuntattu (pò esse ripristinatu da a ricerca per l'intestazione di u schedariu).

Avatars cuntenuti in u schedariu 'data_2':

WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
Cusì, i chats stessi ùn ponu esse truvati in a memoria di l'urdinatore, ma pudete truvà:

  • schedarii multimedia;
  • documenti trasmessi via WhatsApp;
  • infurmazione nantu à i cuntatti di u pruprietariu di u contu.

Artefatti WhatsApp in MacOS

In MacOS pudete truvà tipi di artefatti WhatsApp simili à quelli truvati in Windows OS.

I schedarii di u prugramma sò situati in i seguenti cartulari:

  • 'C:ApplicazioniWhatsApp.app'
  • 'C:Applicazioni._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"
    Stu repertoriu cuntene subdirectori chì i nomi sò numeri di telefunu assuciati cù u pruprietariu di u contu WhatsApp.
  • 'C:Users%User profile%LibraryCachesWhatsApp.ShipIt'
    Stu cartulare cuntene infurmazione nantu à stallà u prugrammu.
  • 'C:Users%User profile%PicturesiPhoto Library.photolibraryMasters', 'C:Users%User profile%PicturesiPhoto Library.photolibraryThumbnails'
    Queste cartulari cuntenenu i schedarii di serviziu di u prugramma, cumprese e foto è miniature di i cuntatti WhatsApp.
  • 'C:Users%User profile%LibraryCachesWhatsApp'
    Stu repertoriu cuntene parechje basa di dati SQLite chì sò usati per a cache di dati.
  • 'C:Users%User profile%LibraryApplication SupportWhatsApp'
    Stu cartulare cuntene parechji subdirectorii:

    WhatsApp in u palmu di a manu: induve è cumu pudete truvà artefatti forensici?
    In u catalogu 'C:Users%User profile%LibraryApplication SupportWhatsAppCache' ci sò schedari 'data_0', 'data_1', 'data_2', 'data_3' è schedari cù nomi 'f********' (induve * hè un numeru da 0 à 9). Per infurmazione nantu à quale infurmazione cuntene questi schedari, vede WhatsApp Artifacts in Windows.

    In u catalogu 'C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB' pò cuntene schedarii multimedia (i schedari ùn anu micca estensione).

    u schedariu 'main-process.log' cuntene infurmazione nantu à u funziunamentu di u prugramma WhatsApp.

Fonti

  1. Analisi forensica di WhatsApp Messenger in smartphones Android, da Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Esplora u sistema di basa di dati per l'applicazioni Android è iOS da Ahmad Pratama, 2014.

In i seguenti articuli in questa serie:

Decrittografia di basa di dati WhatsApp criptateUn articulu chì furnisce infurmazioni nantu à cumu a chjave di criptografia di WhatsApp hè generata è esempi pratichi chì mostranu cumu decriptà e basa di dati criptate di sta applicazione.
Estrazione di dati WhatsApp da u cloud storageUn articulu in u quale vi diceremu quali dati WhatsApp sò almacenati in i nuvuli è descrive i metudi per ricuperà queste dati da i magazzini in nuvola.
Estrazione di dati WhatsApp: Esempi pratichiUn articulu chì descriverà passu à passu chì prugrammi è cumu per caccià i dati WhatsApp da parechji dispositi.

Source: www.habr.com

Add a comment