WhatsApp di telapak tangan Anda: di mana dan bagaimana Anda dapat mendeteksi artefak forensik?



Jika Anda ingin tahu apa jenis artefak forensik WhatsApp yang ada di berbagai sistem operasi dan di mana tepatnya mereka dapat dideteksi, maka inilah Anda. Dengan artikel ini, Igor Mikhailov, seorang spesialis di Laboratorium Group-IB Komputer Forensik, membuka serangkaian publikasi pada penyelidikan forensik WhatsApp dan informasi apa yang dapat diperoleh dengan menganalisis perangkat.

Perlu diketahui bahwa berbagai jenis artefak WhatsApp disimpan di sistem operasi yang berbeda, dan jika seorang peneliti dapat mengekstraksi jenis data WhatsApp tertentu dari satu perangkat, ini tidak berarti bahwa jenis data tersebut dapat diekstraksi dari perangkat lain. Misalnya, jika unit sistem yang menjalankan Windows disita, maka obrolan WhatsApp mungkin tidak akan ditemukan pada disk-disknya (kecuali untuk salinan cadangan perangkat iOS yang dapat ditemukan pada drive yang sama). Saat melepas laptop dan perangkat seluler akan memiliki karakteristik sendiri. Mari kita bicarakan ini secara lebih rinci.

Artefak WhatsApp pada perangkat Android


Untuk mengekstraksi artefak WhatsApp dari perangkat yang menjalankan Android, peneliti harus memiliki hak superuser ( 'root' ) pada perangkat yang sedang dipelajari atau dapat mengekstraksi dump fisik memori perangkat atau sistem file-nya (misalnya, menggunakan kerentanan perangkat lunak pada ponsel tertentu) perangkat).

File aplikasi terletak di memori telepon di bagian tempat data pengguna disimpan. Biasanya, bagian ini bernama 'data pengguna' . Subdirektori dan file program berada di sepanjang jalur: '/ data / data / com.whatsapp/' .

alt gambar

File utama yang berisi artefak forensik WhatsApp di Android OS adalah database 'wa.db' dan 'msgstore.db' .

Basis data 'wa.db' berisi daftar lengkap kontak pengguna WhatsApp, termasuk nomor telepon, nama tampilan, stempel waktu, dan informasi lainnya yang ditentukan selama pendaftaran dengan WhatsApp. File 'wa.db' terletak di sepanjang jalan: '/ data / data / com.whatsapp/databases/' dan memiliki struktur berikut:

alt gambar

Tabel paling menarik dalam database 'wa.db' untuk peneliti adalah:

  • 'wa_contacts'
    Tabel ini berisi informasi kontak: id kontak di WhatsApp, informasi status, nama pengguna yang ditampilkan, stempel waktu, dll.

    Penampilan tabel:

    alt gambar

    Struktur meja
    Nama bidangNilai
    _idrekam nomor seri (dalam tabel SQL)
    jidID kontak WhatsApp, ditulis dalam format <nomor telepon> @ s.whatsapp.net
    is_whatsapp_usermengandung '1' jika pengguna WhatsApp yang sebenarnya cocok dengan kontak, '0' sebaliknya
    statusberisi teks yang ditampilkan dalam status kontak
    status_timestampberisi cap waktu dalam format Unix Epoch Time (ms)
    angkanomor telepon yang terkait dengan kontak
    raw_contact_idhubungi nomor seri
    display_namenama tampilan kontak
    phone_typejenis telepon
    phone_labellabel yang terkait dengan nomor kontak
    unseen_msg_countjumlah pesan yang dikirim oleh kontak tetapi tidak dibaca oleh penerima
    photo_tsberisi cap waktu dalam format Unix Epoch Time
    thumb_tsberisi cap waktu dalam format Unix Epoch Time
    photo_id_timestampberisi cap waktu dalam format Unix Epoch Time (ms)
    diberikan_namenilai bidang cocok dengan 'display_name' untuk setiap kontak
    wa_nameNama kontak WhatsApp (menampilkan nama yang ditentukan dalam profil kontak)
    sort_namenama kontak yang digunakan dalam operasi penyortiran
    nama panggilanNama panggilan kontak WhatsApp (menampilkan nama panggilan yang ditentukan dalam profil kontak)
    perusahaanperusahaan (perusahaan yang ditunjukkan dalam profil kontak ditampilkan)
    judulbanding (nyonya / pria; alamat yang dikonfigurasi dalam profil kontak ditampilkan)
    mengimbangiperpindahan
  • 'sqlite_afterence'
    Tabel ini berisi informasi tentang jumlah kontak;
  • 'android_metadata'
    Tabel ini berisi informasi lokalisasi bahasa WhatsApp.

Basis data 'msgstore.db' berisi informasi tentang pesan yang dikirimkan, seperti nomor kontak, teks pesan, status pesan, cap waktu, informasi tentang file yang ditransfer termasuk dalam pesan, dll. File 'msgstore.db' terletak di sepanjang jalur: '/ data / data / com.whatsapp/databases/' dan memiliki struktur berikut:

alt gambar

Tabel paling menarik dalam file 'msgstore.db' untuk peneliti adalah:

  • 'sqlite_afterence'
    Tabel ini berisi informasi umum tentang basis data ini, misalnya, jumlah total pesan yang disimpan, jumlah total obrolan, dll.

    Penampilan tabel:

    alt gambar
  • 'message_fts_content'
    Berisi teks dari pesan yang dikirim.

    Penampilan tabel:

    alt gambar
  • 'pesan'
    Tabel ini berisi informasi seperti nomor kontak, teks pesan, status pesan, stempel waktu, informasi tentang file yang ditransfer yang termasuk dalam pesan.

    Penampilan tabel:

    alt gambar

    Struktur meja
    Nama bidangNilai
    _idrekam nomor seri (dalam tabel SQL)
    key_remote_jidID Mitra Komunikasi WhatsApp
    key_from_mearah pesan: '0' - masuk, '1' - keluar
    key_idpengidentifikasi unik pesan
    statusstatus pesan: '0' - terkirim, '4' - menunggu di server, '5' - diterima di tujuan, '6' - pesan kontrol, '13' - pesan dibuka oleh penerima (baca)
    need_pushmemiliki nilai '2' jika itu adalah pesan siaran, jika tidak mengandung '0'
    datateks pesan (ketika parameter 'media_wa_type' adalah '0')
    cap waktuberisi cap waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat
    media_urlberisi URL file yang dikirim (ketika parameter 'media_wa_type' adalah '1', '2', '3')
    media_mime_typeJenis MIME dari file yang ditransfer (ketika parameter 'media_wa_type' adalah '1', '2', '3')
    media_wa_typejenis pesan: '0' - teks, '1' - file gambar, '2' - file audio, '3' - file video, '4' - kartu kontak, '5' - geodata
    ukuran mediaukuran transfer file (ketika parameter 'media_wa_type' adalah '1', '2', '3')
    nama_datanama file yang ditransfer (ketika parameter 'media_wa_type' adalah '1', '2', '3')
    media_captionBerisi kata 'audio', 'video' untuk nilai yang sesuai dari parameter 'media_wa_type' (ketika parameter 'media_wa_type' sama dengan '1', '3')
    media_hashbase64 encoded hash dari file yang dikirimkan, dihitung sesuai dengan algoritma HAS-256 (ketika parameter 'media_wa_type' adalah '1', '2', '3')
    media_durationdurasi dalam detik untuk file media (ketika parameter 'media_wa_type' adalah '1', '2', '3')
    asalmemiliki nilai '2' jika itu adalah pesan siaran, jika tidak mengandung '0'
    garis lintanggeodata: latitude (ketika parameter 'media_wa_type' adalah '5')
    bujurgeodata: bujur (ketika parameter 'media_wa_type' adalah '5')
    thumb_imageinformasi layanan
    remote_recourceID pengirim (hanya obrolan grup)
    diterima_timestampmenerima waktu, berisi cap waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat (ketika parameter 'key_from_me' memiliki '0', '-1' atau nilai lain)
    send_timestamptidak digunakan, biasanya memiliki nilai '-1'
    accept_server_timestampwaktu yang diterima oleh server pusat, berisi cap waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat (ketika parameter 'key_from_me' memiliki '1', '-1' atau nilai lain
    accept_device_timestampsaat pesan diterima oleh pelanggan lain, berisi cap waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat (ketika parameter 'key_from_me' memiliki '1', '-1' atau lainnya
    read_device_timestampwaktu pembukaan pesan (pembacaan), berisi cap waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat
    Playing_device_timestampwaktu pemutaran pesan, berisi cap waktu dalam format Unix Epoch Time (ms), nilainya diambil dari jam perangkat
    data mentahthumbnail dari file yang dikirimkan (ketika parameter 'media_wa_type' sama dengan '1' atau '3')
    recipient_countjumlah penerima (untuk pesan siaran)
    participant_hashdigunakan saat mengirim pesan dengan geodata
    berbintangtidak digunakan
    dikutip_row_idtidak diketahui, biasanya berisi nilai '0'
    disebutkan_jidstidak digunakan
    multicast_idtidak digunakan
    mengimbangiperpindahan

    Daftar bidang ini tidak lengkap. Untuk versi WhatsApp yang berbeda, beberapa bidang mungkin ada atau tidak ada. Selain itu, bidang 'media_enc_hash' , 'edit_version' , 'payment_transaction_id' , dll. Dapat hadir.
  • 'messages_thumbnails'
    Tabel ini berisi informasi tentang gambar yang ditransfer dan cap waktu. Di kolom 'cap waktu', waktu dalam format Unix Epoch Time (ms).
  • 'chat_list'
    Tabel ini berisi informasi obrolan.

    Penampilan tabel:

    alt gambar

Juga, saat meneliti WhatsApp di perangkat seluler yang menjalankan Android, Anda perlu memperhatikan file-file berikut:

  • File 'msgstore.db.cryptXX' (di mana XX adalah satu atau dua digit dari 0 hingga 12, misalnya, msgstore.db.crypt12). Berisi cadangan terenkripsi dari pesan WhatsApp (cadangan file msgstore.db ). File (atau file) 'msgstore.db.cryptXX' terletak di sepanjang jalan: '/ data / media / 0 / WhatsApp / Database /' (kartu SD virtual), '/ mnt / sdcard / WhatsApp / Database / (fisik SD- kartu) '.
  • File tersebut adalah 'kunci' . Berisi kunci kriptografi. Itu terletak di sepanjang jalan: '/ data / data / com.whatsapp/files/' . Digunakan untuk mendekripsi cadangan WhatsApp terenkripsi.
  • File 'com.whatsapp_preferences.xml' . Berisi informasi tentang profil akun WhatsApp. File ini terletak di jalur: '/ data / data / com.whatsapp/shared_prefs/' .

    Cuplikan 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> (  ) … 
  • File 'registrasi.PendaftarPhone.xml' . Berisi informasi nomor telepon yang terkait dengan akun WhatsApp. File ini terletak di jalur: '/ 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> 
  • File 'axolotl.db' . Berisi kunci kriptografi dan data lain yang diperlukan untuk mengidentifikasi pemilik akun. Itu terletak di sepanjang jalan: '/ data / data / com.whatsapp/databases/' .
  • File 'chatsettings.db' . Berisi informasi konfigurasi aplikasi.
  • File 'wa.db' . Berisi rincian kontak. Database yang sangat menarik (dalam aspek forensik) dan informatif. Di dalamnya, informasi terperinci tentang kontak yang dihapus dapat ditemukan.

Anda juga harus memperhatikan direktori berikut:

  • Direktori '/ data / media / 0 / WhatsApp / Media / Gambar WhatsApp /' . Berisi file gambar yang ditransfer.
  • Direktori '/ data / media / 0 / WhatsApp / Media / WhatsApp Voice Notes /' . Berisi pesan suara dalam file berformat .OPUS.
  • Direktori '/data/data/com.whatsapp/cache/Profile Pictures /' . Berisi file grafik - gambar kontak.
  • Direktori '/ data / data / com.whatsapp/files/Avatars/' . Berisi file gambar - gambar mini dari gambar kontak. File-file ini memiliki ekstensi '.j', tetapi, bagaimanapun, adalah file gambar dalam format JPEG (JPG).
  • Direktori '/ data / data / com.whatsapp/files/Avatars/' . Berisi file gambar - gambar dan gambar mini dari gambar yang dipasang sebagai avatar oleh pemilik akun.
  • Direktori '/ data / data / com.whatsapp/files/Logs/' . Ini berisi log operasi program (file 'whatsapp.log') dan salinan cadangan log operasi program (file dengan nama format whatsapp-yyyy-mm-dd.1.log.gz).

File WhatsApp Log:

alt gambar

Fragmen majalah
2017-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] missedcallnotification / update batal 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: main] file kata sandi hilang atau tidak dapat dibaca
2017-01-10 09: 37: 09.782 LL_I D [1: utama] statistik Pesan Teks: 59 terkirim, 82 diterima / Pesan Media: 1 dikirim (0 byte), 0 diterima (9850158 byte) / Pesan Offline: 81 diterima ( 19522 msec delay rata-rata) / 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 dikirim, 0 byte diterima, Roaming diterima: 1524 byte yang dikirim, 1826 byte yang diterima / Total Data: 118567 byte yang dikirim, 10063417 byte yang 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: main] app-init / menginisialisasi / 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 / jurnal / hapus 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 / database / msgstore.db
2017-01-10 09: 37: 09.819 LL_I D [1: main] msgstore / checkdb / list _jobqueue-WhatsAppJobManager 16384 drw = 011
2017-01-10 09: 37: 09.820 LL_I D [1: main] msgstore / checkdb / list _jobqueue-WhatsAppJobManager-jurnal 21032 drw = 011
2017-01-10 09: 37: 09.820 LL_I D [1: main] msgstore / checkdb / daftar axolotl.db 184320 drw = 011
2017-01-10 09: 37: 09.821 LL_I D [1: main] msgstore / checkdb / daftar axolotl.db-wal 436752 drw = 011
2017-01-10 09: 37: 09.821 LL_I D [1: main] msgstore / checkdb / daftar axolotl.db-shm 32768 drw = 011
2017-01-10 09: 37: 09.822 LL_I D [1: main] msgstore / checkdb / list msgstore.db 540672 drw = 011
2017-01-10 09: 37: 09.823 LL_I D [1: main] msgstore / checkdb / list msgstore.db-wal 0 drw = 011
2017-01-10 09: 37: 09.823 LL_I D [1: main] msgstore / checkdb / list msgstore.db-shm 32768 drw = 011
2017-01-10 09: 37: 09.824 LL_I D [1: main] msgstore / checkdb / daftar wa.db 69632 drw = 011
2017-01-10 09: 37: 09.825 LL_I D [1: main] msgstore / checkdb / daftar wa.db-wal 428512 drw = 011
2017-01-10 09: 37: 09.825 LL_I D [1: main] msgstore / checkdb / daftar wa.db-shm 32768 drw = 011
2017-01-10 09: 37: 09.826 LL_I D [1: main] msgstore / checkdb / daftar obrolan.db 4096 drw = 011
2017-01-10 09: 37: 09.826 LL_I D [1: main] msgstore / checkdb / daftar obrolan.db-wal 70072 drw = 011
2017-01-10 09: 37: 09.827 LL_I D [1: main] msgstore / checkdb / daftar obrolan.db-shm 32768 drw = 011
2017-01-10 09: 37: 09.838 LL_I D [1: main] msgstore / checkdb / versi 1
2017-01-10 09: 37: 09.839 LL_I D [1: main] msgstore / canquery
2017-01-10 09: 37: 09.846 LL_I D [1: main] msgstore / canquery / count 1
2017-01-10 09: 37: 09.847 LL_I D [1: main] msgstore / canquery / timer / stop: 8
2017-01-10 09: 37: 09.847 LL_I D [1: main] msgstore / canquery 517 | 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 yang tersedia: total 1.345.622.016: 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 gambar yang diterima.
  • Direktori '/ data / media / 0 / WhatsApp / Media / Gambar WhatsApp / Terkirim /' . Berisi file gambar yang dikirim.
  • Direktori '/ data / media / 0 / WhatsApp / Media / WhatsApp Video /' . Berisi file video yang diterima.
  • Direktori '/ data / media / 0 / WhatsApp / Media / WhatsApp Video / Terkirim /' . Berisi file video yang diunggah.
  • Direktori '/ data / media / 0 / WhatsApp / Media / Foto Profil WhatsApp /' . Berisi file gambar yang terkait dengan pemilik akun WhatsApp.
  • Untuk menghemat ruang dalam memori ponsel cerdas Android, beberapa data WhatsApp dapat disimpan pada kartu SD. Pada kartu SD, di direktori root, ada direktori 'WhatsApp' di mana artefak program ini dapat ditemukan:

    alt gambar
  • Direktori '.Share' ( '/mnt/sdcard/WhatsApp/.Share/' ). Berisi salinan file yang telah ditransfer ke pengguna WhatsApp lainnya.
  • Direktori '.trash' ( '/mnt/sdcard/WhatsApp/.trash/' ). Berisi file yang dihapus.
  • Direktori 'Database' ( '/ mnt / sdcard / WhatsApp / Database /' ). Berisi cadangan terenkripsi. Mereka dapat didekripsi di hadapan file 'kunci' , diekstraksi dari memori perangkat yang dianalisis.

    File di subdirektori 'Databases' :

    alt gambar
  • Direktori 'Media' ( '/ mnt / sdcard / WhatsApp / Media /' ). Berisi subdirektori 'WallPaper' , 'WhatsApp Audio' , 'WhatsApp Images' , 'WhatsApp Profile Photos' , 'WhatsApp Video' , 'WhatsApp Voice Notes' , di mana file multimedia yang diterima dan ditransmisikan (file gambar, file video, pesan suara, foto yang terkait dengan profil pemegang akun WhatsApp, wallpaper).
  • Direktori 'Gambar Profil' ( '/ mnt / sdcard / WhatsApp / Gambar Profil /' ). Berisi file gambar yang terkait dengan profil pemegang akun WhatsApp.
  • Kadang-kadang direktori 'file' ( '/ mnt / sdcard / WhatsApp / Files /' ) dapat hadir pada kartu SD. Direktori ini berisi file yang menyimpan pengaturan program dan preferensi pengguna.

Fitur penyimpanan data di beberapa model perangkat seluler


Pada beberapa perangkat seluler Android, artefak WhatsApp dapat disimpan di tempat lain. Ini disebabkan oleh perubahan dalam ruang penyimpanan data aplikasi oleh perangkat lunak sistem perangkat seluler. Jadi, misalnya, perangkat seluler Xiaomi memiliki fungsi menciptakan ruang kerja kedua ("SecondSpace"). Ketika fungsi ini diaktifkan, lokasi data berubah. Jadi, jika di perangkat seluler biasa yang menjalankan data pengguna OS Android disimpan dalam direktori '/ data / user / 0 /' (yang merupakan tautan ke '/ data / data /' ) yang biasa, maka di ruang kerja kedua data aplikasi disimpan dalam direktori. '/ data / pengguna / 10 /' . Misalnya, lokasi file 'wa.db' :

  • dalam smartphone Android reguler: /data/user/0/com.whatsapp/databases/wa.db ' (yang setara dengan ' / data / data /com.whatsapp/databases/wa.db ') ;
  • di ruang kerja kedua smartphone Xiaomi: '/ data / pengguna/10/com.whatsapp/databases/wa.db' .

Artefak WhatsApp pada perangkat iOS


Tidak seperti OS Android, dalam aplikasi iOS WhatsApp data ditransfer ke salinan cadangan (cadangan iTunes). 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 penting terdapat dalam basis data 'ChatStorage.sqlite' , yang terletak di sepanjang jalan: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.share/' (dalam beberapa program, jalur ini muncul sebagai 'AppDomainGroup -group.net.whatsapp.WhatsApp . shared ' ).

Struktur 'ChatStorage.sqlite' :

alt gambar

Basis data ChatStorage.sqlite yang paling informatif adalah tabel ZWAMESSAGE dan ZWAMEDIAITEM .

Penampilan tabel 'ZWAMESSAGE' :

alt gambar

Struktur tabel 'ZWAMESSAGE'
Nama bidangNilai
Z_PKrekam nomor seri (dalam tabel SQL)
Z_ENTpengidentifikasi tabel, nilai '9'
Z_OPTtidak dikenal, biasanya berisi nilai dari '1' hingga '6'
ZCHILDMESSAGESDELIVEREDCOUNTtidak diketahui, biasanya berisi nilai '0'
ZCHILDMESSAGESPLAYEDCOUNTtidak diketahui, biasanya berisi nilai '0'
ZCHILDMESSAGESREADCOUNTtidak diketahui, biasanya berisi nilai '0'
PERUBAHAN ZDATAITEMtidak dikenal, biasanya berisi nilai '3', mungkin penunjuk pesan teks
ZDOCIDtidak diketahui
ZENCRETRYCOUNTtidak diketahui, biasanya berisi nilai '0'
ZFILTEREDRECIPIENTCOUNTtidak dikenal, biasanya berisi nilai '0', '2', '256'
Zisfrommearah pesan: '0' - masuk, '1' - keluar
ZMESSAGEERRORSTATUSstatus transfer pesan. Jika pesan dikirim / diterima, ia memiliki nilai '0'
ZMESSAGETYPEjenis pesan
Zsorttidak diketahui
ZSPOTLIGHSTATUStidak diketahui
ZSTARREDtidak diketahui tidak digunakan
Zchatsessiontidak diketahui
ZGROUPMEMBERtidak diketahui tidak digunakan
KELEMBABANtidak diketahui
ZMEDIAITEMtidak diketahui
ZMESSAGEINFOtidak diketahui
ZPARENTMESSAGEtidak diketahui tidak digunakan
ZMESSAGEDATECap Waktu Waktu OS X Epoch
ZSENTDATEWaktu pengiriman pesan OS X Epoch Time
ZFROMJIDID Pengirim WhatsApp
ZMEDIASECTIONIDberisi tahun dan bulan pengiriman file media
Zphashtidak diketahui tidak digunakan
ZPUSHPAMEnama kontak yang mengirim file media UTF-8
ZSTANZIDpengidentifikasi unik pesan
ZTEXTteks pesan
ZTOJIDPenerima ID Whatsapp
OFFSETperpindahan

Penampilan tabel 'ZWAMEDIAITEM' :

alt gambar

Struktur tabel 'ZWAMEDIAITEM'
Nama bidangNilai
Z_PKrekam nomor seri (dalam tabel SQL)
Z_ENTpengidentifikasi tabel, nilai '8'
Z_OPTtidak dikenal, biasanya berisi nilai dari '1' hingga '3'.
ZCLOUDSTATUSberisi nilai '4' jika file diunggah.
ZFILESIZEberisi panjang file (dalam byte) untuk file yang diunduh
ZMEDIAORIGINtidak diketahui, biasanya '0'
ZMOVIEDURASIdurasi file media, untuk file pdf dapat berisi jumlah halaman dokumen
ZMESSAGEberisi nomor seri (nomor berbeda dari yang ditunjukkan pada kolom 'Z_PK')
ZASPECTRATIOrasio aspek, tidak digunakan, biasanya disetel ke '0'
KEUNGGULANtidak diketahui, biasanya '0'
ZLATTITUDElebar dalam piksel
ZLONGTITUDEtinggi dalam piksel
ZMEDIAURLDATECap Waktu Waktu OS X Epoch
ZAUTHORNAMEpenulis (untuk dokumen, dapat berisi nama file)
ZCOLLECTIONNAMEtidak digunakan
ZMEDIALOCALPATHnama file (dengan jalur) di sistem file perangkat
ZMEDIAURLURL tempat file media berada. Jika file ditransfer dari satu pelanggan ke yang lain, itu dienkripsi, dan ekstensi akan ditunjukkan sebagai ekstensi file yang ditransfer - .enc
ZTHUMBNAILLOCALPATHpath ke file thumbnail dalam sistem file perangkat
ZTITLEheader file
ZVCARDNAMEhash file media; saat mentransfer file ke grup, mungkin berisi ID pengirim
ZVCARDSTRINGberisi informasi tentang jenis file yang ditransfer (misalnya, gambar / jpeg); ketika mentransfer file ke grup, mungkin berisi pengidentifikasi penerima
ZXMPPTHUMBPATHpath ke file thumbnail dalam sistem file perangkat
ZMEDIAKEYtidak diketahui, mungkin berisi kunci untuk mendekripsi file yang dienkripsi.
ZMETADATAmetadata pesan
Offsetperpindahan

Tabel database 'ChatStorage.sqlite' lainnya yang menarik adalah:

  • 'ZWAPROFILEPUSHNAME' . Sesuai dengan WhatsApp ID dengan nama kontak;
  • 'ZWAPROFILEPICTUREITEM' . Korelasikan WhatsApp ID dengan avatar kontak;
  • 'Z_PRIMARYKEY' . Tabel ini berisi informasi umum tentang basis data ini, seperti jumlah total pesan yang disimpan, jumlah total obrolan, dll.

Juga, saat meneliti WhatsApp pada perangkat seluler yang menjalankan iOS, Anda perlu memperhatikan file-file berikut:

  • File 'BackedUpKeyValue.sqlite' . Berisi kunci kriptografi dan data lain yang diperlukan untuk mengidentifikasi pemilik akun. Itu terletak di sepanjang jalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ .
  • File 'ContactsV2.sqlite' . Ini berisi informasi tentang kontak pengguna, seperti nama lengkap, nomor telepon, status kontak (dalam bentuk teks), ID WhatsApp, dll. Itu terletak di sepanjang jalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ .
  • File 'consumer_version' . Berisi nomor versi aplikasi WhatsApp yang diinstal. Itu terletak di sepanjang jalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ .
  • File 'current_wallpaper.jpg' . Berisi wallpaper latar belakang WhatsApp saat ini. Itu terletak di sepanjang jalan: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ . Dalam versi aplikasi yang lebih lama, file 'wallpaper' digunakan , yang terletak di sepanjang path: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/' .
  • File 'diblokircontacts.dat' . Berisi informasi tentang kontak yang diblokir. Itu terletak di sepanjang jalan: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/ .
  • File 'pw.dat' . Berisi kata sandi terenkripsi. Ini terletak di sepanjang jalan: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/' .
  • File 'net.whatsapp.WhatsApp.plist' (atau file 'group.net.whatsapp.WhatsApp.shared.plist' ). Berisi informasi tentang profil akun WhatsApp. File ini terletak di jalur: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/' .

Isi file 'group.net.whatsapp.WhatsApp.share.plist'
alt gambar

Anda juga harus memperhatikan direktori berikut:

  • Direktori '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/' . Ini berisi thumbnail kontak, grup (file dengan ekstensi .thumb ), avatar kontak, avatar pemilik akun WhatsApp (file 'Photo.jpg' ).
  • Direktori '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp. Shared/ Message / Media /' . Berisi file multimedia dan gambar kecilnya
  • Direktori '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/' . Ini berisi log program (file 'calls.log' ) dan cadangan salinan log program (file 'calls.backup.log' ).
  • Katalog '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.share/stickers/' . Berisi stiker (file dalam format '.webp' ).
  • Direktori '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/' . Berisi log dari program.

Artefak WhatsApp di Windows


Artefak WhatsApp di Windows dapat ditemukan di beberapa tempat. Pertama-tama, ini adalah direktori yang berisi file yang dapat dieksekusi dan tambahan dari program (untuk Windows 8/10):
  • 'C: \ Program Files (x86) \ WhatsApp \'
  • 'C: \ Users \% Profil pengguna% \ AppData \ Local \ WhatsApp \'
  • 'C: \ Users \% Profil pengguna% \ AppData \ Local \ VirtualStore \ Program Files (x86) \ WhatsApp \'

Dalam direktori 'C: \ Users \% Profil pengguna% \ AppData \ Local \ WhatsApp \' terdapat file log 'SquirrelSetup.log' , yang berisi informasi tentang memeriksa pembaruan dan menginstal program.

Dalam direktori 'C: \ Users \% Profil pengguna% \ AppData \ Roaming \ WhatsApp \' ada beberapa subdirektori:

alt gambar

File 'main-process.log' berisi informasi tentang pengoperasian program WhatsApp.

Subdirektori 'database' berisi file 'Databases.db' , tetapi file ini tidak mengandung informasi apa pun tentang obrolan atau kontak.

Yang paling menarik dari sudut pandang forensik adalah file yang terletak di direktori 'Cache' . Pada dasarnya, ini adalah file dengan nama 'f _ *******' (di mana * adalah angka dari 0 hingga 9) yang berisi file dan dokumen multimedia terenkripsi, tetapi di antara mereka ada juga file yang tidak terenkripsi. Yang menarik adalah file 'data_0' , 'data_1' , 'data_2' , 'data_3' yang terletak di subdirektori yang sama. File 'data_0' , 'data_1' , 'data_3' berisi tautan eksternal ke file dan dokumen multimedia terenkripsi yang ditransmisikan.

Contoh informasi yang terkandung dalam file 'data_1'
alt gambar

Juga, file 'data_3' dapat berisi file gambar.

File 'data_2' berisi avatar kontak (dapat dipulihkan dengan mencari header file).

Avatar yang terkandung dalam file 'data_2' :

alt gambar

Dengan demikian, obrolan itu sendiri tidak dapat ditemukan dalam memori komputer, tetapi Anda dapat menemukan:

  • file multimedia;
  • Dokumen dikirimkan menggunakan WhatsApp
  • Informasi tentang kontak pemilik akun.

Artefak WhatsApp di MacOS


Di MacOS, Anda dapat menemukan jenis artefak WhatsApp yang serupa dengan yang ditemukan di Windows.

File program terletak di direktori:

  • 'C: \ Applications \ WhatsApp.app \'
  • 'C: \ Applications \ ._ WhatsApp.app \'
  • 'C: \ Users \% Profil pengguna% \ Library \ Preferences \'
  • 'C: \ Users \% Profil pengguna% \ Library \ Logs \ WhatsApp \'
  • 'C: \ Users \% Profil pengguna% \ Library \ Status Aplikasi Tersimpan \ WhatsApp.savedState \'
  • 'C: \ Users \% Profil pengguna% \ Library \ Script Aplikasi \'
  • 'C: \ Users \% Profil pengguna% \ Library \ Dukungan Aplikasi \ CloudDocs \'
  • 'C: \ Users \% Profil pengguna% \ Library \ Dukungan Aplikasi \ WhatsApp.ShipIt \'
  • 'C: \ Users \% Profil pengguna% \ Library \ Containers \ com.rockysandstudio.app-for-whatsapp \'
  • 'C: \ Users \% Profil pengguna% \ Library \ Mobile Documents \ <variabel teks> WhatsApp \ Akun'
    Direktori ini berisi subdirektori yang namanya nomor telepon yang dikaitkan dengan pemilik akun WhatsApp.
  • 'C: \ Users \% Profil pengguna% \ Library \ Caches \ WhatsApp.ShipIt \'
    Direktori ini berisi informasi tentang cara menginstal program.
  • 'C: \ Users \% Profil pengguna% \ Pictures \ iPhoto.photolibrary Library \ Masters \' , 'C: \ Users \% Profil pengguna% \ Pictures \ iPhoto.photolibrary Library \ Foto \ Thumbnails \'
    Direktori ini berisi file utilitas untuk program ini, termasuk foto dan gambar mini kontak WhatsApp.
  • 'C: \ Users \% Profil pengguna% \ Library \ Caches \ WhatsApp \'
    Direktori ini berisi beberapa database SQLite yang digunakan untuk menyimpan data.
  • 'C: \ Users \% Profil pengguna% \ Library \ Dukungan Aplikasi \ WhatsApp \'
    Direktori ini berisi beberapa subdirektori:

    alt gambar

    Direktori 'C: \ Users \% Profil pengguna% \ Library \ Dukungan Aplikasi \ WhatsApp \ Cache \' berisi file 'data_0' , 'data_1' , 'data_2' , 'data_3' dan file dengan nama 'f _ **** *** ' (di mana * adalah angka dari 0 hingga 9). Informasi tentang informasi apa yang terkandung dalam file-file ini dijelaskan di bagian “WhatsApp Windows Artifacts”.

    Direktori 'C: \ Users \% Profil pengguna% \ Library \ Dukungan Aplikasi \ WhatsApp \ IndexedDB \' dapat berisi file multimedia (file tidak memiliki ekstensi).

    File 'main-process.log' berisi informasi tentang pengoperasian program WhatsApp.

Sumber
  1. Analisis forensik WhatsApp Messenger pada smartphone Android, oleh Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Eksplorasi sistem file dan data dasar pada aplikasi Android dan iOS oleh Ahmad Pratama, 2014.



Artikel-artikel berikut dalam seri ini:

Dekripsi basis data WhatsApp terenkripsi
Artikel ini akan memberikan informasi tentang bagaimana kunci enkripsi WhatsApp dihasilkan dan contoh-contoh praktis diberikan yang menunjukkan cara mendekripsi basis data terenkripsi dari aplikasi ini.

Ekstrak data WhatsApp dari penyimpanan cloud
Artikel tempat kami menjelaskan data WhatsApp apa yang disimpan di cloud dan menjelaskan metode untuk mengekstraksi data ini dari penyimpanan cloud.

Ekstraksi Data WhatsApp: Studi Kasus
Artikel yang akan menjelaskan langkah demi langkah program dan cara mengekstrak data WhatsApp dari berbagai perangkat.


Group-IB tahu segalanya tentang kejahatan dunia maya, tetapi menceritakan hal-hal yang paling menarik.

Saluran Telegram penuh aksi (https://t.me/Group_IB) tentang keamanan informasi, peretas dan serangan dunia maya, peretas dan perompak internet. Investigasi kejahatan dunia maya yang sensasional dengan langkah-langkah, kasus-kasus praktis menggunakan teknologi Grup-IB dan, tentu saja, rekomendasi tentang bagaimana menghindari menjadi korban di Internet.

Grup Saluran YouTube -IB
Group-IB Photowire di Instagram www.instagram.com/group_ib
Twitter berita pendek twitter.com/GroupIB

Group-IB adalah salah satu pengembang solusi terkemuka untuk mendeteksi dan mencegah serangan cyber, mendeteksi penipuan, dan melindungi kekayaan intelektual dalam jaringan yang berkantor pusat di Singapura.

Source: https://habr.com/ru/post/id447592/


All Articles