Yen sampeyan pengin ngerti apa jinis artefak forensik WhatsApp sing ana ing sistem operasi sing beda-beda lan ing ngendi persis bisa ditemokake, mula iki minangka papan kanggo sampeyan. Artikel iki saka spesialis ing Laboratorium Forensik Komputer Group-IB Igor Mikhailov miwiti seri kiriman babagan forensik WhatsApp lan informasi apa sing bisa dipikolehi saka nganalisa piranti kasebut.
Ayo langsung dicathet manawa sistem operasi sing beda-beda nyimpen macem-macem artefak WhatsApp, lan yen peneliti bisa ngekstrak jinis data WhatsApp tartamtu saka siji piranti, iki ora ateges manawa jinis data sing padha bisa diekstrak saka piranti liyane. Contone, yen unit sistem sing nganggo Windows OS dibusak, obrolan WhatsApp mbokmenawa ora bakal ditemokake ing disk (kajaba salinan serep piranti iOS, sing bisa ditemokake ing drive sing padha). Penyitaan laptop lan piranti seluler bakal duwe ciri dhewe. Ayo dadi pirembagan bab iki ing liyane rinci.
Artefak WhatsApp ing piranti Android
Kanggo ngekstrak artefak WhatsApp saka piranti Android, panliti kudu nduweni hak superuser ('oyot') ing piranti sing diselidiki utawa bisa ngekstrak memori fisik piranti kasebut, utawa sistem file kasebut (contone, nggunakake kerentanan piranti lunak piranti seluler tartamtu).
File aplikasi dumunung ing memori telpon ing bagean ing ngendi data pangguna disimpen. Minangka aturan, bagean iki dijenengi 'data panganggo'. Subdirektori lan file program dumunung ing sadawane dalan: '/data/data/com.whatsapp/'.
File utama sing ngemot artefak forensik WhatsApp ing OS Android yaiku database 'wa.db' ΠΈ 'msgstore.db'.
Ing database 'wa.db' ngemot dhaptar kontak lengkap pangguna WhatsApp, kalebu nomer telpon, jeneng tampilan, cap wektu, lan informasi liyane sing diwenehake nalika ndhaptar WhatsApp. File 'wa.db' dumunung ing dalan: '/data/data/com.whatsapp/databases/' lan nduweni struktur ing ngisor iki:
Tabel paling menarik ing database 'wa.db' kanggo panliti yaiku:
- 'wa_kontak'
Tabel iki ngemot informasi kontak: id kontak WhatsApp, informasi status, jeneng tampilan pangguna, cap wektu, lsp.Tampilan meja:
Struktur tabeljeneng lapangan Nilai _id nomer urutan rekaman (ing tabel SQL) jid ID kontak WhatsApp, ditulis ing format <nomer telpon>@s.whatsapp.net is_whatsapp_user ngemot '1' yen kontak cocog karo pangguna WhatsApp nyata, '0' yen ora status ngemot teks sing ditampilake ing status kontak status_timestamp ngemot stempel wektu ing format Unix Epoch Time (ms). nomer nomer telpon sing digandhengake karo kontak raw_contact_id nomer serial kontak display_name jeneng tampilan kontak jinis telpon jinis telpon telpon_label label sing digandhengake karo nomer kontak unseen_msg_count nomer pesen sing dikirim dening kontak nanging ora diwaca dening panampa foto_ts ngemot timestamp ing format Unix Epoch Time jempol_ts ngemot timestamp ing format Unix Epoch Time photo_id_timestamp ngemot stempel wektu ing format Unix Epoch Time (ms). diwenehi_jeneng Nilai lapangan cocog karo 'display_name' kanggo saben kontak jeneng_wa Jeneng kontak WhatsApp (jeneng sing ditemtokake ing profil kontak ditampilake) sort_name jeneng kontak digunakake ing operasi ngurutake julukan celukan kontak ing WhatsApp (jeneng celukan sing ditemtokake ing profil kontak ditampilake) perusahaan perusahaan (perusahaan sing ditemtokake ing profil kontak ditampilake) title judhul (Ms./Mr.; judhul sing dikonfigurasi ing profil kontak ditampilake) nutupi bias - 'sqlite_sequence'
Tabel iki ngemot informasi babagan jumlah kontak; - 'android_metadata'
Tabel iki ngemot informasi babagan lokalisasi basa WhatsApp.
Ing database 'msgstore.db' ngemot informasi babagan pesen sing dikirim, kayata nomer kontak, teks pesen, status pesen, cap wektu, rincian file sing ditransfer sing kalebu ing pesen, lsp. File 'msgstore.db' dumunung ing dalan: '/data/data/com.whatsapp/databases/' lan nduweni struktur ing ngisor iki:
Tabel paling menarik ing file 'msgstore.db' kanggo panliti yaiku:
- 'sqlite_sequence'
Tabel iki ngemot informasi umum babagan database iki, kayata jumlah pesen sing disimpen, jumlah obrolan, lsp.Tampilan meja:
- 'isi_pesen'
Isine teks pesen sing dikirim.Tampilan meja:
- 'pesen'
Tabel iki ngemot informasi kayata nomer kontak, teks pesen, status pesen, cap wektu, informasi babagan file sing ditransfer sing kalebu ing pesen.Tampilan meja:
Struktur tabeljeneng lapangan Nilai _id nomer urutan rekaman (ing tabel SQL) key_remote_jid ID WhatsApp mitra komunikasi kunci_saka_aku arah pesen: '0' - mlebu, '1' - metu key_id pengenal pesen unik status status pesen: '0' - dikirim, '4' - nunggu ing server, '5' - ditampa ing panggonan, '6' - pesen kontrol, '13' - pesen dibukak dening panampa (maca) kudu_push nduweni nilai '2' yen pesen siaran, yen ora ngemot '0' data teks pesen (yen 'media_wa_type' parameter '0') wektu ngandhut timestamp ing Unix Epoch Time (ms) format, Nilai dijupuk saka jam piranti media_url ngemot URL file sing ditransfer (yen parameter 'media_wa_type' yaiku '1', '2', '3') media_mime_type Jinis MIME file sing ditransfer (yen parameter 'media_wa_type' padha karo '1', '2', '3') media_wa_type jinis pesen: '0' - teks, '1' - file grafis, '2' - file audio, '3' - file video, '4' - kertu kontak, '5' - geodata ukuran_media ukuran file sing ditransfer (yen parameter 'media_wa_type' yaiku '1', '2', '3') jeneng_media jeneng file sing ditransfer (yen parameter 'media_wa_type' yaiku '1', '2', '3') media_caption Ngandhut tembung 'audio', 'video' kanggo nilai parameter 'media_wa_type' (yen parameter 'media_wa_type' yaiku '1', '3') media_hash hash dienkode base64 saka file sing dikirim, diwilang nggunakake algoritma HAS-256 (nalika parameter 'media_wa_type' padha karo '1', '2', '3') media_duration durasi ing detik kanggo file media (yen 'media_wa_type' yaiku '1', '2', '3') asal nduweni nilai '2' yen pesen siaran, yen ora ngemot '0' garis lintang geodata: garis lintang (nalika parameter 'media_wa_type' yaiku '5') bujur geodata: bujur (nalika parameter 'media_wa_type' yaiku '5') jempol_gambar informasi layanan remote_resource ID pangirim (mung kanggo obrolan grup) ditampa_timestamp wektu panrimo, ngemot timestamp ing Unix Epoch Time (ms) format, Nilai dijupuk saka jam piranti (nalika parameter 'key_from_me' wis '0', '-1' utawa nilai liyane) send_timestamp ora digunakake, biasane duwe nilai '-1' receipt_server_timestamp wektu ditampa dening server tengah, ngemot timestamp ing Unix Epoch Time (ms) format, Nilai dijupuk saka jam piranti (nalika parameter 'key_from_me' duwe '1', '-1' utawa nilai liyane receipt_device_timestamp wektu pesen ditampa dening pelanggan liyane, ngemot stempel wektu ing format Unix Epoch Time (ms), nilai kasebut dijupuk saka jam piranti (nalika parameter 'key_from_me' duwe '1', '-1' utawa nilai liyane maca_device_timestamp wektu mbukak (maca) pesen, ngemot stempel wektu ing format Unix Epoch Time (ms), nilai kasebut dijupuk saka jam piranti playing_device_timestamp wektu puter maneh pesen, ngemot timestamp ing format Unix Epoch Time (ms), nilai dijupuk saka jam piranti data ingkang durung diolah gambar cilik file sing ditransfer (yen parameter 'media_wa_type' yaiku '1' utawa '3') panrima_count jumlah panampa (kanggo pesen siaran) participant_hash digunakake nalika ngirim pesen nganggo geodata mbintangi ora digunakake quoted_row_id ora dingerteni, biasane ngemot nilai '0' kasebut_jids ora digunakake multicast_id ora digunakake nutupi bias Dhaptar kolom iki ora lengkap. Kanggo macem-macem versi WhatsApp, sawetara kolom bisa uga ana utawa ora ana. Kajaba iku, lapangan bisa uga ana 'media_enc_hash', 'edit_version', 'id_transaksi_bayaran' lan liya-liyane.
- 'pesan_gambar cilik'
Tabel iki ngemot informasi babagan gambar sing ditransfer lan cap wektu. Ing kolom 'timestamp', wektu dituduhake ing format Unix Epoch Time (ms). - 'chat_list'
Tabel iki ngemot informasi babagan obrolan.Tampilan meja:
Uga, nalika mriksa WhatsApp ing piranti seluler sing nganggo Android, sampeyan kudu nggatekake file ing ngisor iki:
- berkas 'msgstore.db.cryptXX' (ngendi XX siji utawa rong digit saka 0 kanggo 12, contone, msgstore.db.crypt12). Ngandhut serep pesen WhatsApp sing dienkripsi (file serep msgstore.db). File(s) 'msgstore.db.cryptXX' dumunung ing dalan: '/data/media/0/WhatsApp/Databases/' (kartu SD virtual), '/mnt/sdcard/WhatsApp/Databases/ (kartu SD fisik)'.
- berkas 'kunci'. Ngandhut kunci kriptografi. Dumunung ing dalan: '/data/data/com.whatsapp/files/'. Digunakake kanggo dekripsi serep WhatsApp sing dienkripsi.
- berkas 'com.whatsapp_preferences.xml'. Ngandhut informasi babagan profil akun WhatsApp sampeyan. File dumunung ing sadawane dalan: '/data/data/com.whatsapp/shared_prefs/'.
Fragmen isi file
<?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> (ΠΈΠΌΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°) β¦
- berkas 'registration.RegisterPhone.xml'. Ngandhut informasi babagan nomer telpon sing ana gandhengane karo akun WhatsApp. File dumunung ing sadawane dalan: '/data/data/com.whatsapp/shared_prefs/'.
Isi file
<?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>
- berkas 'axolotl.db'. Ngandhut kunci kriptografi lan data liyane sing perlu kanggo ngenali pemilik akun. Dumunung ing dalan: '/data/data/com.whatsapp/databases/'.
- berkas 'chatsettings.db'. Ngandhut informasi konfigurasi aplikasi.
- berkas 'wa.db'. Ngandhut rincian kontak. A banget menarik (saka aspek forensik) lan database informatif. Bisa ngemot informasi rinci babagan kontak sing wis dibusak.
Sampeyan uga kudu menehi perhatian marang direktori ing ngisor iki:
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Ngandhut file grafis sing ditransfer.
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Ngandhut pesen swara ing file format OPUS.
- Direktori '/data/data/com.whatsapp/cache/Gambar Profil/'. Ngandhut file grafis - gambar kontak.
- Direktori '/data/data/com.whatsapp/files/Avatar/'. Ngandhut file grafis - gambar cilik saka kontak. Berkas iki duwe ekstensi '.j' nanging file gambar JPEG (JPG).
- Direktori '/data/data/com.whatsapp/files/Avatar/'. Ngandhut file grafis - gambar lan gambar cilik saka gambar sing disetel minangka avatar dening pemilik akun.
- Direktori '/data/data/com.whatsapp/files/Logs/'. Ngandhut log operasi program (file 'whatsapp.log') lan salinan serep log operasi program (file kanthi jeneng ing format whatsapp-yyyy-mm-dd.1.log.gz).
File Log WhatsApp:
fragmen jurnal2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] notifikasi panggilan ora kejawab/init count:0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:Pekerja WhatsApp #1] notifikasi telpon ora kejawab / nganyari mbatalake bener
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:utama] file sandi ilang utawa ora bisa diwaca
2017-01-10 09:37:09.782 LL_I D [1: utama] statistik Pesen Teks: 59 dikirim, 82 ditampa / Pesen Media: 1 dikirim (0 bita), 0 ditampa (9850158 bita) / Pesen Offline: 81 ditampa ( 19522 msec rata-rata wektu tundha) / Layanan Pesen: 116075 bita dikirim, 211729 bita ditampa / Voip Telpon: 1 telpon metu, 0 telpon mlebu, 2492 bita dikirim, 1530 bita ditampa / Google Drive: 0 bita dikirim, 0 bita ditampa / Roaming: bita dikirim, 1524 bita ditampa / Total Data: 1826 bita dikirim, 118567 bita ditampa
2017-01-10 09:37:09.785 LL_I D [1:utama] media-state-manager/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:utama] app-init/initialize/timer/stop: 24
2017-01-10 09:37:09.811 LL_I D [1:utama] msgstore/checkhealth
2017-01-10 09:37:09.817 LL_I D [1:utama] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_I D [1:utama] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_I D [1:utama] msgstore/checkdb/data/data/com.whatsapp/databases/msgstore.db
2017-01-10 09:37:09.819 LL_I D [1:utama] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1: utama] msgstore/checkdb/list _jobqueue-WhatsAppJobManager-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_I D [1:utama] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_I D [1:utama] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_I D [1:utama] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_I D [1:utama] msgstore/checkdb/list msgstore.db 540672 drw=011
2017-01-10 09:37:09.823 LL_I D [1:utama] msgstore/checkdb/list msgstore.db-wal 0 drw=011
2017-01-10 09:37:09.823 LL_I D [1:utama] msgstore/checkdb/list msgstore.db-shm 32768 drw=011
2017-01-10 09:37:09.824 LL_I D [1:utama] msgstore/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:utama] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_I D [1:utama] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_I D [1:utama] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_I D [1:utama] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_I D [1: utama] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_I D [1:utama] msgstore/checkdb/versi 1
2017-01-10 09:37:09.839 LL_I D [1:utama] msgstore/canquery
2017-01-10 09:37:09.846 LL_I D [1:utama] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_I D [1:utama] msgstore/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_I D [1: utama] msgstore / canquery 517 | wektu: 8
2017-01-10 09:37:09.848 LL_I D [529: WhatsApp Worker #3] media-state-manager / refresh-media-state / panyimpenan internal kasedhiya: 1,345,622,016 total: 5,687,922,688
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Ngandhut file audio sing ditampa.
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Ngandhut file audio sing dikirim.
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Ngandhut file grafis sing diasilake.
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Ngandhut file grafis sing dikirim.
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Ngandhut file video sing ditampa.
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Ngandhut file video sing dikirim.
- Direktori '/data/media/0/WhatsApp/Media/Foto Profil WhatsApp/'. Ngandhut file grafis sing digandhengake karo pemilik akun WhatsApp.
- Kanggo ngirit ruang memori ing smartphone Android sampeyan, sawetara data WhatsApp bisa disimpen ing kertu SD. Ing kertu SD, ing direktori root, ana direktori 'WhatsApp', ing ngendi artefak program iki bisa ditemokake:
- Direktori '.Bagi' ('/mnt/sdcard/WhatsApp/.Share/'). Ngandhut salinan file sing wis dienggo bareng karo pangguna WhatsApp liyane.
- Direktori '.sampah' ('/mnt/sdcard/WhatsApp/.trash/'). Ngandhut file sing wis dibusak.
- Direktori 'Database' ('/mnt/sdcard/WhatsApp/Databases/'). Ngandhut serep ndhelik. Bisa didekripsi yen file kasebut ana 'kunci', dijupuk saka memori piranti sing dianalisis.
File sing ana ing subdirektori 'Database':
- Direktori 'Setengah' ('/mnt/sdcard/WhatsApp/Media/'). Ngandhut subdirektori 'Kertas Dinding', 'Audio WhatsApp', 'Gambar WhatsApp', 'Foto Profil WhatsApp', 'Video WhatsApp', 'Cathetan Swara WhatsApp', sing ngemot file multimedia sing ditampa lan dikirim (file grafis, file video, pesen swara, foto sing ana gandhengane karo profil pemilik akun WhatsApp, wallpaper).
- Direktori 'Gambar profil' ('/mnt/sdcard/WhatsApp/Gambar Profil/'). Ngandhut file grafis sing ana gandhengane karo profil pemilik akun WhatsApp.
- Kadhangkala bisa uga ana direktori ing kertu SD 'berkas' ('/mnt/sdcard/WhatsApp/Files/'). Direktori iki ngemot file sing nyimpen setelan program lan preferensi pangguna.
Fitur panyimpenan data ing sawetara model piranti seluler
Sawetara model piranti seluler sing nganggo OS Android bisa uga nyimpen artefak WhatsApp ing lokasi sing beda. Iki amarga owah-owahan ing ruang panyimpenan data aplikasi dening piranti lunak sistem piranti seluler. Contone, piranti seluler Xiaomi duwe fungsi kanggo nggawe ruang kerja kapindho ("SecondSpace"). Nalika fungsi iki diaktifake, lokasi data diganti. Dadi, yen ing piranti seluler biasa sing mlaku data pangguna OS Android disimpen ing direktori '/data/user/0/' (sing minangka referensi kanggo biasanipun '/data/data/'), banjur ing data aplikasi ruang kerja kapindho disimpen ing direktori '/data/user/10/'. Yaiku, nggunakake conto lokasi file 'wa.db':
- ing smartphone biasa sing nganggo OS Android: /data/user/0/com.whatsapp/databases/wa.db' (sing padha karo '/data/data/com.whatsapp/databases/wa.db');
- ing ruang kerja nomer loro ing smartphone Xiaomi: '/data/user/10/com.whatsapp/databases/wa.db'.
Artefak WhatsApp ing piranti iOS
Ora kaya Android OS, ing iOS WhatsApp data aplikasi ditransfer menyang salinan serep (iTunes backup). Mula, ngekstrak data saka aplikasi iki ora mbutuhake ngekstrak sistem file utawa nggawe mbucal memori fisik piranti sing diselidiki. Umume informasi sing relevan ana ing basis data 'ChatStorage.sqlite', sing dumunung ing dalan: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (ing sawetara program path iki katon minangka 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').
struktur 'ChatStorage.sqlite':
Tabel paling informatif ing database 'ChatStorage.sqlite' yaiku 'ZWAMESSAGE' ΠΈ 'ZWAMEDIAIITEM'.
Tampilan meja 'ZWAMESSAGE':
Struktur tabel 'ZWAMESSAGE'
jeneng lapangan | Nilai |
---|---|
Z_PK | nomer urutan rekaman (ing tabel SQL) |
Z_ENT | pengenal tabel, nduweni nilai '9' |
Z_OPT | ora dingerteni, biasane ngemot nilai saka '1' nganti '6' |
ZCHILDMESSAGESDELIVEREDCOUNT | ora dingerteni, biasane ngemot nilai '0' |
ZCHILDMAGESPLAYEDCOUNT | ora dingerteni, biasane ngemot nilai '0' |
ZCHILDMAGESREADCOUNT | ora dingerteni, biasane ngemot nilai '0' |
ZDATAITEMVERSION | dingerteni, biasane ngemot nilai '3', mbokmenawa Indikator pesen teks |
ZDOCID | ora dingerteni |
ZENCRETRYCOUNT | ora dingerteni, biasane ngemot nilai '0' |
ZFILTEREDRECIPIENTCOUNT | ora dingerteni, biasane ngemot nilai '0', '2', '256' |
ZISFROMME | arah pesen: '0' - mlebu, '1' - metu |
ZMESSAGEERRORSTATUS | status transmisi pesen. Yen pesen dikirim / ditampa, banjur nduweni nilai '0' |
ZMESSAGETYPE | jinis pesen sing dikirim |
ZSORT | ora dingerteni |
ZSPOTLIGHSTATUS | ora dingerteni |
ZSTARRED | dingerteni, ora digunakake |
ZCHATSESSION | ora dingerteni |
ZGROUPMEMBER | dingerteni, ora digunakake |
ZLASTSESSION | ora dingerteni |
ZMEDIAIITEM | ora dingerteni |
ZMESSAGEINFO | ora dingerteni |
PESAN ZPARENT | dingerteni, ora digunakake |
ZMESSAGEDATE | timestamp ing format OS X Epoch Time |
ZSENTDATE | wektu pesen dikirim ing format OS X Epoch Time |
ZFROMJID | ID Pangirim WhatsApp |
ZMEDIASECTIONID | ngemot taun lan sasi file media dikirim |
ZPHASH | dingerteni, ora digunakake |
ZPUSHPAME | jeneng kontak sing ngirim file media ing format UTF-8 |
ZSTANZID | pengenal pesen unik |
ZTEXT | Teks pesen |
ZTOJID | ID WhatsApp panampa |
OFFSET | bias |
Tampilan meja 'ZWAMEDIAIITEM':
Struktur tabel 'ZWAMEDIAITEM'
jeneng lapangan | Nilai |
---|---|
Z_PK | nomer urutan rekaman (ing tabel SQL) |
Z_ENT | pengenal tabel, nduweni nilai '8' |
Z_OPT | ora dingerteni, biasane ngemot nilai saka '1' nganti '3'. |
ZCLOUDSTATUS | ngemot nilai '4' yen file dimuat. |
ZFILESIZE | ngemot dawa file (ing bita) kanggo file sing diundhuh |
ZMEDIAORIGIN | ora dingerteni, biasane duwe nilai '0' |
ZMOVIEDURASI | durasi file media, kanggo file pdf bisa ngemot jumlah kaca dokumen kasebut |
ZMESSAGE | ngemot nomer seri (nomer kasebut beda karo sing dituduhake ing kolom 'Z_PK') |
ZASPEKTRASI | rasio aspek, ora digunakake, biasane disetel menyang '0' |
ZHACCURASI | ora dingerteni, biasane duwe nilai '0' |
ZLATTITUDE | jembarΓ© ing piksel |
ZLONGTITUDE | dhuwur ing piksel |
ZMEDIAURLDATE | timestamp ing format OS X Epoch Time |
ZAUTHORNAME | penulis (kanggo dokumen, bisa ngemot jeneng berkas) |
ZCOLLECTIONNAME | ora digunakake |
ZMEDIALOCALPATH | jeneng berkas (kalebu path) ing sistem berkas piranti |
ZMEDIAURL | URL ngendi file media dumunung. Yen file ditransfer saka siji pelanggan menyang liyane, file kasebut dienkripsi lan ekstensi bakal dituduhake minangka ekstensi file sing ditransfer - .enc |
ZTHUMBNAILLOCALPATH | path menyang gambar cilik file ing sistem file piranti |
ZTITLE | file header |
ZVCARDNAME | hash file media; nalika nransfer file menyang grup, bisa uga ngemot pengenal pangirim |
ZVCARDSTRING | ngemot informasi babagan jinis file sing ditransfer (contone, gambar / jpeg); nalika nransfer file menyang grup, bisa uga ngemot pengenal panampa. |
ZXMPPTHUMBPATH | path menyang gambar cilik file ing sistem file piranti |
ZMEDIAKEY | dingerteni, mbokmenawa ngemot kunci kanggo decrypt file ndhelik. |
ZMETADATA | metadata pesen sing dikirim |
nutup kerugian | bias |
Tabel database liyane sing menarik 'ChatStorage.sqlite' yaiku:
- 'ZWAPROFILEPUSHNAME'. Cocokake ID WhatsApp karo jeneng kontak;
- 'ZWAPROFILEPICTUREITEM'. Cocokake ID WhatsApp karo avatar kontak;
- 'Z_PRIMARYKEY'. Tabel kasebut ngemot informasi umum babagan database iki, kayata jumlah pesen sing disimpen, jumlah obrolan, lsp.
Uga, nalika mriksa WhatsApp ing piranti seluler sing nganggo iOS, sampeyan kudu nggatekake file ing ngisor iki:
- berkas 'BackedUpKeyValue.sqlite'. Ngandhut kunci kriptografi lan data liyane sing perlu kanggo ngenali pemilik akun. Dumunung ing dalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- berkas 'KontakV2.sqlite'. Ngandhut informasi babagan kontak pangguna, kayata jeneng lengkap, nomer telpon, status kontak (ing wangun teks), ID WhatsApp, lsp. Dumunung ing dalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- berkas 'versi_konsumen'. Ngandhut nomer versi aplikasi WhatsApp sing diinstal. Dumunung ing dalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- berkas 'current_wallpaper.jpg'. Ngandhut wallpaper latar mburi WhatsApp saiki. Dumunung ing dalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Versi lawas saka aplikasi nggunakake file 'wallpaper', sing dumunung ing dalan: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
- berkas 'blockedcontacts.dat'. Ngandhut informasi babagan kontak sing diblokir. Dumunung ing dalan: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
- berkas 'pw.dat'. Ngandhut sandhi sing dienkripsi. Dumunung ing dalan: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
- berkas 'net.whatsapp.WhatsApp.plist' (utawa file 'group.net.whatsapp.WhatsApp.shared.plist'). Ngandhut informasi babagan profil akun WhatsApp sampeyan. File dumunung ing sadawane dalan: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.
Isi file 'group.net.whatsapp.WhatsApp.shared.plist'
Sampeyan uga kudu menehi perhatian marang direktori ing ngisor iki:
- Direktori '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Ngandhut gambar cilik kontak, grup (file kanthi ekstensi .jempol), avatar kontak, avatar pemilik akun WhatsApp (file 'Photo.jpg').
- Direktori '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Ngandhut file multimedia lan gambar cilik
- Direktori '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Ngandhut log operasi program (file 'calls.log') lan salinan serep log operasi program (file 'calls.backup.log').
- Direktori '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Ngandhut stiker (file ing format '.webp').
- Direktori '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Ngandhut log operasi program.
Artefak WhatsApp ing Windows
Artefak WhatsApp ing Windows bisa ditemokake ing sawetara panggonan. Kaping pisanan, iki minangka direktori sing ngemot file program eksekusi lan tambahan (kanggo Windows 8/10):
- 'C:Program Files (x86)WhatsApp'
- 'C: Pangguna% profil pangguna% AppDataLocalWhatsApp'
- 'C:Users%User profile% AppDataLocalVirtualStore Program Files (x86)WhatsApp'
Ing katalog 'C: Pangguna% profil pangguna% AppDataLocalWhatsApp' file log dumunung 'SquirrelSetup.log', sing ngemot informasi babagan mriksa nganyari lan nginstal program.
Ing katalog 'C: Pangguna% profil pangguna% AppDataRoamingWhatsApp' Ana sawetara subdirektori:
berkas 'main-process.log' ngemot informasi babagan operasi program WhatsApp.
Subdirektori 'database' ngemot file 'Databases.db', nanging file iki ora ngemot informasi babagan obrolan utawa kontak.
Sing paling menarik saka sudut pandang forensik yaiku file sing ana ing direktori 'Cache'. Iki biasane file jenenge 'f_********' (ngendi * minangka nomer saka 0 nganti 9) ngemot file lan dokumen multimedia sing ndhelik, nanging ana uga file sing ora dienkripsi ing antarane. Kapentingan khusus yaiku file 'data_0', 'data_1', 'data_2', 'data_3', dumunung ing subdirektori sing padha. File 'data_0', 'data_1', 'data_3' ngemot pranala njaba menyang file lan dokumen multimedia sing dienkripsi.
Conto informasi sing ana ing file 'data_1'
Uga file 'data_3' bisa ngemot file grafis.
berkas 'data_2' ngemot avatar kontak (bisa dibalekake kanthi nggoleki kanthi header file).
Avatar sing ana ing file kasebut 'data_2':
Dadi, obrolan kasebut ora bisa ditemokake ing memori komputer, nanging sampeyan bisa nemokake:
- file multimedia;
- dokumen sing dikirim liwat WhatsApp;
- informasi babagan kontak pemilik akun.
Artefak WhatsApp ing MacOS
Ing MacOS sampeyan bisa nemokake jinis artefak WhatsApp sing padha karo sing ditemokake ing Windows OS.
File program dumunung ing direktori ing ngisor iki:
- 'C:ApplicationsWhatsApp.app'
- 'C:Applications._WhatsApp.app'
- 'C: Users% User profile% LibraryPreferences'
- 'C:Panganggo%Profil pangguna%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> Akun WhatsApp'
Direktori iki ngemot subdirektori sing jenenge minangka nomer telpon sing digandhengake karo pemilik akun WhatsApp. - 'C:Panganggo%Profil pangguna%LibraryCachesWhatsApp.ShipIt'
Direktori iki ngemot informasi babagan nginstal program. - 'C:Panganggo%Profil pangguna%PicturesiPhoto Library.photolibraryMasters', 'C:Panganggo%Profil pangguna%PicturesiPhoto Library.photolibraryThumbnails'
Direktori iki ngemot file layanan program, kalebu foto lan gambar cilik kontak WhatsApp. - 'C:Panganggo%Profil pangguna%LibraryCachesWhatsApp'
Direktori iki ngemot sawetara database SQLite sing digunakake kanggo caching data. - 'C: Users% User profile% LibraryApplication SupportWhatsApp'
Direktori iki ngemot sawetara subdirektori:
Ing katalog 'C: Users% User profile% LibraryApplication SupportWhatsAppCache' ana file 'data_0', 'data_1', 'data_2', 'data_3' lan file kanthi jeneng 'f_********' (ngendi * minangka nomer saka 0 nganti 9). Kanggo informasi babagan informasi apa sing ana ing file kasebut, deleng Artefak WhatsApp ing Windows.Ing katalog 'C: Users% User profile% LibraryApplication SupportWhatsAppIndexedDB' bisa ngemot file multimedia (file ora ana ekstensi).
berkas 'main-process.log' ngemot informasi babagan operasi program WhatsApp.
Sumber informasi
- Analisis forensik WhatsApp Messenger ing smartphone Android, dening Cosimo Anglano, 2014.
- Whatsapp Forensics: Eksplorasi sistem berkas dan basis data pada aplikasi Android dan iOS by Ahmad Pratama, 2014.
Ing artikel ing ngisor iki ing seri iki:
Dekripsi database WhatsApp sing dienkripsiArtikel sing bakal menehi informasi babagan carane kunci enkripsi WhatsApp digawe lan conto praktis sing nuduhake carane dekripsi database sing dienkripsi aplikasi iki.
Ekstrak data WhatsApp saka panyimpenan awanArtikel sing bakal dakcritakake apa data WhatsApp sing disimpen ing awan lan njlèntrèhaké cara kanggo njupuk data iki saka panyimpenan maya.
Ekstraksi Data WhatsApp: Tuladha PraktisArtikel sing bakal njlèntrèhaké langkah dening langkah program apa lan carane extract data WhatsApp saka macem-macem piranti.
Source: www.habr.com