WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?

Kas soovite teada, millised WhatsAppi kriminaaltehnilised artefaktid eksisteerivad erinevates operatsioonisĂŒsteemides ja kus tĂ€pselt neid leiduda vĂ”ib — siis olete Ă”iges kohas. Selle artikli on kirjutanud Group-IB arvutite kriminaaltehnika labori spetsialist. Igor Mihhailov avatab artiklite seeria WhatsAppi kriminaaltehnilisest uurimisest ja sellest, millist teavet on vĂ”imalik seadme analĂŒĂŒsimisel saada.

JĂ€tame kohe mĂ€rkimata, et eri operatsioonisĂŒsteemides hoitakse erinevat tĂŒĂŒpi WhatsAppi artefakte, ja kui ĂŒhest seadmest suudab uurija teatud tĂŒĂŒpi WhatsAppi andmeid ekstrakteerida, ei tĂ€henda see, et sarnaseid andmeid saaks teiselt seadmel kĂ€tte saada. NĂ€iteks, kui eemaldada sĂŒsteemikoostisosad Windowsi operatsioonisĂŒsteemiga seadmes, siis tĂ”enĂ€oliselt ei leita WhatsAppi vestlusi sellel kettal (vĂ€lja arvatud iOS-seadmete varukoopiad, mis vĂ”ivad nendele salvestusseadmetele olla kergesti ligipÀÀsetavad). SĂŒlearvutite ja mobiilseadmete eemaldamisel on omad eripĂ€rad. RÀÀgime sellest lĂ€hemalt.

WhatsAppi artefaktid Android-seadmest

WhatsAppi artefaktide ekstraktimiseks Androidi operatsioonisĂŒsteemiga seadmetest peab uurijal olema superkasutaja Ă”igused ('root') uuritavas seadmes vĂ”i peab olema vĂ”imalus muul viisil saada seadme fĂŒĂŒsiline mĂ€lu dump vĂ”i selle failisĂŒsteem (nĂ€iteks kasutades teatud mobiilseadme tarkvaravigu).

Rakenduse failid asuvad telefoni mÀlus kasutaja andmete salvestamise jaotises. Reeglina kannab see jaotis nime 'userdata'. Programmi alamkaustad ja failid on jÀrgmisel teel: '/data/data/com.whatsapp/'.

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Peamised failid, mis sisaldavad WhatsAppi kriminaaltehnilisi artefakte Androidi operatsioonisĂŒsteemis, on andmebaasid 'wa.db' ja 'msgstore.db'.

Andmebaasis 'wa.db' on kogu WhatsAppi kontaktide loend, sealhulgas telefoninumber, kuvatav nimi, ajatempli andmed ja kÔik muu teave, mis on WhatsAppi registreerimise kÀigus esitatud. Fail 'wa.db' asub teel: '/data/data/com.whatsapp/databases/' ja sellel on jÀrgmine struktuur:

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Andmebaasi kÔige huvitavamateks tabeliteks uurija jaoks on: 'wa.db' 'wa_contacts'

  • ‘wa_contacts’
    See tabel sisaldab kontaktide teavet: WhatsAppi kontaktide ID, staatuse teave, kuvatud kasutajanimi, ajatempli andmed jne.

    Tabeli vÀlimus:

    WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
    Tabeli struktuur

    VĂ€lja nimiTĂ€hendus
    _idkirje jÀrjestus (SQL tabelis)
    jidKontakt WhatsAppi ID, kirjutatakse vormingus @s.whatsapp.net
    is_whatsapp_usersisaldab '1', kui kontakt vastab tegelikule WhatsAppi kasutajale, '0' muul juhul
    staatussisaldab kontakti staatuse kuvamiseks vajalikku teksti
    status_timestampsisaldab ajatemplit Unix Epoch Time formaadis (ms)
    numbertelefoninumber, mis on seotud kontaktiga
    raw_contact_idkontaktide jÀrjestus
    display_namekontakti kuvatud nimi
    phone_typetelefoni tĂŒĂŒp
    phone_labeletiket, mis on seotud kontaktinumbriga
    unseen_msg_countspontaansete sÔnumite arv, mille kontakt on saatnud, kuid mida vastuvÔtja ei ole nÀinud
    photo_tssisaldab ajatemplit Unix Epoch Time formaadis
    thumb_tssisaldab ajatemplit Unix Epoch Time formaadis
    photo_id_timestampsisaldab ajatemplit Unix Epoch Time formaadis (ms)
    given_namevÀlja vÀÀrtus, mis vastab 'display_name' igas kontaktis
    wa_namekontakti nimi WhatsAppis (kuvatakse kontaktiprofiilil mÀÀratud nimi)
    sort_namekontakti nimi, mida kasutatakse jÀrjestamise operatsioonides
    nicknamekontakti hĂŒĂŒdnimi WhatsAppis (kuvatakse kontaktiprofiilil mÀÀratud hĂŒĂŒdnimi)
    companyettevÔtte nimi (kuvatakse kontaktiprofiilil mÀÀratud ettevÔtte nimi)
    titlekallis (proua/ hÀrra; kuvatakse kontaktiprofiilil seadistatud tervitus)
    offsethÀlve
  • 'sqlite_sequence'
    See tabel sisaldab kontaktide arvu teavet;
  • 'android_metadata'
    See tabel sisaldab WhatsAppi keele lokaliseerimise teavet.

Andmebaasis 'msgstore.db' sisaldab teavet edastatud sÔnumite kohta, nagu kontaktinumber, sÔnumi sisu, sÔnumi staatus, ajatempli andmed, edastatud failide teave, mis on sÔnumites ja nii edasi. Fail 'msgstore.db' asub teel: '/data/data/com.whatsapp/databases/' ja sellel on jÀrgmine struktuur:

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Failis on kÔige huvitavamad tabelid 'msgstore.db' 'wa_contacts'

  • 'sqlite_sequence'
    See tabel sisaldab teavet selle andmebaasi kohta, nÀiteks hoitud sÔnumite koguarv, vestluste koguarv jne.

    Tabeli vÀlimus:

    WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?

  • 'message_fts_content'
    Sisaldab edastatud sÔnumite teksti.

    Tabeli vÀlimus:

    WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?

  • 'messages'
    See tabel sisaldab sellist teavet nagu kontaktinumber, sÔnumi sisu, sÔnumi staatus, ajatempli andmed, edastatud failide teave, mis on sÔnumites.

    Tabeli vÀlimus:

    WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
    Tabeli struktuur

    VĂ€lja nimiTĂ€hendus
    _idkirje jÀrjestus (SQL tabelis)
    key_remote_jidWhatsAppi ID suhtluse partneri jaoks
    key_from_mesĂ”numi suund: '0' – saabuv, '1' – vĂ€ljaminev
    key_idsÔnumi ainulaadne identifikaator
    staatusteate staatus: '0' – kohaletoimetatud, '4' – ootab serveris, '5' – sihtkohas vastu vĂ”etud, '6' – kontrollteade, '13' – teade on vastuvĂ”tja poolt avatud (loetud)
    need_pushon vÀÀrt '2', kui see on laiali saadetud teade, muidu sisaldab '0'
    datateate tekst (kui parameeter 'media_wa_type' on '0')
    timestampsisaldab Unix Epoch Time (ms) vormingus ajatemplit, vÀÀrtus saadakse seadme kellast
    media_urlsisaldab edastatava faili URL-i (kui parameeter 'media_wa_type' on '1', '2', '3')
    media_mime_typeedastatava faili MIME-tĂŒĂŒp (kui parameeter 'media_wa_type' on '1', '2', '3')
    media_wa_typeteate tĂŒĂŒp: '0' – tekst, '1' – graafiline fail, '2' – helifail, '3' – videofail, '4' – kontaktikaart, '5' – geoinfo
    media_sizeedastatava faili suurus (kui parameeter 'media_wa_type' on '1', '2', '3')
    media_nameedastatava faili nimi (kui parameeter 'media_wa_type' on '1', '2', '3')
    media_captionSisaldab sÔnu 'audio', 'video', vastavate 'media_wa_type' vÀÀrtuste jaoks (kui parameeter 'media_wa_type' on '1', '3')
    media_hashbase64 vormingus edastatava faili hash, arvutatud HAS-256 algoritmi jÀrgi (kui parameeter 'media_wa_type' on '1', '2', '3')
    media_durationkestus sekundites meediafaili jaoks (kui parameeter 'media_wa_type' on '1', '2', '3')
    origin.on vÀÀrt '2', kui see on laiali saadetud teade, muidu sisaldab '0'
    latitudegeoinfo: laius (kui parameeter 'media_wa_type' on '5')
    longitudegeoinfo: pikkus (kui parameeter 'media_wa_type' on '5')
    thumb_imageteenusteave
    remote_recourcesaaja ID (ainult grupivestluste jaoks)
    received_timestampvastuvÔtmise aeg, sisaldab Unix Epoch Time (ms) vormingus ajatemplit, vÀÀrtus saadakse seadme kellast (kui parameeter 'key_from_me' on '0', '-1' vÔi muu vÀÀrtus)
    send_timestampei kasutata, tavaliselt on vÀÀrtus '-1'
    receipt_server_timestampkeskse vastuvÔtu aeg, serveriltsisaldab Unix Epoch Time (ms) vormingus ajatemplit, vÀÀrtus saadakse seadme kellast (kui parameeter 'key_from_me' on '1', '-1' vÔi muu vÀÀrtus)
    receipt_device_timestampteate vastuvÔtmise aeg teise tellija poolt, sisaldab Unix Epoch Time (ms) vormingus ajatemplit, vÀÀrtus saadakse seadme kellast (kui parameeter 'key_from_me' on '1', '-1' vÔi muu vÀÀrtus)
    read_device_timestampsÔnumi avamise (lugemise) aeg, sisaldab Unix Epoch Time (ms) formaadis ajatemplit, vÀÀrtus saadakse seadme kellast
    played_device_timestampsÔnumi esitamise aeg, sisaldab Unix Epoch Time (ms) formaadis ajatemplit, vÀÀrtus saadakse seadme kellast
    raw_dataedastatava faili miniatuur (kui parameeter ‘media_wa_type’ on ‘1’ vĂ”i ‘3’)
    recipient_countsaajate arv (broadcast sÔnumite jaoks)
    participant_hashkasutatakse geodati vÔimalustega sÔnumite edastamisel
    starredei kasutata
    quoted_row_idtundmatu, tavaliselt sisaldab vÀÀrtust ‘0’
    mentioned_jidsei kasutata
    multicast_idei kasutata
    offsethÀlve

    See vĂ€li loetelu ei ole ammendav. Erinevate WhatsApp versioonide puhul vĂ”ivad mĂ”ned vĂ€ljad olla olemas vĂ”i puududa. Samuti vĂ”ivad olla tĂ€iendavad vĂ€ljad ‘media_enc_hash’, ‘edit_version’, ‘payment_transaction_id’ jne.

  • ‘messages_thumbnails’
    See tabel sisaldab edastatud piltide teavet ja ajatempleid. Veerus ‘timestamp’ on aeg esitatud Unix Epoch Time (ms) formaadis.
  • ‘chat_list’
    See tabel sisaldab teavet vestluste kohta.

    Tabeli vÀlimus:

    WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?

Samuti tuleb WhatsApp-i uurimisel Android seadmes tÀhelepanu pöörata jÀrgmistele failidele:

  • Fail ‘msgstore.db.cryptXX’ (kus XX on ĂŒks vĂ”i kaks numbrit vahemikus 0 kuni 12, nĂ€iteks msgstore.db.crypt12). Sisaldab WhatsAppi sĂ”numite krĂŒpteeritud varukoopiat (faili varukoopia msgstore.db). Fail (vĂ”i failid) ‘msgstore.db.cryptXX’ asub teel: ‘/data/media/0/WhatsApp/Databases/’ (virtuaalne SD-kaart), ‘/mnt/sdcard/WhatsApp/Databases/’ (fĂŒĂŒsiline SD-kaart).
  • Fail ‘key’. Sisaldab krĂŒptograafilist vĂ”tit. Asub teel: ‘/data/data/com.whatsapp/files/’. Kasutatakse WhatsAppi krĂŒpteeritud varukoopiate dekrĂŒpteerimiseks.
  • Fail ‘com.whatsapp_preferences.xml’. Sisaldab teavet WhatsAppi konto profiili kohta. Fail asub teel: ‘/data/data/com.whatsapp/shared_prefs/’.

    Faili sisu fragment

    

    9123456789 (telefoninumber, mis on seostatud WhatsAppi kontoga)
    

    2.17.395 (WhatsAppi versioon)
    

    Hey there! I am using WhatsApp. (sÔnum, mis kuvatakse konto olekus)
    

    Alex (konto omaniku nimi)
    
 
  • Fail ‘registration.RegisterPhone.xml’. Sisaldab teavet telefoninumbri kohta, mis on seostatud WhatsAppi kontoga. Fail asub teel: ‘/data/data/com.whatsapp/shared_prefs/’.

    Faili sisu

    
    9123456789
    
    
    912 345-67-89
    
    7
    7
    
  • Fail ‘axolotl.db’. Sisaldab krĂŒptograafilisi vĂ”tmeid ja muid teavet, mis on vajalik konto omanikku tuvastamiseks. Asub aadressil: '/data/data/com.whatsapp/databases/'.
  • Fail ‘chatsettings.db’. Sisaldab rakenduse konfiguratsiooni teavet.
  • Fail 'wa.db'. Sisaldab kontaktide ĂŒksikasju. VĂ€ga huvitav (kriminaalistika aspektist) ja informatiivne andmebaas. Siit vĂ”ib leida ĂŒksikasjalikku teavet kustutatud kontaktide kohta.

Tuleb pöörata tÀhelepanu ka jÀrgmistele kataloogidele:

  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Images/’. Sisaldab edastatud graafikafaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/’. Sisaldab hÀÀlteateid .OPUS formaadis failides.
  • Kataloog ‘/data/data/com.whatsapp/cache/Profile Pictures/’. Sisaldab graafikafaile – kontaktide pilte.
  • Kataloog ‘/data/data/com.whatsapp/files/Avatars/’. Sisaldab graafikafaile – kontaktide piltide miniatuurid. Need failid on laiendiga ‘.j’, kuid siiski on need JPEG (JPG) formaadis graafikafailid.
  • Kataloog ‘/data/data/com.whatsapp/files/Avatars/’. Sisaldab graafikafaile – konto omaniku valitud avatari pildi ja miniatuuri.
  • Kataloog ‘/data/data/com.whatsapp/files/Logs/’. Sisaldab programmi töölogi (fail ‘whatsapp.log’) ja programmi töölogide varukoopiaid (failid, mille nimed on formaat whatsapp- гггг-ĐŒĐŒ-ĐŽĐŽ.1.log.gz).

WhatsApp'i logifailid:

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Logifaili fragment2017-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 cancel true
2017-01-10 09:37:09.768 LL_I D [1:main] app-init/load-me
2017-01-10 09:37:09.772 LL_I D [1:main] password file missing or unreadable
2017-01-10 09:37:09.782 LL_I D [1:main] statistics Text Messages: 59 sent, 82 received / Media Messages: 1 sent (0 bytes), 0 received (9850158 bytes) / Offline Messages: 81 received (19522 msec average delay) / Message Service: 116075 bytes sent, 211729 bytes received / Voip Calls: 1 outgoing calls, 0 incoming calls, 2492 bytes sent, 1530 bytes received / Google Drive: 0 bytes sent, 0 bytes received / Roaming: 1524 bytes sent, 1826 bytes received / Total Data: 118567 bytes sent, 10063417 bytes received
2017-01-10 09:37:09.785 LL_I D [1:main] media-state-manager/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:main] app-init/initialize/timer/stop: 24
2017-01-10 09:37:09.811 LL_I D [1:main] msgstore/checkhealth
2017-01-10 09:37:09.817 LL_I D [1:main] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkdb/data/data/com.whatsapp/databases/msgstore.db
2017-01-10 09:37:09.819 LL_I D [1: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-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_I D [1: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/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_I D [1:main] msgstore/checkdb/version 1
2017-01-10 09:37:09.839 LL_I D [1:main] msgstore/canquery
2017-01-10 09:37:09.846 LL_I D [1: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 | time spent:8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-state-manager/refresh-media-state/internal-storage available:1,345,622,016 total:5,687,922,688

  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/’. Sisaldab saadetud helifaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/’. Sisaldab saadetud helifaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Images/’. Sisaldab saadetud graafikafaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/’. Sisaldab saadetud graafikafaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Video/’. Sisaldab saadetud videofaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/’. Sisaldab saadetud videofaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/’. Sisaldab graafikafaile, mis on seotud WhatsAppi konto omanikuga.
  • MĂ€lu sÀÀstmiseks vĂ”ivad mĂ”ned WhatsAppi andmed salvestuda SD-kaardile. SD-kaardil, peadirigis, asub kataloog ‘WhatsApp’, kus on saadaval jĂ€rgmised selle programmi artefaktid:

    WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?

  • Kataloog ‘.Share’ (‘/mnt/sdcard/WhatsApp/.Share/’). Sisaldab faile, mis on edastatud teistele WhatsAppi kasutajatele.
  • Kataloog ‘.trash’ (‘/mnt/sdcard/WhatsApp/.trash/’). Sisaldab kustutatud faile.
  • Kataloog ‘Databases’ (‘/mnt/sdcard/WhatsApp/Databases/’). Sisaldab krĂŒpteeritud varukoopiaid. Need vĂ”ivad olla dekodeeritud, kui olemas on fail ‘key’, mis on saadud analĂŒĂŒsitava seadme mĂ€lust.

    Failid, mis asuvad alamkataloogis ‘Databases’:

    WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?

  • Kataloog ‘Meedia’ (‘/mnt/sdcard/WhatsApp/Meedia/’). Sisaldab alamkaustu ‘Seinakujundus’, ‘WhatsApp Helid’, ‘WhatsApp Pildid’, ‘WhatsApp Profiilipildid’, ‘WhatsApp Video’, ‘WhatsApp HÀÀlsĂ”numid’, milles asuvad saadud ja edastatud multimeediafailid (graafikafailid, videofailid, hÀÀlsĂ”numid, fotod, mis on seotud WhatsApp'i konto omaniku profiiliga, taustapildid).
  • Kataloog ‘Profiilipildid’ (‘/mnt/sdcard/WhatsApp/Profiilipildid/’). Sisaldab graafikafailid, mis on seotud WhatsApp'i konto omaniku profiiliga.
  • MĂ”nikord vĂ”ib SD-kaardil olla kataloog ‘failid’ (‘/mnt/sdcard/WhatsApp/Failid/’). Selles kataloogis on failid, kus on salvestatud programmi seaded ja kasutaja eelistused.

Andmete salvestamise eripÀra mÔningates mobiilseadmestikes

MĂ”nes mobiilseadmestikus, mis töötab Androidi operatsioonisĂŒsteemiga, vĂ”ib WhatsApp'i artefaktid olla salvestatud muusse kohta. See on tingitud sĂŒsteemi tarkvara muudatustest mobiilseadmestiku andmete salvestamise ruumis. NĂ€iteks mobiilseadmetes Xiaomi on funktsioon teise tööruumi loomine („SecondSpace”). Selle funktsiooni aktiveerimisel muutub andmete asukoht. NĂ€iteks tavalises Androidi operatsioonisĂŒsteemiga mobiilseadmestikus salvestatakse kasutaja andmed katalooge ‘/data/user/0/’ (see viitab tuntud ‘/data/data/’), siis teises tööruumis salvestatakse rakenduste andmed katalooge ‘/data/user/10/’. Seega, nĂ€iteks Androidi operatsioonisĂŒsteemiga tavalises nutitelefonis asuva faili asukoht: 'wa.db':

  • (see on ekvivalentne /data/user/0/com.whatsapp/databases/wa.db’ ‘/data/data/com.whatsapp/databases/wa.db’) teises tööruumis Xiaomi nutitelefonis:;
  • ‘/data/user/10/com.whatsapp/databases/wa.db’ WhatsApp'i artefaktid iOS-seadmestikus.

Erinevalt Androidi operatsioonisĂŒsteemist, iOS-is edastatakse WhatsApp'i rakenduse andmed varukoopiasse (iTunes backup). SeetĂ”ttu ei nĂ”ua selle rakenduse andmete taastamine failisĂŒsteemi Ă€rakirja loomist vĂ”i uuritava seadme fĂŒĂŒsilise mĂ€ludumpi loomist. Suur osa tĂ€henduslikest andmetest asub andmebaasis

‘ChatStorage.sqlite’ , mis asub teel:‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/’ (mĂ”nedes programmides kuvatakse see tee kui ‘AppDomainGroup-group.net.whatsapp.WhatsApp.shared’ Andmebaasis ‘ChatStorage.sqlite’ on kĂ”ige informatiivsemad tabelid).

Struktuur , mis asub teel::

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
‘ZWAMESSAGE’ ‘ZWAMEDIAITEM’ ja Tabeli vĂ€limus.

Đ’ĐœĐ”ŃˆĐœĐžĐč ĐČОЎ таблОцы ‘ZWAMEDIAITEM’:

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Tabeli struktuur ‘ZWAMESSAGE’

VĂ€lja nimiTĂ€hendus
Z_PKkirje jÀrjestus (SQL tabelis)
Z_ENTtabeli identifikaator, vÀÀrtus on ‘9’
Z_OPTteadmata, tavaliselt sisaldab vÀÀrtusi vahemikus ‘1’ kuni ‘6’
ZCHILDMESSAGESDELIVEREDCOUNTtundmatu, tavaliselt sisaldab vÀÀrtust ‘0’
ZCHILDMESSAGESPLAYEDCOUNTtundmatu, tavaliselt sisaldab vÀÀrtust ‘0’
ZCHILDMESSAGESREADCOUNTtundmatu, tavaliselt sisaldab vÀÀrtust ‘0’
ZDATAITEMVERSIONteadmata, tavaliselt sisaldab vÀÀrtust ‘3’, tĂ”enĂ€oliselt on see tekstisĂ”numi nĂ€itaja
ZDOCIDteadmata
ZENCRETRYCOUNTtundmatu, tavaliselt sisaldab vÀÀrtust ‘0’
ZFILTEREDRECIPIENTCOUNTteadmata, tavaliselt sisaldab vÀÀrtusi ‘0’, ‘2’, ‘256’
ZISFROMMEsĂ”numi suund: '0' – saabuv, '1' – vĂ€ljaminev
ZMESSAGEERRORSTATUSsĂ”numi edastamise staatus. Kui sĂ”num on saadetud/saadud, siis vÀÀrtus on ‘0’
ZMESSAGETYPEedastatava sĂ”numi tĂŒĂŒp
ZSORTteadmata
ZSPOTLIGHSTATUSteadmata
ZSTARREDteadmata, ei kasutata
ZCHATSESSIONteadmata
ZGROUPMEMBERteadmata, ei kasutata
ZLASTSESSIONteadmata
ZMEDIAITEMteadmata
ZMESSAGEINFOteadmata
ZPARENTMESSAGEteadmata, ei kasutata
ZMESSAGEDATEajakood OS X Epoch Time formaadis
ZSENTDATEsÔnumi saatmise aeg OS X Epoch Time formaadis
ZFROMJIDsaajate WhatsApp ID
ZMEDIASECTIONIDsisaldab aasta ja kuu, mil meediafail saadeti
ZPHASHteadmata, ei kasutata
ZPUSHPAMEkontaktinimi, kes saatis meediafaili UTF-8 formaadis
ZSTANZIDsÔnumi ainulaadne identifikaator
ZTEXTsÔnumi tekst
ZTOJIDsaaja WhatsApp ID
CHECKSUM_AGGhÀlve

Đ’ĐœĐ”ŃˆĐœĐžĐč ĐČОЎ таблОцы Tabeli vĂ€limus:

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Tabeli struktuur ‘ZWAMEDIAITEM’

VĂ€lja nimiTĂ€hendus
Z_PKkirje jÀrjestus (SQL tabelis)
Z_ENTtabeli identifikaator, vÀÀrtus on ‘8’
Z_OPTteadmata, tavaliselt sisaldab vÀÀrtusi vahemikus ‘1’ kuni ‘3’.
ZCLOUDSTATUSsisaldab vÀÀrtust ‘4’, kui fail on ĂŒles laaditud.
ZFILESIZEsisaldab faili pikkust (baitides) ĂŒles laaditud failide jaoks
ZMEDIAORIGINteadmata, tavaliselt on vÀÀrtus ‘0’
ZMOVIEDURATIONmeediafaili kestus, PDF failide puhul vÔib sisaldada dokumendi lehtede arvu
ZMESSAGEsisaldab jĂ€rjestikust numbrit (number erineb sellest, mis on toodud veerus ‘Z_PK’)
ZASPECTRATIOkuvasuhe, ei kasutata, tavaliselt on vÀÀrtus ‘0’
ZHACCURACYteadmata, tavaliselt on vÀÀrtus ‘0’
ZLATTITUDElaius pikslites
ZLONGTITUDEkÔrgus pikslites
ZMEDIAURLDATEajakood OS X Epoch Time formaadis
ZAUTHORNAMEautor (dokumentide puhul vÔib sisaldada faili nime)
ZCOLLECTIONNAMEei kasutata
ZMEDIALOCALPATHfailinimi (teega) seadme failisĂŒsteemis
ZMEDIAURLURL, kus meediafail oli. Kui fail edastati ĂŒhelt kasutajalt teisele, oli see krĂŒpteeritud ja selle laiend on mĂ€rgitud edastatud faili laiendina — .enc
ZTHUMBNAILLOCALPATHminiatuuri failitee seadme failisĂŒsteemis
ZTITLEfaili pealkiri
ZVCARDNAMEmeediafaili hash, failide edastamisel gruppi vÔib sisaldada saatja identifikaatorit
ZVCARDSTRINGsisaldab teavet edastatava faili tĂŒĂŒbi kohta (nt image/jpeg), failide edastamisel gruppi vĂ”ib sisaldada saaja identifikaatorit
ZXMPPTHUMBPATHminiatuuri failitee seadme failisĂŒsteemis
ZMEDIAKEYtundmatu, tĂ”enĂ€oliselt sisaldab see dekodeerimise vĂ”tit krĂŒpteeritud faili jaoks.
ZMETADATAedastatava sÔnumi metadata
OffsethÀlve

Muud huvitavad andmebaasi tabelid , mis asub teel: on:

  • ‘ZWAPROFILEPUSHNAME’. Sidub WhatsApp ID kontaktinimega;
  • ‘ZWAPROFILEPICTUREITEM’. Sidub WhatsApp ID kontaktvaatega;
  • ‘Z_PRIMARYKEY’. Tabel sisaldab ĂŒldinformatsiooni selle andmebaasi kohta, nagu salvestatud sĂ”numite koguarv, vestluste koguarv jne.

Samuti tuleks WhatsAppi uurimisel iOS seadmel tÀhelepanu pöörata jÀrgmistele failidele:

  • Fail ‘BackedUpKeyValue.sqlite’. Sisaldab krĂŒptograafilisi vĂ”tmeid ja muid teavet, mis on vajalik konto omanikku tuvastamiseks. Asub aadressil: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Fail ‘ContactsV2.sqlite’. Sisaldab kasutaja kontaktide teavet, nagu nimi, telefoninumber, kontaktistaatus (tekstivormis), WhatsApp ID jne. Asub teel: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Fail ‘consumer_version’. Sisaldab paigaldatud WhatsAppi rakenduse versiooninumbrit. Asub teel: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Fail ‘current_wallpaper.jpg’. Sisaldab praeguseid WhatsAppi taustapilte. Asub teel: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Vanemates rakenduse versioonides kasutatakse faili ‘wallpaper’, mis asub teel: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’.
  • Fail ‘blockedcontacts.dat’. Sisaldab teavet blokeeritud kontaktide kohta. Asub teel: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • Fail ‘pw.dat’. Sisaldab krĂŒpteeritud parooli. Asub teel: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/’.
  • Fail ‘net.whatsapp.WhatsApp.plist’ (vĂ”i fail ‘group.net.whatsapp.WhatsApp.shared.plist’). Sisaldab WhatsApp konto profiili teavet. Fail asub teel: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/’.

Faili ‘group.net.whatsapp.WhatsApp.shared.plist’ sisu WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Tuleb pöörata tÀhelepanu ka jÀrgmistele kataloogidele:

  • Kataloog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/’. Sisaldab kontaktide, gruppide miniatuurkujusid (failid, mille laiend on .thumb), WhatsAppi konto omaniku avatar (fail ‘Photo.jpg’).
  • Kataloog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ Message/Media/’. Sisaldab multimeediafaile ja nende miniatuurkujusid.
  • Kataloog ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’. Sisaldab programmi logi (fail ‘calls.log’) ja programmilogide varukoopiaid (fail ‘calls.backup.log’).
  • Kataloog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/’. Sisaldab kleebiseid (failid formaadis ‘.webp’).
  • Kataloog ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/’. Sisaldab programmi logisid.

WhatsAppi artefaktid Windowsis

WhatsAppi artefakte Windowsis vÔib leida mitmest kohast. Esiteks on need kataloogid, mis sisaldavad programmi tÀidetavaid ja abifaile (Windows 8/10):

  • ‘C:Program Files (x86)WhatsApp’
  • ‘C:Users%User profile% AppDataLocalWhatsApp’
  • ‘C:Users%User profile% AppDataLocalVirtualStore Program Files (x86)WhatsApp’

Kataloogis ‘C:Users%User profile% AppDataLocalWhatsApp’ asub logifail ‘SquirrelSetup.log’, kus leidub teavet programmivĂ€rskenduste ja installatsiooni kohta.

Kataloogis ‘C:Users%User profile% AppDataRoamingWhatsApp’ asub mitu alamkausta:

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Fail ‘main-process.log’ sisaldab teavet WhatsAppi programmi toimimise kohta.

Alamkaust ‘databases’ sisaldab faili ‘Databases.db’, kuid see fail ei sisalda mingit teavet vestluste ega kontaktide kohta.

Kriminaalsete uuringute seisukohalt on kĂ”ige huvitavamad failid, mis asuvad kataloogis ‘Cache’. Enamasti on need failid nimedega ‘f_*******’ (kus * — number vahemikus 0 kuni 9), sisaldades salastatud multimeedia faile ja dokumente, kuid nende seas on ka dekrĂŒpteeritud faile. Erilist huvi pakuvad failid ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’, mis asuvad samas alamkaustas. Failid ‘data_0’, ‘data_1’, ‘data_3’ sisaldavad vĂ€liseid linke edastatud salastatud multimeedia failidele ja dokumentidele.

NĂ€ide teabest, mis on failis ‘data_1’WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Samuti vĂ”ib fail ‘data_3’ sisaldada graafikafaile.

Fail ‘data_2’ sisaldab kontaktide avatari (need vĂ”ivad olla taastatud failipealkirjade otsimise kaudu).

Avatare, mis on failis ‘data_2’:

WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
Nii et arvuti mÀlus ei saa vestlusi leida, kuid saad leida:

  • multimeedia faile;
  • dokumente, mis on edastatud WhatsAppi kaudu;
  • teavet konto omaniku kontaktide kohta.

WhatsAppi artefaktid MacOS-is

MacOS-is on vĂ”imalik leida WhatsAppi artefakte, mis on sarnased Windowsi operatsioonisĂŒsteemi artefaktidele.

Programmi failid asuvad kataloogides:

  • ‘C:ApplicationsWhatsApp.app’
  • ‘C:Applications._WhatsApp.app’
  • ‘C:Users%User profile%LibraryPreferences’
  • ‘C:Users%User profile%LibraryLogsWhatsApp’
  • ‘C:Users%User profile%LibrarySaved Application StateWhatsApp.savedState’
  • ‘C:Users%User profile%LibraryApplication Scripts’
  • ‘C:Users%User profile%LibraryApplication SupportCloudDocs’
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp.ShipIt’
  • ‘C:Users%User profile%LibraryContainerscom.rockysandstudio.app-for-whatsapp’
  • ‘C:Users%User profile% Library Mobile Documents WhatsApp Accounts’
    Selles kataloogis asuvad alamkaustad, mille nimed on telefoninumbrid, mis on seotud WhatsAppi konto omanikuga.
  • ‘C:Users%User profile%LibraryCachesWhatsApp.ShipIt’
    Selles kataloogis on teave programmi installatsiooni kohta.
  • ‘C:Users%User profile%PicturesMediathek iPhoto.photolibraryMasters’, ‘C:Users%User profile%PicturesMediathek iPhoto.photolibraryThumbnails’
    Nendes kataloogides on programmi teenusfailid, sealhulgas WhatsAppi kontaktide fotod ja miniatuurid.
  • ‘C:Users%User profile%LibraryCachesWhatsApp’
    Selles kataloogis on mitu SQLite andmebaasi, mida kasutatakse andmete vahemÀlu jaoks.
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp’
    Selles kataloogis on mitu alamkatalooge:

    WhatsApp peos: kus ja kuidas leida kriminaaltehnilisi artefakte?
    Kataloogis ‘C:Users%User profile%LibraryApplication SupportWhatsAppCache’ leiduvad failid ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’ ja failid nimedega ‘f_*******’ (kus * — number vahemikus 0 kuni 9). Teave nende failide sisu kohta on kirjeldatud jaotises „WhatsAppi artefaktid Windowsis”.

    Kataloogis ‘C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB’ vĂ”ivad sisaldada multimeedia faile (failidel ei ole laiendeid).

    Fail ‘main-process.log’ sisaldab teavet WhatsAppi programmi toimimise kohta.

Allikad

  1. WhatsApp Messengeri kriminaalanalĂŒĂŒs Android nutitelefonides, autor Cosimo Anglano, 2014.
  2. Whatsappi kriminaalanalĂŒĂŒs: failisĂŒsteemi ja andmebaaside uurimine Android ja iOS rakendustes, autor Ahmad Pratama, 2014.

Selles sarjas jÀrgmised artiklid:

WhatsAppi krĂŒptitud andmebaaside deĆĄifreerimineArtikkel, kus on esitatud teave selle kohta, kuidas WhatsAppi krĂŒptimisvĂ”ti genereeritakse, ja praktilised nĂ€ited, mis nĂ€itavad, kuidas deĆĄifreerida selle rakenduse krĂŒptitud andmebaase.
WhatsAppi andmete ekstraktsioon pilvepoodidestArtikkel, kus rÀÀgime, milliseid WhatsAppi andmeid hoitakse pilves ja kirjeldame meetodeid nende andmete ekstraktsiooniks pilvepoodidest.
WhatsAppi andmete ekstraktsioon: praktilised nÀitedArtikkel, kus on samm-sammult kirjeldatud, milliste programmidega ja kuidas WhatsAppi andmete ekstraktsiooni erinevatelt seadmetelt teostada.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster