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/'.
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:
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:
Struttura di a tavolaNome 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:
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:
- 'message_fts_content'
Cuntene u testu di i missaghji mandati.L'aspettu di a tavola:
- '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:
Struttura di a tavolaNome 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:
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:
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:
- 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':
- 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':
I tavule più informativi in a basa di dati "ChatStorage.sqlite" sò 'ZWAMESSAGE' и 'ZWAMEDIAITEM'.
L'aspettu di a tavola 'ZWAMESSAGE':
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':
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'
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:
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'
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':
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:
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
- Analisi forensica di WhatsApp Messenger in smartphones Android, da Cosimo Anglano, 2014.
- 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