WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?

Kas soovite teada, millised WhatsAppi kriminaalistilised artefaktid on erinevates operatsioonisĂŒsteemides ja kus neid tĂ€pselt leida vĂ”ib — siis olete jĂ”udnud Ă”igesse kohta. KĂ€esolevas artiklis tutvustab Group-IB arvutikriminaalsuse labori spetsialist Igor Mihhailov ja avab WhatsAppi kriminaaluuringu publikatsioonide seeria, tutvustades, milliseid andmeid saab seadme analĂŒĂŒsimisel vĂ€lja tuua.

Tuleb kohe mĂ€rkida, et erinevates operatsioonisĂŒsteemides hoitakse erinevat tĂŒĂŒpi WhatsAppi artefakte, ja kui ĂŒhe seadme uurija suudab vĂ€lja vĂ”tta teatud tĂŒĂŒpi WhatsAppi andmeid, ei tĂ€henda see sugugi, et sarnaseid andmeid saaks vĂ€lja vĂ”tta teisest seadmest. NĂ€iteks kui konfiskeeritakse Windowsi operatsioonisĂŒsteemiga sĂŒsteemiblok, siis tĂ”enĂ€oliselt ei leita selle kettalt WhatsAppi jututubasid (vĂ€lja arvatud iOS-seadmete varukoopiad, mida vĂ”ib leida nendel samadel ketastel). SĂŒlearvutite ja mobiilseadmete konfiskeerimise korral on omad eripĂ€rad. RÀÀgime sellest lĂ€hemalt.

WhatsAppi artefaktid Android-seadmest

WhatsApp'i artefaktide vĂ€lja tĂ”mbamiseks Androidi operatsioonisĂŒsteemiga seadmest peab uurijal olema superkasutajaĂ”igus ('root') uuritavas seadmes vĂ”i peab tal olema vĂ”imalus seadme fĂŒĂŒsiline mĂ€lukoopia vĂ”i failisĂŒsteem muul moel hankida (nĂ€iteks teatud mobiiliseadme tarkvarauuenduste kaudu).

Rakenduse failid asuvad telefoni mÀlus kasutajaandmete salvestamiseks mÔeldud partitsioonis. Reeglina on see partitsioon nimega 'userdata'. Alajaotused ja programmifailid asuvad teel: '/data/data/com.whatsapp/'.

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Peamised failid, mis sisaldavad WhatsApp'i kriminaalsetest artefaktidest Androidi sĂŒsteemis, on andmebaasid 'wa.db' ja 'msgstore.db'.

Andmebaasis 'wa.db' asid on tÀielik kontaktide nimekiri WhatsApp'i kasutajalt, sealhulgas telefoninumber, kuvatatav nimi, ajatemplid ja muu teave, mis on registreerimise ajal sisestatud WhatsApp'i. Fail 'wa.db' asub teel: '/data/data/com.whatsapp/databases/' ja sellel on jÀrgmine struktuur:

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Andmebaasi kÔige huvitavamad tabelid 'wa.db' uurijale on:

  • 'wa_contacts'
    See tabel sisaldab kontaktide teavet: kontaktnumber WhatsAppis, staatuste teave, kasutajanime kuvamine, ajatempli andmed jne.

    Tabeli vÀlimus:

    WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
    Tabeli struktuur

    VÀljameesVÀÀrtus
    _idkirje jÀrjestusnumber (SQL tabelis)
    jidWhatsAppi kontaktnumber, salvestatakse formaadis @s.whatsapp.net
    is_whatsapp_usersisaldab '1', kui kontakt on tegelik WhatsAppi kasutaja, '0' vastupidisel juhul
    statussisaldab kontakte staatust kuvavat teksti
    status_timestampsisaldab Unixi ajatemplit (ms) formaadis
    numbertelefoninumber, mis on seotud kontaktiga
    raw_contact_idkontaktide jÀrjestusnumber
    display_namekontaktide kuvamise nimi
    phone_typetelefoni tĂŒĂŒp
    phone_labelkontaktinumbri kĂŒlge seotud silt
    unseen_msg_countkontaktile saadetud, aga vastuvÔtja poolt lugemata jÀÀnud sÔnumite arv
    photo_tssisaldab Unix'i ajatemplit
    thumb_tssisaldab Unix'i ajatemplit
    photo_id_timestampsisaldab Unixi ajatemplit (ms) formaadis
    given_namevÀlja vÀÀrtus vastab 'display_name' igas kontaktis
    wa_nameWhatsAppi kontaktinimi (kuvatakse kontaktiprofiilis mÀÀratud nimi)
    sort_namekontaktinimi, mida kasutatakse sorteerimise operatsioonides
    nicknameWhatsAppi kontaktinimi (kuvatakse kontaktiprofiilis mÀÀratud nimi)
    ettevÔteettevÔte (kuvatakse kontaktiprofiilis mÀÀratud ettevÔte)
    aadressaadress (proua/hÀrra; kuvatakse kontaktiprofiilis seatud adress)
    offsetnihe
  • 'sqlite_sequence'
    See tabel sisaldab teavet kontaktide arvu kohta;
  • 'android_metadata'
    See tabel sisaldab teavet WhatsAppi keele lokaliseerimise kohta.

Andmebaasis 'msgstore.db' sisaldab teavet edastatud sĂ”numite kohta, nĂ€iteks kontaktinumber, sĂ”numi tekst, sĂ”numi olek, ajatempli andmed, edastatud failide ĂŒksikasjad, mis on sĂ”numitega kaasas jne. Fail 'msgstore.db' asub teel: '/data/data/com.whatsapp/databases/' ja sellel on jĂ€rgmine struktuur:

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Faili kÔige huvitavamad tabelid 'msgstore.db' uurijale on:

  • 'sqlite_sequence'
    See tabel sisaldab ĂŒldteavet selle andmebaasi kohta, nĂ€iteks hoitavate sĂ”numite koguarv, vestluste koguarv jne.

    Tabeli vÀlimus:

    WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?

  • 'message_fts_content'
    Sisaldab edastatud sÔnumite teksti.

    Tabeli vÀlimus:

    WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?

  • 'messages'
    See tabel sisaldab teavet, nagu kontaktinumber, sĂ”numi tekst, sĂ”numi olek, ajatempli andmed, edastatud failide ĂŒksikasjad, mis on sĂ”numitega kaasas.

    Tabeli vÀlimus:

    WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
    Tabeli struktuur

    VÀljameesVÀÀrtus
    _idkirje jÀrjestusnumber (SQL tabelis)
    key_remote_jidWhatsAppi suhtluspartneri ID
    key_from_mesĂ”numi suund: '0' – sisse tulev, '1' — vĂ€lja minev
    key_idunikaalne sÔnumi identifikaator
    statussĂ”numi staatus: ‘0’ – edastatud, ‘4’ – ootab serveril, ‘5’ – kohale saadetud, ‘6’ – kontrollsĂ”num, ‘13’ – sĂ”num on avatud saaja poolt (loetud)
    need_pushon ‘2’, kui see on massisĂ”num, muidu on vÀÀrtus ‘0’
    datasĂ”numi tekst (kui parameeter ‘media_wa_type’ on ‘0’)
    timestampsisaldab Unix Epoch Time (ms) formaadis ajatemplit, vÀÀrtus vÔetakse 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_typesĂ”numi tĂŒĂŒp: ‘0’ – tekst, ‘1’ – graafikafail, ‘2’ – helifail, ‘3’ – videofail, ‘4’ – kontaktikaart, ‘5’ – geodata
    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 vÀÀrtuste jaoks parameetrile ‘media_wa_type’ (kui parameeter ‘media_wa_type’ on ‘1’, ‘3’)
    media_hashbase64 formaadis kodeeritud hulk ĂŒlekantud failist, arvutatud HAS-256 algoritmi jĂ€rgi (kui parameeter 'media_wa_type' on '1', '2' vĂ”i '3')
    media_durationmeediafaili kestus sekundites (kui parameeter 'media_wa_type' on '1', '2' vÔi '3')
    originon ‘2’, kui see on massisĂ”num, muidu on vÀÀrtus ‘0’
    latitudegeoinfo: laiusaste (kui parameeter 'media_wa_type' on '5')
    longitudegeoinfo: pikkusaste (kui parameeter 'media_wa_type' on '5')
    thumb_imageteenuseinfo
    remote_recourcesaatja ID (ainult grupivestluste jaoks)
    received_timestampvastuvÔtu aeg, sisaldab ajatemplit Unix Epoch Time (ms) formaadis, vÀÀrtus saadakse seadme kellalt (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 serveriga, sisaldab ajatemplit Unix Epoch Time (ms) formaadis, vÀÀrtus saadakse seadme kellalt (kui parameeter 'key_from_me' on '1', '-1' vÔi muu vÀÀrtus
    receipt_device_timestampsÔnumi vastuvÔtu aeg teise osaleja poolt, sisaldab ajatemplit Unix Epoch Time (ms) formaadis, vÀÀrtus saadakse seadme kellalt (kui parameeter 'key_from_me' on '1', '-1' vÔi muu vÀÀrtus
    read_device_timestampsÔnumi avamise (lugemise) aeg, sisaldab ajamÀrgistust Unix Epoch Time formaadis (ms), vÀÀrtus on saadud seadme kellaajast
    played_device_timestampsÔnumi esitamise aeg, sisaldab ajamÀrgistust Unix Epoch Time formaadis (ms), vÀÀrtus on saadud seadme kellaajast
    raw_dataedastatava faili minipilt (kui parameeter ‘media_wa_type’ on ‘1’ vĂ”i ‘3’)
    recipient_countsaajate arv (laiendatud sÔnumite jaoks)
    participant_hashkasutatakse geoinfo edastamisel
    starredmitte kasutusel
    quoted_row_idtundmatu, tavaliselt sisaldab vÀÀrtust ‘0’
    mentioned_jidsmitte kasutusel
    multicast_idmitte kasutusel
    offsetnihe

    See vĂ€li ei ole ammendav. Erinevate WhatsAppi versioonide puhul vĂ”ivad mĂ”ned vĂ€ljad esineda vĂ”i puududa. Samuti vĂ”ivad olla olemas tĂ€iendavad vĂ€ljad ‘media_enc_hash’, ‘edit_version’, ‘payment_transaction_id’ Kui kaua aega kulub vĂ€ljastamiseks?

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

    Tabeli vÀlimus:

    WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?

WhatsAppi uurimisel Android-pÔhises mobiilis tuleb samuti tÀhelepanu pöörata jÀrgmistele failidele:

  • File ‘msgstore.db.cryptXX’ (kus XX on ĂŒks vĂ”i kaks numbrit vahemikus 0 kuni 12, nĂ€iteks msgstore.db.crypt12). Sisaldab WhatsAppi krĂŒpteeritud sĂ”numi varukoopia (varufail) 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)'.
  • File 'key'. Sisaldab krĂŒptograafilist vĂ”tit. Asub teel: '/data/data/com.whatsapp/files/'. Kasutatakse WhatsAppi krĂŒpteeritud varukoopiate dekrĂŒpteerimiseks.
  • File '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 seotud WhatsAppi kontoga)
    

    2.17.395 (WhatsAppi versioon)
    

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

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

    Faili sisu

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

Tasub tÀhelepanu pöörata 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ÀÀlsĂ”numeid .OPUS formaadis failides.
  • Kataloog ‘/data/data/com.whatsapp/cache/Profile Pictures/’. Sisaldab graafilisi faile – kontaktide pilte.
  • Kataloog '/data/data/com.whatsapp/files/Avatars/'. Sisaldab graafikafaile – kontaktide piltide minifaile. Need failid on laiendiga '.j', kuid nad on siiski JPEG (JPG) formaadi graafikafailid.
  • Kataloog '/data/data/com.whatsapp/files/Avatars/'. Sisaldab graafikafaile – kasutaja konto avatarina mÀÀratud pilti ja selle miniatĂŒĂŒri.
  • Kataloog '/data/data/com.whatsapp/files/Logs/'. Sisaldab programmi töölogi (fail 'whatsapp.log') ja programmi töölogide varukoopiaid (failid nimeformaadiga whatsapp-aasta-kuu-pĂ€ev.1.log.gz).

WhatsApp'i logifailid:

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Logifragmend2017-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 vastuvĂ”etud audiofaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/’. Sisaldab saadetud audiofaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Images/’. Sisaldab vastuvĂ”etud pildifaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/’. Sisaldab saadetud pildifaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Video/’. Sisaldab vastuvĂ”etud videofaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/’. Sisaldab saadetud videofaile.
  • Kataloog ‘/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/’. Sisaldab WhatsAppi kontoomanikuga seotud pildifaile.
  • Android-telefonide mĂ€lu sÀÀstmiseks vĂ”idakse osa WhatsAppi andmeid hoida SD-kaardil. SD-kaardi juurkataloogis asub kataloog ‘WhatsApp’, kus vĂ”ivad olla jĂ€rgmised selle programmi artefaktid:

    WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?

  • Kataloog ‘.Share’ (‘/mnt/sdcard/WhatsApp/.Share/’). Sisaldab koopiaid failidest, mis on saadetud teistele WhatsAppi kasutajatele.
  • Kataloog ‘.trash’ (‘/mnt/sdcard/WhatsApp/.trash/’). Sisaldab kustutatud faile.
  • Kataloog ‘Databases’ (‘/mnt/sdcard/WhatsApp/Databases/’). Sisaldab krĂŒpteeritud varukoopiaid, mis saab dekrĂŒpteerida vastava faili olemasolul. 'key', mĂ€luanalĂŒĂŒsitud seadmes.

    Alamkaustas olevad failid ‘Databases’:

    WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?

  • Kataloog ‘Media’ (‘/mnt/sdcard/WhatsApp/Media/’). Sisaldab alamkaustu ‘WallPaper’, ‘WhatsApp Audio’, ‘WhatsApp Images’, ‘WhatsApp Profile Photos’, ‘WhatsApp Video’, ‘WhatsApp Voice Notes’, kus asuvad saadud ja edastatud meed failid (graafilised failid, videofailid, hÀÀlsĂ”numid, fotod, mis on seotud WhatsAppi konto omaniku profiiliga, taustapildid).
  • Kataloog ‘Profile Pictures’ (‘/mnt/sdcard/WhatsApp/Profile Pictures/’). Sisaldab graafilisi faile, mis on seotud WhatsAppi konto omaniku profiiliga.
  • MĂ”nikord vĂ”ib SD-kaardil olla kataloog ‘files’ (‘/mnt/sdcard/WhatsApp/Files/’). Selles kataloogis asuvad failid, kus salvestatakse programmi seaded ja kasutaja eelistused.

Teatud mobiiliseadmete andmete sÀilitamise eripÀrad

MĂ”nedes Androidi operatsioonisĂŒsteemiga mobiilseadmetes vĂ”ib WhatsAppi artefakte hoida mujal. See tuleneb mobiilseadmest tulenevast rakenduste andmete salvestusruumi muutmisest. NĂ€iteks Xiaomi mobiilseadmetes on olemas teise tööruumi loomise funktsioon („SecondSpace“). Selle funktsiooni aktiveerimisel muutub andmete asukoht. Kui tavalises Androidi mobiilseadmest salvestatakse kasutaja andmed katalooge '/data/user/0/' (mis viitab tuttavatele '/data/data/'), siis teises tööruumis hoitakse rakenduste andmed katalooge '/data/user/10/'. See tĂ€hendab, et faili asukoha nĂ€itel 'wa.db':

  • tavalises Androidi nutitelefonis: /data/user/0/com.whatsapp/databases/wa.db’ (mis on ekvivalentne '/data/data/com.whatsapp/databases/wa.db');
  • teises tööruumis Xiaomi nutitelefonis: '/data/user/10/com.whatsapp/databases/wa.db'.

WhatsAppi artefaktid iOS-seadmest

Erinevalt Androidi operatsioonisĂŒsteemist edastatakse iOS-i rakenduses WhatsApp andmed varukoopia (iTunes backup) kaudu. SeetĂ”ttu ei nĂ”ua selle rakenduse andmete vĂ€ljavĂ”tmine failisĂŒsteemi tĂ”stmist ega uuritava seadme fĂŒĂŒsilise mĂ€lu vĂ€ljundit. Suur osa tĂ€henduslikest teavet sisaldub andmebaasis. ‘ChatStorage.sqlite’, mis asub aadressil: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/’ (mĂ”nes programmis kuvatakse see tee kui ‘AppDomainGroup-group.net.whatsapp.WhatsApp.shared’).

Struktuur ‘ChatStorage.sqlite’:

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Andmebaasi ‘ChatStorage.sqlite’ kĂ”ige informatiivsemad tabelid on ‘ZWAMESSAGE’ ja ‘ZWAMEDIAITEM’.

Tabeli vĂ€limus ‘ZWAMESSAGE’:

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Tabeli ‘ZWAMESSAGE’ struktuur

VÀljameesVÀÀrtus
Z_PKkirje jÀrjestusnumber (SQL tabelis)
Z_ENTtabeli identifikaator, mille vÀÀrtus on ‘9’
Z_OPTteadmata, sisaldab tavaliselt 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, sisaldab tavaliselt vÀÀrtust ‘3’, tĂ”enĂ€oliselt on see tekstisĂ”numi viidatud nĂ€itaja
ZDOCIDteadmata
ZENCRETRYCOUNTtundmatu, tavaliselt sisaldab vÀÀrtust ‘0’
ZFILTEREDRECIPIENTCOUNTteadmata, sisaldab tavaliselt vÀÀrtusi ‘0’, ‘2’, ‘256’
ZISFROMMEsĂ”numi suund: '0' – sisse tulev, '1' — vĂ€lja minev
ZMESSAGEERRORSTATUSsĂ”numi edastamise staatus. Kui sĂ”num on saadetud/vastuvĂ”etud, omab see vÀÀrtust ‘0’
ZMESSAGETYPEedastatud sĂ”numi tĂŒĂŒp
ZSORTteadmata
ZSPOTLIGHSTATUSteadmata
ZSTARREDtundmatu, ei kasutata
ZCHATSESSIONteadmata
ZGROUPMEMBERtundmatu, ei kasutata
ZLASTSESSIONteadmata
ZMEDIAITEMteadmata
ZMESSAGEINFOteadmata
ZPARENTMESSAGEtundmatu, ei kasutata
ZMESSAGEDATEajatemplet OS X Epoch Time formaadis
ZSENTDATEsÔnumi saatmise aeg OS X Epoch Time formaadis
ZFROMJIDWhatsApp ID saatja
ZMEDIASECTIONIDsisaldab meedia faili saatmise aastat ja kuud
ZPHASHtundmatu, ei kasutata
ZPUSHPAMEkontakt, kes saatis meedia faili UTF-8 formaadis
ZSTANZIDunikaalne sÔnumi identifikaator
ZTEXTsÔnumi tekst
ZTOJIDWhatsApp ID saaja
OFFSETnihe

Tabeli vĂ€limus ‘ZWAMEDIAITEM’:

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Tabeli struktuur ‘ZWAMEDIAITEM’

VÀljameesVÀÀrtus
Z_PKkirje jÀrjestusnumber (SQL tabelis)
Z_ENTtabeli identifikaator, vÀÀrtus on ‘8’
Z_OPTtundmatu, tavaliselt sisaldab vÀÀrtusi vahemikus ‘1’ kuni ‘3’.
ZCLOUDSTATUSsisaldab vÀÀrtust ‘4’ kui fail on ĂŒles laaditud.
ZFILESIZEsisaldab ĂŒles laaditud failide pikkust (baiti)
ZMEDIAORIGINtundmatu, tavaliselt on vÀÀrtus ‘0’
ZMOVIEDURATIONmeedia faili kestus, PDF failide puhul vĂ”ib sisaldada dokumendi lehekĂŒlgede arvu
ZMESSAGEsisaldab jĂ€rjestikust numbrit (number erineb veergu ‘Z_PK’ mĂ€rgitud numbrist)
ZASPECTRATIOkuvasuhe, ei kasutata, tavaliselt on vÀÀrtus ‘0’
ZHACCURACYtundmatu, tavaliselt on vÀÀrtus ‘0’
ZLATTITUDElaius pikslites
ZLONGTITUDEkÔrgus pikslites
ZMEDIAURLDATEajatemplet OS X Epoch Time formaadis
ZAUTHORNAMEautor (dokumentide puhul vÔib sisaldada faili nimetust)
ZCOLLECTIONNAMEmitte kasutusel
ZMEDIALOCALPATHfailin nimi (koos seadme failisĂŒsteemi teega)
ZMEDIAURLURL, mille kaudu meediafail asus. Kui fail edastati ĂŒhelt kasutajalt teisele, oli see krĂŒpteeritud ja faililaiend nĂ€idatakse edastatava faili laiendina — .enc
ZTHUMBNAILLOCALPATHtee miniatuuri faili failisĂŒsteemi seadmes
ZTITLEfaili pealkiri
ZVCARDNAMEmeediafaili hash, failide edastamisel gruppi vÔib sisaldada saatja identifikaatorit
ZVCARDSTRINGsisaldab teavet edastatava faili tĂŒĂŒbi kohta (nt image/jpg), failide edastamisel gruppi vĂ”ib sisaldada saaja identifikaatorit
ZXMPPTHUMBPATHtee miniatuuri faili failisĂŒsteemi seadmes
ZMEDIAKEYteadmata, tĂ”enĂ€oliselt sisaldab see krĂŒpteeritud faili dekrĂŒpteerimise vĂ”tit.
ZMETADATAedastatava sÔnumi metatakse
Offsetnihe

Muud huvitavad andmebaasi tabelid ‘ChatStorage.sqlite’ on:

  • ‘ZWAPROFILEPUSHNAME’. Seostab WhatsApp ID kontakti nimega;
  • ‘ZWAPROFILEPICTUREITEM’. Seostab WhatsApp ID kontakti pildiga;
  • ‘Z_PRIMARYKEY’. Tabel sisaldab teavet selle andmebaasi kohta, nagu hoitavate sĂ”numite koguarv, vestluste koguarv jne.

WhatsApp'i uurides iOS'i seadmes tuleb tÀhelepanu pöörata jÀrgmistele failidele:

  • File ‘BackedUpKeyValue.sqlite’. Sisaldab krĂŒptograafilisi vĂ”tmeid ja muid andmeid, mis on vajalikud konto omaniku tuvastamiseks. Asub aadressil: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • File ‘ContactsV2.sqlite’. See sisaldab kasutaja kontaktide teavet, nagu nimi, telefoninumber, kontaktistaatus (tekstina), WhatsApp ID jne. Asub teel: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • File ‘consumer_version’. See sisaldab installitud WhatsApp'i rakenduse versiooni numbrit. Asub teel: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • File ‘current_wallpaper.jpg’. See sisaldab WhatsApp'i rakenduse praeguseid taustapilte. Asub teel: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Vana versiooni puhul kasutatakse faili ‘wallpaper’, mis asub teel: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’.
  • File ‘blockedcontacts.dat’. See sisaldab teavet blokeeritud kontaktide kohta. Asub teel: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • File ‘pw.dat’. See sisaldab krĂŒpteeritud parooli. Asub teel: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/’.
  • File ‘net.whatsapp.WhatsApp.plist’ (vĂ”i fail ‘group.net.whatsapp.WhatsApp.shared.plist’). See sisaldab teavet WhatsApp'i konto profiili kohta. Fail asub teel: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/’.

Faili ‘group.net.whatsapp.WhatsApp.shared.plist’ sisu WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Tasub tÀhelepanu pöörata ka jÀrgmistele kataloogidele:

  • Kataloog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/’. Sisaldab kontaktide ja gruppide (laiendiga failid .thumb), kontaktide ja WhatsAppi konto omaniku avataride miniatuure (fail ‘Photo.jpg’).
  • Kataloog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ Message/Media/’. Sisaldab multimeediafaile ja nende miniatuure
  • Kataloog ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’. Sisaldab programmi töölogi (fail ‘calls.log’) ja programmi töölogide 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 töölogisid.

WhatsAppi artefaktid Windowsis

WhatsAppi artefakte Windowsis vÔib leida mitmest kohast. Esiteks, need on kaustad, mis sisaldavad programmikÀitlus- ja abifaile (Windows 8/10 jaoks):

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

Kaustas ‘C:Users%User profile% AppDataLocalWhatsApp’ asub logifail ‘SquirrelSetup.log’, mis sisaldab teavet tĂ€ienduste kontrollimise ja programmi installimise kohta.

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

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
File ‘main-process.log’ sisaldab teavet WhatsAppi töö kohta.

Alamkaust ‘databases’ sisaldab faili ‘Databases.db’, kuid see fail ei sisalda mingeid teateid ega kontakte.

Kriminalistika seisukohalt on kĂ”ige huvitavamad failid, mis asuvad kataloogis ‘Cache’. Peamiselt sisaldavad need failid nimesid ‘f_*******’ (kus * on number 0 kuni 9), mis sisaldavad krĂŒpteeritud multimeedia faile ja dokumente, kuid nende seas on ka krĂŒpteerimata faile. Erilist huvi pakuvad failid ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’, mis asuvad samas alamkataloogis. Failid ‘data_0’, ‘data_1’, ‘data_3’ sisaldavad vĂ€liseid linke edastatud krĂŒpteeritud multimeedia failidele ja dokumentidele.

NĂ€ide infost, mis sisaldub failis ‘data_1’WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Samuti vĂ”ib fail ‘data_3’ sisaldada graafilisi faile.

File ‘data_2’ sisaldab kontaktide avatarid (need vĂ”ivad taastuda failipealkirjade kaudu otsimise teel).

Avatarid, mis on failis ‘data_2’:

WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
Nii ei saa arvuti mÀlus leida chatsid, kuid leida saab:

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

WhatsApp'i artefaktid MacOS'is

MacOS'is on vĂ”imalik leida WhatsApp'i artefakte, mis on sarnased Windowsi operatsioonisĂŒsteemis leiduvatele.

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 alamkataloogid, mille nimed esindavad telefoninumbreid, mis on seotud WhatsAppi konto omanikuga.
  • ‘C:Users%User profile%LibraryCachesWhatsApp.ShipIt’
    Selles kataloogis on teave programmi installimise kohta.
  • ‘C:Users%User profile%PicturesĐœĐ”ĐŽĐžĐ°Ń‚Đ”Đșа iPhoto.photolibraryMasters’, ‘C:Users%User profile%PicturesĐœĐ”ĐŽĐžĐ°Ń‚Đ”Đșа iPhoto.photolibraryThumbnails’
    Nendes kataloogides on programmiga seotud abifailid, sealhulgas WhatsAppi kontaktide fotod ja miniatuurid.
  • ‘C:Users%User profile%LibraryCachesWhatsApp’
    Selles kataloogis on mitmed SQLite andmebaasid, mida kasutatakse andmete vahemÀluks.
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp’
    Selles kataloogis asuvad mitmed alamkataloogid:

    WhatsApp peopes: kus ja kuidas saab avastada kriminaalistilisi artefakte?
    Kaustas ‘C:Users%User profile%LibraryApplication SupportWhatsAppCache’ asuvad failid ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’ ja failid, mille nimed ‘f_*******’ (kus * on number vahemikus 0–9). Teave selle kohta, milliseid andmeid need failid sisaldavad, on kirjeldatud jaotises „WhatsAppi artefaktid Windowsis“.

    Kaustas 'C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB' vÔivad sisaldada multimeedia faile (failidel pole laiendeid).

    File ‘main-process.log’ sisaldab teavet WhatsAppi töö kohta.

Allikad

  1. WhatsApp Messengeri kohtuekspertiis Androidi nutitelefonides, autor Cosimo Anglano, 2014.
  2. Whatsappi kohtuekspertiis: failisĂŒsteemide ja andmebaaside uurimine Androidi ja iOSi rakendustes, autor Ahmad Pratama, 2014.

Selle seeria jÀrgmistes artiklites:

WhatsAppi krĂŒpteeritud andmebaaside dekodeerimineArtikkel, milles antakse teavet selle kohta, kuidas WhatsAppi krĂŒpteerimisvĂ”ti genereeritakse, ning praktilised nĂ€idised, mis nĂ€itavad, kuidas dekodeerida selle rakenduse krĂŒpteeritud andmebaase.
WhatsApp'i andmete ekstraktsioon pilvehoidlatestArtikkel, milles rÀÀgime, milliseid andmeid WhatsApp hoiab pilves, ja kirjeldame nende andmete ekstraktsiooni meetodeid pilvehoidlatest.
WhatsAppi andmete ekstraktsioon: praktilised nÀidisedArtikkel, milles on samm-sammult kirjeldatud, milliste programmide abil ja kuidas ekstrakteerida WhatsAppi andmeid erinevatelt seadmetelt.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster