Jika Anda ingin mengetahui jenis artefak forensik WhatsApp yang ada di sistem operasi berbeda dan di mana tepatnya artefak tersebut dapat ditemukan, maka inilah tempatnya. Artikel ini dari pakar di Laboratorium Forensik Komputer Group-IB Igor Mikhailov memulai rangkaian postingan tentang forensik WhatsApp dan informasi apa saja yang dapat diperoleh dari analisis perangkat.
Mari kita segera perhatikan bahwa sistem operasi yang berbeda menyimpan jenis artefak WhatsApp yang berbeda, dan jika peneliti dapat mengekstrak jenis data WhatsApp tertentu dari satu perangkat, ini tidak berarti jenis data serupa dapat diekstraksi dari perangkat lain. Misalnya, jika unit sistem yang menjalankan OS Windows dihapus, obrolan WhatsApp mungkin tidak akan ditemukan di disknya (dengan pengecualian salinan cadangan perangkat iOS, yang dapat ditemukan di drive yang sama). Penyitaan laptop dan perangkat seluler tentu memiliki ciri khas tersendiri. Mari kita bicarakan ini lebih detail.
Artefak WhatsApp di perangkat Android
Untuk mengekstrak artefak WhatsApp dari perangkat Android, peneliti harus memiliki hak pengguna super ('akar') pada perangkat yang sedang diselidiki atau dapat mengekstrak dump memori fisik perangkat, atau sistem filenya (misalnya, menggunakan kerentanan perangkat lunak pada perangkat seluler tertentu).
File aplikasi terletak di memori telepon di bagian penyimpanan data pengguna. Biasanya, bagian ini diberi nama 'data pengguna'. Subdirektori dan file program terletak di sepanjang jalur: '/data/data/com.whatsapp/'.
File utama yang berisi artefak forensik WhatsApp di OS Android adalah database 'wa.db' ΠΈ 'msgstore.db'.
Dalam basis data 'wa.db' berisi daftar kontak lengkap pengguna WhatsApp, termasuk nomor telepon, nama tampilan, cap waktu, dan informasi lain yang diberikan saat mendaftar WhatsApp. Mengajukan 'wa.db' terletak di sepanjang jalan: '/data/data/com.whatsapp/databases/' dan memiliki struktur sebagai berikut:
Tabel paling menarik di database 'wa.db' bagi peneliti adalah:
- 'wa_kontak'
Tabel ini berisi informasi kontak: ID kontak WhatsApp, informasi status, nama tampilan pengguna, cap waktu, dll.Tampilan tabel:
Struktur tabelNama bidang Nilai _Indo mencatat nomor urut (dalam tabel SQL) jid ID kontak WhatsApp, ditulis dengan format <nomor telepon>@s.whatsapp.net is_whatsapp_user berisi '1' jika kontak tersebut sesuai dengan pengguna WhatsApp sebenarnya, '0' jika tidak status berisi teks yang ditampilkan dalam status kontak status_cap waktu berisi stempel waktu dalam format Unix Epoch Time (ms). jumlah nomor telepon yang terkait dengan kontak tersebut raw_contact_id nomor seri kontak display_name nama tampilan kontak tipe_telepon jenis telepon label_telepon label yang terkait dengan nomor kontak unseen_msg_count jumlah pesan yang dikirim oleh kontak tetapi tidak dibaca oleh penerima foto_ts berisi stempel waktu dalam format Unix Epoch Time jempol_ts berisi stempel waktu dalam format Unix Epoch Time stempel waktu_id_foto berisi stempel waktu dalam format Unix Epoch Time (ms). nama pemberian nilai bidang cocok dengan 'nama_tampilan' untuk setiap kontak nama_wa Nama kontak WhatsApp (nama yang ditentukan dalam profil kontak ditampilkan) urutkan_nama nama kontak yang digunakan dalam operasi pengurutan julukan nama panggilan kontak di WhatsApp (nama panggilan yang ditentukan dalam profil kontak ditampilkan) perusahaan perusahaan (perusahaan yang ditentukan dalam profil kontak ditampilkan) judul judul (Ms./Mr.; judul yang dikonfigurasi dalam profil kontak ditampilkan) mengimbangi bias - 'urutan_sqlite'
Tabel ini berisi informasi tentang jumlah kontak; - 'android_metadata'
Tabel ini berisi informasi tentang pelokalan bahasa WhatsApp.
Dalam basis data 'msgstore.db' berisi informasi tentang pesan terkirim, seperti nomor kontak, teks pesan, status pesan, stempel waktu, detail file transfer yang disertakan dalam pesan, dll. Mengajukan 'msgstore.db' terletak di sepanjang jalan: '/data/data/com.whatsapp/databases/' dan memiliki struktur sebagai berikut:
Tabel paling menarik dalam file 'msgstore.db' bagi peneliti adalah:
- 'urutan_sqlite'
Tabel ini berisi informasi umum tentang database ini, seperti jumlah total pesan yang disimpan, jumlah total obrolan, dll.Tampilan tabel:
- 'pesan_fts_konten'
Berisi teks pesan terkirim.Tampilan tabel:
- 'pesan'
Tabel ini berisi informasi seperti nomor kontak, teks pesan, status pesan, stempel waktu, informasi tentang file transfer yang disertakan dalam pesan.Tampilan tabel:
Struktur tabelNama bidang Nilai _Indo mencatat nomor urut (dalam tabel SQL) kunci_remote_jid ID WhatsApp mitra komunikasi kunci_dari_saya arah pesan: '0' β masuk, '1' β keluar kunci_id pengenal pesan unik status status pesan: '0' β terkirim, '4' β menunggu di server, '5' β diterima di tujuan, '6' β pesan kontrol, '13' β pesan dibuka oleh penerima (sudah dibaca) perlu_dorongan memiliki nilai '2' jika itu adalah pesan siaran, jika tidak berisi '0' data teks pesan (ketika parameter 'media_wa_type' adalah '0') timestamp berisi stempel waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat media_url berisi URL file yang ditransfer (bila parameter 'media_wa_type' adalah '1', '2', '3') media_mime_type Jenis MIME dari file yang ditransfer (bila parameter 'media_wa_type' sama dengan '1', '2', '3') media_wa_type jenis pesan: '0' - teks, '1' - file grafik, '2' - file audio, '3' - file video, '4' - kartu kontak, '5' - geodata ukuran_media ukuran file yang ditransfer (bila parameter 'media_wa_type' adalah '1', '2', '3') nama_media nama file yang ditransfer (bila parameter 'media_wa_type' adalah '1', '2', '3') media_caption Berisi kata 'audio', 'video' untuk nilai yang sesuai dari parameter 'media_wa_type' (bila parameter 'media_wa_type' adalah '1', '3') media_hash hash yang dikodekan base64 dari file yang dikirimkan, dihitung menggunakan algoritma HAS-256 (ketika parameter 'media_wa_type' sama dengan '1', '2', '3') media_durasi durasi dalam detik untuk file media (bila 'media_wa_type' adalah '1', '2', '3') asal memiliki nilai '2' jika itu adalah pesan siaran, jika tidak berisi '0' lintang geodata: garis lintang (ketika parameter 'media_wa_type' adalah '5') garis bujur geodata: bujur (ketika parameter 'media_wa_type' adalah '5') jempol_gambar informasi layanan sumber daya_jarak jauh ID Pengirim (hanya untuk obrolan grup) stempel waktu_diterima waktu penerimaan, berisi stempel waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat (bila parameter 'key_from_me' memiliki '0', '-1' atau nilai lainnya) kirim_cap waktu tidak digunakan, biasanya bernilai '-1' stempel waktu_server_tanda terima waktu yang diterima oleh server pusat, berisi stempel waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat (bila parameter 'key_from_me' memiliki '1', '-1' atau nilai lainnya stempel waktu_perangkat_tanda terima waktu pesan diterima oleh pelanggan lain, berisi stempel waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat (bila parameter 'key_from_me' memiliki '1', '-1' atau nilai lainnya stempel waktu_perangkat_baca waktu membuka (membaca) pesan, berisi stempel waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat stempel waktu_perangkat_diputar waktu pemutaran pesan, berisi stempel waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat data mentah thumbnail file yang ditransfer (bila parameter 'media_wa_type' adalah '1' atau '3') penerima_jumlah jumlah penerima (untuk pesan siaran) partisipan_hash digunakan saat mengirimkan pesan dengan geodata membintangi tidak digunakan dikutip_baris_id tidak diketahui, biasanya mengandung nilai '0' disebutkan_jids tidak digunakan multicast_id tidak digunakan mengimbangi bias Daftar bidang ini tidak lengkap. Untuk versi WhatsApp yang berbeda, beberapa kolom mungkin ada atau tidak ada. Selain itu, bidang mungkin ada 'media_enc_hash', 'edit_versi', 'id_transaksi_pembayaran' dan lain-lain
- 'pesan_thumbnail'
Tabel ini berisi informasi tentang gambar dan cap waktu yang ditransfer. Pada kolom 'stempel waktu', waktu ditunjukkan dalam format Unix Epoch Time (ms). - 'daftar_obrol'
Tabel ini berisi informasi tentang obrolan.Tampilan tabel:
Selain itu, saat memeriksa WhatsApp di perangkat seluler yang menjalankan Android, Anda harus memperhatikan file-file berikut:
- berkas 'msgstore.db.cryptXX' (di mana XX adalah satu atau dua digit dari 0 hingga 12, misalnya msgstore.db.crypt12). Berisi cadangan pesan WhatsApp terenkripsi (file cadangan msgstore.db). Berkas 'msgstore.db.cryptXX' terletak di sepanjang jalan: '/data/media/0/WhatsApp/Database/' (kartu SD virtual), '/mnt/sdcard/WhatsApp/Database/ (kartu SD fisik)'.
- berkas 'kunci'. Berisi kunci kriptografi. Terletak di sepanjang jalan: '/data/data/com.whatsapp/files/'. Digunakan untuk mendekripsi cadangan WhatsApp terenkripsi.
- berkas 'com.whatsapp_preferences.xml'. Berisi informasi tentang profil akun WhatsApp Anda. File tersebut terletak di sepanjang jalur: '/data/data/com.whatsapp/shared_prefs/'.
Fragmen konten 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 'registrasi.RegisterPhone.xml'. Berisi informasi tentang nomor telepon yang terkait dengan akun WhatsApp. File tersebut terletak di sepanjang jalur: '/data/data/com.whatsapp/shared_prefs/'.
Isi berkas
<?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'. Berisi kunci kriptografi dan data lain yang diperlukan untuk mengidentifikasi pemilik akun. Terletak di sepanjang jalan: '/data/data/com.whatsapp/databases/'.
- berkas 'pengaturan obrolan.db'. Berisi informasi konfigurasi aplikasi.
- berkas 'wa.db'. Berisi rincian kontak. Database yang sangat menarik (dari aspek forensik) dan informatif. Ini mungkin berisi informasi rinci tentang kontak yang dihapus.
Anda juga perlu memperhatikan direktori berikut:
- Direktori '/data/media/0/WhatsApp/Media/Gambar WhatsApp/'. Berisi file grafik yang ditransfer.
- Direktori '/data/media/0/WhatsApp/Media/Catatan Suara WhatsApp/'. Berisi pesan suara dalam file berformat .OPUS.
- Direktori '/data/data/com.whatsapp/cache/Gambar Profil/'. Berisi file grafik β gambar kontak.
- Direktori '/data/data/com.whatsapp/files/Avatar/'. Berisi file grafik β gambar mini kontak. File-file ini memiliki ekstensi '.j' namun tetap merupakan file gambar JPEG (JPG).
- Direktori '/data/data/com.whatsapp/files/Avatar/'. Berisi file grafik - gambar dan thumbnail dari gambar yang ditetapkan sebagai avatar oleh pemilik akun.
- Direktori '/data/data/com.whatsapp/files/Log/'. Berisi log operasi program (file 'whatsapp.log') dan salinan cadangan log operasi program (file dengan nama dalam 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] pemberitahuan panggilan tak terjawab/jumlah init:0 stempel waktu:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] pemberitahuan/pembaruan panggilan tak terjawab batalkan benar
2017-01-10 09:37:09.768 LL_I D [1:utama] aplikasi-init/muat-saya
2017-01-10 09:37:09.772 LL_I D [1:utama] file kata sandi hilang atau tidak dapat dibaca
2017-01-10 09:37:09.782 Statistik LL_I D [1:utama] Pesan Teks: 59 terkirim, 82 diterima / Pesan Media: 1 terkirim (0 byte), 0 diterima (9850158 byte) / Pesan Offline: 81 diterima ( penundaan rata-rata 19522 msec) / Layanan Pesan: 116075 byte terkirim, 211729 byte diterima / Panggilan Voip: 1 panggilan keluar, 0 panggilan masuk, 2492 byte terkirim, 1530 byte diterima / Google Drive: 0 byte terkirim, 0 byte diterima / Roaming: 1524 byte terkirim, 1826 byte diterima / Total Data: 118567 byte terkirim, 10063417 byte diterima
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] aplikasi-init/inisialisasi/timer/stop: 24
2017-01-10 09:37:09.811 LL_I D [1:utama] toko pesan/periksakesehatan
2017-01-10 09:37:09.817 LL_I D [1:utama] msgstore/checkhealth/jurnal/hapus salah
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] pesan/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] pesan/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:utama] pesan/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] toko pesan/canquery
2017-01-10 09:37:09.846 LL_I D [1:utama] toko pesan/canquery/hitungan 1
2017-01-10 09:37:09.847 LL_I D [1:utama] pesan/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_I D [1:utama] toko pesan/canquery 517 | waktu yang dihabiskan:8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-state-manager/refresh-media-state/internal-storage tersedia:1,345,622,016 total:5,687,922,688
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Berisi file audio yang diterima.
- Direktori '/data/media/0/WhatsApp/Media/WhatsApp Audio/Terkirim/'. Berisi file audio yang dikirim.
- Direktori '/data/media/0/WhatsApp/Media/Gambar WhatsApp/'. Berisi file grafik yang dihasilkan.
- Direktori '/data/media/0/WhatsApp/Media/Gambar WhatsApp/Terkirim/'. Berisi file grafik yang dikirim.
- Direktori '/data/media/0/WhatsApp/Media/Video WhatsApp/'. Berisi file video yang diterima.
- Direktori '/data/media/0/WhatsApp/Media/Video WhatsApp/Terkirim/'. Berisi file video yang dikirim.
- Direktori '/data/media/0/WhatsApp/Media/Foto Profil WhatsApp/'. Berisi file grafik yang terkait dengan pemilik akun WhatsApp.
- Untuk menghemat ruang memori di smartphone Android Anda, beberapa data WhatsApp dapat disimpan di kartu SD. Di kartu SD, di direktori root, ada direktori 'Ada apa', di mana artefak berikut dari program ini dapat ditemukan:
- Direktori '.Membagikan' ('/mnt/sdcard/WhatsApp/.Bagikan/'). Berisi salinan file yang telah dibagikan kepada pengguna WhatsApp lain.
- Direktori '.sampah' ('/mnt/sdcard/WhatsApp/.trash/'). Berisi file yang dihapus.
- Direktori 'Database' ('/mnt/sdcard/WhatsApp/Database/'). Berisi cadangan terenkripsi. Mereka dapat didekripsi jika file tersebut ada 'kunci', diekstraksi dari memori perangkat yang dianalisis.
File terletak di subdirektori 'Database':
- Direktori 'Setengah' ('/mnt/kartu sd/WhatsApp/Media/'). Berisi subdirektori 'Wallpaper', 'Audio WhatsApp', 'Gambar WhatsApp', 'Foto Profil WhatsApp', 'Video WhatsApp', 'Catatan Suara WhatsApp', yang berisi file multimedia yang diterima dan dikirimkan (file grafik, file video, pesan suara, foto yang terkait dengan profil pemilik akun WhatsApp, wallpaper).
- Direktori 'Foto profil' ('/mnt/sdcard/WhatsApp/Gambar Profil/'). Berisi file grafik yang terkait dengan profil pemilik akun WhatsApp.
- Terkadang mungkin ada direktori di kartu SD 'file' ('/mnt/sdcard/WhatsApp/File/'). Direktori ini berisi file yang menyimpan pengaturan program dan preferensi pengguna.
Fitur penyimpanan data di beberapa model perangkat seluler
Beberapa model perangkat seluler yang menjalankan OS Android mungkin menyimpan artefak WhatsApp di lokasi berbeda. Hal ini disebabkan oleh perubahan ruang penyimpanan data aplikasi oleh perangkat lunak sistem perangkat seluler. Misalnya, perangkat seluler Xiaomi memiliki fungsi untuk membuat ruang kerja kedua (βSecondSpaceβ). Saat fungsi ini diaktifkan, lokasi data berubah. Jadi, jika di perangkat seluler biasa yang menjalankan OS Android, data pengguna disimpan di direktori '/data/pengguna/0/' (yang merupakan referensi ke yang biasa '/data/data/'), lalu di ruang kerja kedua data aplikasi disimpan di direktori '/data/pengguna/10/'. Artinya, menggunakan contoh lokasi file 'wa.db':
- di smartphone biasa yang menjalankan OS Android: /data/user/0/com.whatsapp/databases/wa.db' (yang setara '/data/data/com.whatsapp/databases/wa.db');
- di ruang kerja kedua smartphone Xiaomi: '/data/user/10/com.whatsapp/databases/wa.db'.
Artefak WhatsApp di perangkat iOS
Berbeda dengan OS Android, di iOS, data aplikasi WhatsApp ditransfer ke salinan cadangan (iTunes backup). Oleh karena itu, mengekstraksi data dari aplikasi ini tidak memerlukan ekstraksi sistem file atau membuat dump memori fisik perangkat yang sedang diselidiki. Sebagian besar informasi relevan terkandung dalam database 'Penyimpanan Obrolan.sqlite', yang terletak di sepanjang jalan: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (di beberapa program, jalur ini muncul sebagai 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').
Struktur 'Penyimpanan Obrolan.sqlite':
Tabel paling informatif dalam database 'ChatStorage.sqlite' adalah 'Pesan ZWAM' ΠΈ 'ZWAMEDIAITEM'.
Penampilan meja 'Pesan ZWAM':
Struktur tabel 'ZWAMESSAGE'
Nama bidang | Nilai |
---|---|
Z_PK | mencatat nomor urut (dalam tabel SQL) |
Z_ENT | pengidentifikasi tabel, memiliki nilai '9' |
Z_OPT | tidak diketahui, biasanya berisi nilai dari '1' hingga '6' |
ZPESAN ANAK TERKIRIMCOUNT | tidak diketahui, biasanya mengandung nilai '0' |
ZCHILDMSAGESPLAYEDCOUNT | tidak diketahui, biasanya mengandung nilai '0' |
ZCHILDMSAGESREADCOUNT | tidak diketahui, biasanya mengandung nilai '0' |
ZDATAITEMVERSI | tidak diketahui, biasanya berisi nilai '3', kemungkinan merupakan indikator pesan teks |
ZDOCID | tidak diketahui |
ZENCRETRYCOUNT | tidak diketahui, biasanya mengandung nilai '0' |
ZFILTEREDRECIPIENTCOUNT | tidak diketahui, biasanya berisi nilai '0', '2', '256' |
ZISFROMME | arah pesan: '0' β masuk, '1' β keluar |
ZMESSAGEERRORSTATUS | status pengiriman pesan. Jika pesan terkirim/diterima, maka bernilai '0' |
JENIS PESAN Z | jenis pesan yang dikirimkan |
ZSORT | tidak diketahui |
ZSPOTLIGHSTATUS | tidak diketahui |
ZBINTANG | tidak diketahui, tidak digunakan |
ZCHATSESSION | tidak diketahui |
ZGROUPMEMBER | tidak diketahui, tidak digunakan |
SESI ZLASTS | tidak diketahui |
ZMEDIAITEM | tidak diketahui |
ZMESSAGEINFO | tidak diketahui |
ZPESAN ORANG TUA | tidak diketahui, tidak digunakan |
ZMESSAGEDATE | stempel waktu dalam format Epoch Time OS X |
ZSENTDATE | waktu pesan dikirim dalam format OS X Epoch Time |
ZFROMJID | ID Pengirim WhatsApp |
ZMEDIASECTIONID | berisi tahun dan bulan pengiriman file media |
ZPHASH | tidak diketahui, tidak digunakan |
ZPUSHPAME | nama kontak yang mengirimkan file media dalam format UTF-8 |
ZSTANZID | pengenal pesan unik |
ZTEXT | Pesan teks |
ZTOJID | ID WhatsApp penerima |
OFFSET | bias |
Penampilan meja 'ZWAMEDIAITEM':
Struktur tabel 'ZWAMEDIAITEM'
Nama bidang | Nilai |
---|---|
Z_PK | mencatat nomor urut (dalam tabel SQL) |
Z_ENT | pengidentifikasi tabel, memiliki nilai '8' |
Z_OPT | tidak diketahui, biasanya berisi nilai dari '1' hingga '3'. |
ZCLOUDSTATUS | berisi nilai '4' jika file dimuat. |
ZFILESIZE | berisi panjang file (dalam byte) untuk file yang diunduh |
ZMEDIAORIGIN | tidak diketahui, biasanya bernilai '0' |
ZMOVIEDURASI | durasi file media, untuk file pdf mungkin berisi jumlah halaman dokumen |
ZPESAN | berisi nomor seri (nomornya berbeda dengan yang tertera pada kolom 'Z_PK') |
ZASPEKTRASI | rasio aspek, tidak digunakan, biasanya disetel ke '0' |
ZHAKURASI | tidak diketahui, biasanya bernilai '0' |
ZLATTITUD | lebar dalam piksel |
ZONGTITUDE | tinggi dalam piksel |
ZMEDIAURLDATE | stempel waktu dalam format Epoch Time OS X |
ZAUTHORNAME | penulis (untuk dokumen, mungkin berisi nama file) |
NAMA KOLEKSI Z | tidak digunakan |
ZMEDIALOCALPATH | nama file (termasuk jalur) di sistem file perangkat |
URL ZMEDIA | URL tempat file media berada. Jika file ditransfer dari satu pelanggan ke pelanggan lain, file tersebut dienkripsi dan ekstensinya akan ditunjukkan sebagai ekstensi dari file yang ditransfer - .enc |
ZTHUMBNAILLOCALPATH | jalur ke thumbnail file di sistem file perangkat |
ZTITLE | tajuk berkas |
ZVCARDNAME | hash file media; saat mentransfer file ke grup, mungkin berisi pengidentifikasi pengirim |
ZVCARDSTRING | berisi informasi tentang jenis file yang ditransfer (misalnya, gambar/jpeg); saat mentransfer file ke grup, mungkin berisi pengenal penerima |
ZXMPPTHUMBPATH | jalur ke thumbnail file di sistem file perangkat |
ZMEDIAKEY | tidak diketahui, mungkin berisi kunci untuk mendekripsi file terenkripsi. |
ZMETADATA | metadata pesan yang dikirimkan |
Mengimbangi | bias |
Tabel database menarik lainnya 'Penyimpanan Obrolan.sqlite' adalah:
- 'ZWAPROFILEPUSHNAME'. Cocokkan ID WhatsApp dengan nama kontak;
- 'ITEM GAMBAR ZWAPROFILE'. Mencocokkan ID WhatsApp dengan avatar kontak;
- 'Z_PRIMARYKEY'. Tabel berisi informasi umum tentang database ini, seperti jumlah total pesan yang disimpan, jumlah total obrolan, dll.
Selain itu, saat memeriksa WhatsApp di perangkat seluler yang menjalankan iOS, Anda harus memperhatikan file-file berikut:
- berkas 'BackedUpKeyValue.sqlite'. Berisi kunci kriptografi dan data lain yang diperlukan untuk mengidentifikasi pemilik akun. Terletak di sepanjang jalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- berkas 'KontakV2.sqlite'. Berisi informasi mengenai kontak pengguna, seperti nama lengkap, nomor telepon, status kontak (dalam bentuk teks), ID WhatsApp, dll. Terletak di sepanjang jalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- berkas 'versi_konsumen'. Berisi nomor versi aplikasi WhatsApp yang diinstal. Terletak di sepanjang jalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- berkas 'wallpaper_saat ini.jpg'. Berisi wallpaper latar belakang WhatsApp saat ini. Terletak di sepanjang jalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Versi aplikasi yang lebih lama menggunakan file tersebut 'kertas dinding', yang terletak di sepanjang jalan: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
- berkas 'kontak yang diblokir.dat'. Berisi informasi tentang kontak yang diblokir. Terletak di sepanjang jalan: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
- berkas 'pw.dat'. Berisi kata sandi terenkripsi. Terletak di sepanjang jalan: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
- berkas 'net.whatsapp.WhatsApp.plist' (atau mengajukan 'grup.net.whatsapp.WhatsApp.shared.plist'). Berisi informasi tentang profil akun WhatsApp Anda. File tersebut terletak di sepanjang jalur: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.
Isi file 'group.net.whatsapp.WhatsApp.shared.plist'
Anda juga perlu memperhatikan direktori berikut:
- Direktori '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Berisi thumbnail kontak, grup (file dengan ekstensi .ibu jari), avatar kontak, avatar pemilik akun WhatsApp (file 'Foto.jpg').
- Direktori '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Berisi file multimedia dan thumbnail-nya
- Direktori '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Berisi log operasi program (file 'panggilan.log') dan salinan cadangan log operasi program (file 'panggilan.cadangan.log').
- Direktori '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Berisi stiker (file dalam format '.webp').
- Direktori '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Berisi log operasi program.
Artefak WhatsApp di Windows
Artefak WhatsApp di Windows dapat ditemukan di beberapa tempat. Pertama-tama, ini adalah direktori yang berisi file program yang dapat dieksekusi dan tambahan (untuk Windows 8/10):
- 'C:Program Files (x86)WhatsApp'
- 'C:Pengguna%Profil pengguna% AppDataLocalWhatsApp'
- 'C:Pengguna%Profil pengguna% File Program AppDataLocalVirtualStore (x86)WhatsApp'
Di katalog 'C:Pengguna%Profil pengguna% AppDataLocalWhatsApp' file log berada 'SquirrelSetup.log', yang berisi informasi tentang memeriksa pembaruan dan menginstal program.
Di katalog 'C:Pengguna%Profil pengguna% AppDataRoamingWhatsApp' Ada beberapa subdirektori:
berkas 'proses-utama.log' berisi informasi tentang pengoperasian program WhatsApp.
Subdirektori 'database' berisi file 'Database.db', tetapi file ini tidak berisi informasi apa pun tentang obrolan atau kontak.
Yang paling menarik dari sudut pandang forensik adalah file-file yang terletak di direktori 'Cache'. Ini pada dasarnya adalah file yang diberi nama 'F_*******' (di mana * adalah angka dari 0 hingga 9) berisi file multimedia dan dokumen terenkripsi, tetapi ada juga file yang tidak terenkripsi di antaranya. Yang menarik adalah file-filenya 'data_0', 'data_1', 'data_2', 'data_3', terletak di subdirektori yang sama. File 'data_0', 'data_1', 'data_3' berisi tautan eksternal ke file dan dokumen multimedia terenkripsi yang dikirimkan.
Contoh informasi yang terkandung dalam file 'data_1'
Juga mengajukan 'data_3' mungkin berisi file grafik.
berkas 'data_2' berisi avatar kontak (dapat dipulihkan dengan mencari berdasarkan header file).
Avatar yang terdapat dalam file 'data_2':
Dengan demikian, obrolan itu sendiri tidak dapat ditemukan di memori komputer, tetapi Anda dapat menemukan:
- file multimedia;
- dokumen yang dikirimkan melalui WhatsApp;
- informasi tentang kontak pemilik akun.
Artefak WhatsApp di MacOS
Di MacOS Anda dapat menemukan jenis artefak WhatsApp yang mirip dengan yang ditemukan di OS Windows.
File program terletak di direktori berikut:
- 'C:AplikasiWhatsApp.app'
- 'C:Aplikasi._WhatsApp.app'
- 'C:Pengguna%Profil pengguna%Preferensi Perpustakaan'
- 'C:Pengguna%Profil pengguna%LibraryLogsWhatsApp'
- 'C:Pengguna%Profil pengguna%PerpustakaanStatus Aplikasi TersimpanWhatsApp.savedState'
- 'C:Pengguna%Profil pengguna%Skrip Aplikasi Perpustakaan'
- 'C:Pengguna%Profil pengguna%LibraryApplication SupportCloudDocs'
- 'C:Pengguna%Profil pengguna%PerpustakaanDukungan AplikasiWhatsApp.ShipIt'
- 'C:Pengguna%Profil pengguna%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
- 'C:Pengguna%Profil pengguna% Perpustakaan Dokumen Seluler <variabel teks> Akun WhatsApp'
Direktori ini berisi subdirektori yang namanya merupakan nomor telepon yang terkait dengan pemilik akun WhatsApp. - 'C:Pengguna%Profil pengguna%LibraryCachesWhatsApp.ShipIt'
Direktori ini berisi informasi tentang instalasi program. - 'C:Pengguna%Profil pengguna%GambarsiPerpustakaan Foto.photolibraryMasters', 'C:Users%Profil pengguna%PicturesiPhoto Library.photolibraryThumbnails'
Direktori ini berisi file layanan program, termasuk foto dan thumbnail kontak WhatsApp. - 'C:Pengguna%Profil pengguna%LibraryCachesWhatsApp'
Direktori ini berisi beberapa database SQLite yang digunakan untuk cache data. - 'C:Pengguna%Profil pengguna%PerpustakaanDukungan AplikasiWhatsApp'
Direktori ini berisi beberapa subdirektori:
Di katalog 'C:Pengguna%Profil pengguna%PerpustakaanDukungan AplikasiWhatsAppCache' ada file 'data_0', 'data_1', 'data_2', 'data_3' dan file dengan nama 'F_*******' (di mana * adalah angka dari 0 hingga 9). Untuk informasi tentang informasi apa yang terkandung dalam file-file ini, lihat Artefak WhatsApp di Windows.Di katalog 'C:Pengguna%Profil pengguna%PerpustakaanDukungan AplikasiWhatsAppIndexedDB' mungkin berisi file multimedia (file tidak memiliki ekstensi).
berkas 'proses-utama.log' berisi informasi tentang pengoperasian program WhatsApp.
sumber
- Analisis forensik WhatsApp Messenger pada smartphone Android, oleh Cosimo Anglano, 2014.
- Whatsapp Forensik: Eksplorasi sistem berkas dan basis data pada aplikasi Android dan iOS oleh Ahmad Pratama, 2014.
Dalam artikel berikut dalam seri ini:
Dekripsi database WhatsApp terenkripsiArtikel yang akan memberikan informasi tentang bagaimana kunci enkripsi WhatsApp dihasilkan dan contoh praktis yang menunjukkan cara mendekripsi database terenkripsi aplikasi ini.
Mengekstrak data WhatsApp dari penyimpanan cloudSebuah artikel di mana kami akan memberi tahu Anda data WhatsApp apa yang disimpan di cloud dan menjelaskan metode untuk mengambil data ini dari penyimpanan cloud.
Ekstraksi Data WhatsApp: Contoh PraktisArtikel yang akan menjelaskan langkah demi langkah program apa saja dan cara mengekstrak data WhatsApp dari berbagai perangkat.
Sumber: www.habr.com