WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?

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/'.

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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:

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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:

    WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
    Struktur tabel

    jeneng 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:

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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:

    WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?

  • 'isi_pesen'
    Isine teks pesen sing dikirim.

    Tampilan meja:

    WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?

  • '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:

    WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
    Struktur tabel

    jeneng 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:

    WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?

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:

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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:

    WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?

  • 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':

    WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?

  • 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':

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
Tabel paling informatif ing database 'ChatStorage.sqlite' yaiku 'ZWAMESSAGE' ΠΈ 'ZWAMEDIAIITEM'.

Tampilan meja 'ZWAMESSAGE':

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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':

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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' WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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:

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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'WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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':

WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
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:

    WhatsApp ing telapak tangan: ing endi lan kepiye sampeyan bisa nemokake artefak forensik?
    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

  1. Analisis forensik WhatsApp Messenger ing smartphone Android, dening Cosimo Anglano, 2014.
  2. 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

Add a comment