WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?

Szeretné tudni, hogy milyen típusú kriminalisztikai artefaktumok léteznek a WhatsApp számára különböző operációs rendszerekben, és hol találhatók meg? Akkor ez a cikk Önnek szól. A Group-IB Számítógépes Kriminalisztikai Laboratórium szakembere Igor Mihajlov megnyitja a WhatsApp kriminalisztikai vizsgálatáról szóló publikációs sorozatot, és arról, hogy milyen információkat lehet nyerni az eszköz elemzése során.

Azonnal megjegyezzük, hogy különböző operációs rendszerekben eltérő típusú WhatsApp artefaktumok találhatók, és ha az egyik eszközről a kutató ki tud nyerni bizonyos típusú WhatsApp adatokat, az nem jelenti azt, hogy hasonló típusú adatokat ki lehetne nyerni egy másik eszközből. Például, ha egy Windows operációs rendszerű asztali számítógép kerül lefoglalásra, valószínűleg nem találhatók WhatsApp csevegések a lemezeiteken (kivételt képeznek az iOS-eszközök biztonsági mentései, amelyek ugyanazokon a tárolókon fellelhetők). A laptopok és mobil eszközök lefoglalása során saját sajátosságai vannak. Beszéljünk erről részletesebben.

WhatsApp artefaktumok Android eszközön

Ahhoz, hogy WhatsApp artefaktumokat nyerjünk ki egy Android operációs rendszert futtató eszközből, a kutatónak rendelkeznie kell rendszergazdai jogosultságokkal (‘root’) az érintett eszközön, vagy valamilyen módon lehetősége kell, hogy legyen a fizikai memória dumpjának, vagy a fájlrendszerének kinyerésére (például egy adott mobil eszköz programhibáit kihasználva).

Az alkalmazás fájljai a telefon memóriájában találhatók abban a részben, ahol a felhasználói adatok tárolódnak. Általában ez a rész neve ‘userdata’. A program mappái és fájljai a következő úton találhatók: ‘/data/data/com.whatsapp/’.

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
A WhatsApp kriminalisztikai artefaktumokat tartalmazó legfontosabb fájlok Android operációs rendszeren az adatbázisok ‘wa.db’ és ‘msgstore.db’.

Az adatbázisban ‘wa.db’ a WhatsApp felhasználó teljes kapcsolati listája található, beleértve a telefonszámot, a megjelenítési nevet, az időbélyeget és bármilyen egyéb információt, amelyet a WhatsApp-ban való regisztráció során adtak meg. A fájl ‘wa.db’ a következő úton található: ‘/data/data/com.whatsapp/databases/’ és a következő struktúrával rendelkezik:

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
Az adatbázisban a legérdekesebb táblák ‘wa.db’ a kutató számára:

  • ‘wa_contacts’
    Ez a táblázat információkat tartalmaz a kapcsolatokról: a WhatsApp kontakt azonosítója, a státusz információ, a megjelenített felhasználónév, időbélyegek stb.

    A táblázat megjelenése:

    WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
    A táblázat szerkezete

    Mező neveValue
    _ida rekord sorszáma (SQL táblázatban)
    jidA kapcsolat WhatsApp ID-ja, a következő formátumban van rögzítve: @s.whatsapp.net
    is_whatsapp_usertartalmazza az ‘1’-et, ha a kapcsolat valódi WhatsApp felhasználóhoz tartozik, ‘0’ egyéb esetben
    statustartalmazza a kapcsolat státuszában megjelenő szöveget
    status_timestamptartalmazza az időbélyeget Unix Epoch Time formátumban (ms)
    numbera kapcsolathoz társított telefonszám
    raw_contact_ida kapcsolat sorszáma
    display_namea kapcsolat megjelenített neve
    phone_typea telefon típusa
    phone_labela kapcsolathoz tartozó szám címkéje
    unseen_msg_counta kapcsolat által küldött, de a címzett által még el nem olvasott üzenetek száma
    photo_tstartalmazza az időbélyeget Unix Epoch Time formátumban
    thumb_tstartalmazza az időbélyeget Unix Epoch Time formátumban
    photo_id_timestamptartalmazza az időbélyeget Unix Epoch Time formátumban (ms)
    given_namea mező értéke megegyezik a ‘display_name’-nel minden kapcsolat esetén
    wa_namea kapcsolat neve WhatsApp-on (a kapcsolat profiljában megadott név jelenik meg)
    sort_namea kapcsolat neve, amelyet rendezési műveletek során használnak
    nicknamea kapcsolat beceneve WhatsApp-on (a kapcsolat profiljában megadott név jelenik meg)
    companyvállalat (a kapcsolat profiljában megadott cég jelenik meg)
    titleosztályozás (hölgy/úr; a kapcsolat profiljában beállított megszólítás jelenik meg)
    offsetelmozdulás
  • ‘sqlite_sequence’
    Ez a táblázat információkat tartalmaz a kapcsolatok számáról;
  • ‘android_metadata’
    Ez a táblázat a WhatsApp nyelvi lokalizációs információit tartalmazza.

Az adatbázisban ‘msgstore.db’ információkat tartalmaz az elküldött üzenetekről, például a kontakt számát, az üzenet szövegét, az üzenetek státuszát, időbélyegeket, fájlok adatait, amelyek az üzenetekhez csatolva vannak stb. A fájl ‘msgstore.db’ a következő úton található: ‘/data/data/com.whatsapp/databases/’ és a következő struktúrával rendelkezik:

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
A legérdekesebb táblázatok a fájlban ‘msgstore.db’ a kutató számára:

  • ‘sqlite_sequence’
    Ez a táblázat általános információkat tartalmaz erről az adatbázisról, például a tárolt üzenetek számát, a chatek számát stb.

    A táblázat megjelenése:

    WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?

  • ‘message_fts_content’
    Tartalmazza az elküldött üzenetek szövegét.

    A táblázat megjelenése:

    WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?

  • ‘messages’
    Ez a táblázat információkat tartalmaz, például a kontakt számát, az üzenet szövegét, az üzenetek státuszát, időbélyegeket, fájlok adatait, amelyek az üzenetekhez csatolva vannak.

    A táblázat megjelenése:

    WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
    A táblázat szerkezete

    Mező neveValue
    _ida rekord sorszáma (SQL táblázatban)
    key_remote_jidWhatsApp ID a kommunikációs partner számára
    key_from_meaz üzenet iránya: ‘0’ – bejövő, ‘1’ — kimenő
    key_idaz üzenet egyedi azonosítója
    statusüzenet állapota: '0' – kézbesítve, '4' – várakozik szerveren, '5' – megérkezett a címre, '6' – ellenőrző üzenet, '13' – az üzenetet a címzett megnyitotta (elolvasta)
    need_pushaz értéke '2', ha ez egy tömeges üzenet, különben '0' értéket tartalmaz
    dataaz üzenet szövege (amikor a 'media_wa_type' paraméter '0')
    timestampUnix Epoch Time (ms) formátumú időbélyeget tartalmaz, az érték az eszköz órájából származik
    media_urltartalmazza a továbbított fájl URL-jét (amikor a 'media_wa_type' paraméter '1', '2', '3')
    media_mime_typea továbbított fájl MIME-típusa (amikor a 'media_wa_type' paraméter '1', '2', '3')
    media_wa_typeüzenet típusa: '0' – szöveg, '1' – grafikus fájl, '2' – hangfájl, '3' – videofájl, '4' – kontaktkártya, '5' – földrajzi adatok
    media_sizea továbbított fájl mérete (amikor a 'media_wa_type' paraméter '1', '2', '3')
    media_namea továbbított fájl neve (amikor a 'media_wa_type' paraméter '1', '2', '3')
    media_captiontartalmazza az 'audio', 'video' szavakat a megfelelő 'media_wa_type' paraméter értékeihez (amikor a 'media_wa_type' paraméter '1', '3')
    media_hasha továbbított fájl base64 formátumú hash kódja, amely a HAS-256 algoritmus szerint készült (amikor a 'media_wa_type' paraméter '1', '2', '3')
    media_durationa médiafájl hossza másodpercben (amikor a 'media_wa_type' paraméter '1', '2', '3')
    originaz értéke '2', ha ez egy tömeges üzenet, különben '0' értéket tartalmaz
    latitudeföldrajzi adatok: szélesség (amikor a 'media_wa_type' paraméter '5')
    longitudeföldrajzi adatok: hosszúság (amikor a 'media_wa_type' paraméter '5')
    thumb_imageszolgáltatási információ
    remote_recourcea feladó azonosítója (csak csoportos csevegések esetén)
    received_timestampa fogadás ideje, Unix Epoch Time (ms) formátumú időbélyeget tartalmaz, az érték az eszköz órájából származik (amikor a 'key_from_me' paraméter '0', '-1' vagy más érték)
    send_timestampnincs használatban, általában '-1' értéket tartalmaz
    receipt_server_timestampa központi részleg általi fogadás időpontja szerverrel, Unix Epoch Time (ms) formátumú időbélyeget tartalmaz, az érték az eszköz órájából származik (amikor a 'key_from_me' paraméter '1', '-1' vagy más érték)
    receipt_device_timestampaz üzenet fogadásának ideje egy másik felhasználó által, Unix Epoch Time (ms) formátumú időbélyeget tartalmaz, az érték az eszköz órájából származik (amikor a 'key_from_me' paraméter '1', '-1' vagy más érték)
    read_device_timestampaz üzenet megnyitásának (olvasásának) ideje, Unix Epoch Time (ms) formátumban időbélyeget tartalmaz, az értéket az eszköz órájából veszik
    played_device_timestampaz üzenet lejátszási ideje, Unix Epoch Time (ms) formátumban időbélyeget tartalmaz, az értéket az eszköz órájából veszik
    raw_dataa továbbított fájl miniatűrje (amikor a ‘media_wa_type’ paraméter ‘1’ vagy ‘3’)
    recipient_counta címzettek száma (broadcast üzenetek esetén)
    participant_hashgeoinformációs üzenetek továbbításakor használatos
    starrednem használatos
    quoted_row_idismeretlen, általában ‘0’ értéket tartalmaz
    mentioned_jidsnem használatos
    multicast_idnem használatos
    offsetelmozdulás

    Ez a mezők listája nem kimerítő. A WhatsApp különböző verzióinál egyes mezők jelen lehetnek vagy hiányozhatnak. Továbbá további mezők is jelen lehetnek ‘media_enc_hash’, ‘edit_version’, ‘payment_transaction_id’ stb.

  • ‘messages_thumbnails’
    Ez a tábla tartalmazza az elküldött képek információit és az időbélyegeket. Az ‘timestamp’ oszlopban az idő Unix Epoch Time (ms) formátumban van megadva.
  • ‘chat_list’
    Ez a tábla a csevegések információit tartalmazza.

    A táblázat megjelenése:

    WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?

A WhatsApp mobil eszközön történő vizsgálatakor figyelembe kell venni a következő fájlokat is:

  • Fájl ‘msgstore.db.cryptXX’ (ahol XX – egy vagy két szám 0 és 12 között, például msgstore.db.crypt12). A WhatsApp üzenetek titkosított biztonsági mentését tartalmazza (a fájl biztonsági mentése msgstore.db). A fájl (vagy fájlok) ‘msgstore.db.cryptXX’ a következő úton található: ‘/data/media/0/WhatsApp/Databases/’ (virtuális SD-kártya), ‘/mnt/sdcard/WhatsApp/Databases/’ (fizikai SD-kártya)’.
  • Fájl ‘key’. Titkosító kulcsot tartalmaz. A következő úton található: ‘/data/data/com.whatsapp/files/’. A WhatsApp titkosított biztonsági mentéseinek visszafejtésére használják.
  • Fájl ‘com.whatsapp_preferences.xml’. A WhatsApp-fiókprofil információit tartalmazza. A fájl a következő úton található: ‘/data/data/com.whatsapp/shared_prefs/’.

    A fájl tartalmának egy részlete

    …
    9123456789 (a WhatsApp-fiókhoz társított telefonszám)
    …
    2.17.395 (WhatsApp verzió)
    …
    Hey there! I am using WhatsApp. (az fiók állapotában megjelenített üzenet)
    …
    Alex (a fiók tulajdonosának neve)
    … 
  • Fájl ‘registration.RegisterPhone.xml’. A WhatsApp-fiókhoz társított telefonszám információit tartalmazza. A fájl a következő úton található: ‘/data/data/com.whatsapp/shared_prefs/’.

    A fájl tartalma

    
    9123456789
     
     
    912 345-67-89
     
    7
    7
    
  • Fájl ‘axolotl.db’. Tartalmazza a kriptográfiai kulcsokat és egyéb adatokat, amelyek szükségesek a fiók tulajdonosának azonosításához. Az alábbi helyen található: ‘/data/data/com.whatsapp/databases/’.
  • Fájl ‘chatsettings.db’. Tartalmazza az alkalmazás konfigurációs információit.
  • Fájl ‘wa.db’. Tartalmazza a kapcsolatok részleteit. Nagyon érdekes (kriminalisztikai szempontból) és informatív adatbázis. Különböző információk találhatók itt a törölt kapcsolatokkal kapcsolatban.

A következő mappákra is figyelni kell:

  • Mappa ‘/data/media/0/WhatsApp/Media/WhatsApp Images/’. Tartalmazza a küldött grafikai fájlokat.
  • Mappa ‘/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/’. Tartalmazza a .OPUS formátumú hangüzeneteket.
  • Mappa ‘/data/data/com.whatsapp/cache/Profile Pictures/’. Tartalmazza a grafikai fájlokat – a kapcsolatok képeit.
  • Mappa ‘/data/data/com.whatsapp/files/Avatars/’. Tartalmazza a grafikai fájlokat – a kapcsolatok képméretét. Ezek a fájlok ‘.j’ kiterjesztésűek, de valójában JPEG (JPG) formátumú grafikai fájlok.
  • Mappa ‘/data/data/com.whatsapp/files/Avatars/’. Tartalmazza a grafikai fájlokat – a felhasználói fiók avatárként beállított képét és az avatár kicsinyített változatát.
  • Mappa ‘/data/data/com.whatsapp/files/Logs/’. Tartalmazza a program működésének naplóját (a ‘whatsapp.log’ fájlt) és a programnaplók biztonsági másolatait (fájlok nevei: whatsapp-YYYY-MM-DD.1.log.gz).

WhatsApp naplófájlok:

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
Naplórészlet2017-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

  • Mappa '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Tartalmazza a kapott audio fájlokat.
  • Mappa '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Tartalmazza a küldött audio fájlokat.
  • Mappa ‘/data/media/0/WhatsApp/Media/WhatsApp Images/’. Tartalmazza a kapott grafikai fájlokat.
  • Mappa '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Tartalmazza a küldött grafikai fájlokat.
  • Mappa '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Tartalmazza a kapott videofájlokat.
  • Mappa '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Tartalmazza a küldött videofájlokat.
  • Mappa '/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/'. Tartalmazza a WhatsApp-felhasználóhoz társított grafikai fájlokat.
  • Az Android okostelefon memóriájának megtakarítása érdekében a WhatsApp egyes adatai az SD-kártyán tárolhatók. Az SD-kártyán, a gyökérkönyvtárban található a 'WhatsApp', ahol a program következő artefaktumai találhatók:

    WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?

  • Mappa '.Share' ('/mnt/sdcard/WhatsApp/.Share/'). Tartalmazza a más felhasználóknak átadott fájlok másolatát.
  • Mappa '.trash' ('/mnt/sdcard/WhatsApp/.trash/'). Tartalmazza a törölt fájlokat.
  • Mappa 'Databases' ('/mnt/sdcard/WhatsApp/Databases/'). Tartalmazza a titkosított biztonsági másolatokat. Ezek visszafejthetők egy fájl megléte esetén, ‘key’, amely az elemzett eszköz memóriájából lett kiemelve.

    A alkönyvtárban található fájlok 'Databases':

    WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?

  • Mappa ‘Media’ (‘/mnt/sdcard/WhatsApp/Media/’). Tartalmaz mappákat ‘WallPaper’, ‘WhatsApp Audio’, ‘WhatsApp Images’, ‘WhatsApp Profile Photos’, ‘WhatsApp Video’, ‘WhatsApp Voice Notes’, amelyekben a WhatsApp fiók tulajdonosához tartozó multimédia fájlok (grafikai fájlok, videofájlok, hangüzenetek, fényképek, háttérképek) találhatók.
  • Mappa ‘Profile Pictures’ (‘/mnt/sdcard/WhatsApp/Profile Pictures/’). Grafikai fájlokat tartalmaz, amelyek a WhatsApp fiók tulajdonosához tartoznak.
  • Néha az SD-kártyán található egy mappa ‘files’ (‘/mnt/sdcard/WhatsApp/Files/’). Ebben a mappában olyan fájlok találhatók, amelyekben a program beállításai és a felhasználói preferenciák tárolódnak.

Adatok tárolásának jellemzői egyes mobilkészülékekben

Egyes Android operációs rendszerű mobilkészülékeken a WhatsApp nyomai más helyen tárolódhatnak. Ez a mobilkészülék operációs rendszerének adatkezelési terének megváltoztatásával magyarázható. Például a Xiaomi mobilkészülékeknél van egy második munkaterület létrehozására szolgáló funkció („SecondSpace”). E funkció aktiválásakor az adatok tárolási helye megváltozik. Tehát, ha egy normál Android operációs rendszerű mobilkészüléken a felhasználói adatok a következő mappában találhatók ‘/data/user/0/’ (ami a szokásos ‘/data/data/’), akkor a második munkaterületen az alkalmazások adatai a következő mappában találhatók ‘/data/user/10/’. Például, a fájl helyének példájául ‘wa.db’:

  • normál okostelefon esetén Android operációs rendszerrel: /data/user/0/com.whatsapp/databases/wa.db’ (ami ekvivalens ‘/data/data/com.whatsapp/databases/wa.db’);
  • a Xiaomi okostelefon második munkaterületén: ‘/data/user/10/com.whatsapp/databases/wa.db’.

WhatsApp nyomai iOS-eszközökön

Ellentétben az Android operációs rendszerrel, az iOS rendszeren a WhatsApp alkalmazás adatai biztonsági mentésbe (iTunes backup) kerülnek. Ezért, az alkalmazás adatainak kinyerése nem igényel fájlrendszer kinyerést vagy a vizsgált eszköz memória dump-jának létrehozását. A legtöbb lényeges információ az adatbázisban található ‘ChatStorage.sqlite’, amely elérési útja: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/’ (egyes programokban ez az útvonal ‘AppDomainGroup-group.net.whatsapp.WhatsApp.shared’).

Struktúra ‘ChatStorage.sqlite’:

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
A ‘ChatStorage.sqlite’ adatbázisban a leginformatívabbak a táblázatok ‘ZWAMESSAGE’ és ‘ZWAMEDIAITEM’.

A táblázat megjelenése ‘ZWAMESSAGE’:

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
A ‘ZWAMESSAGE’ tábla szerkezete

Mező neveValue
Z_PKa rekord sorszáma (SQL táblázatban)
Z_ENTa tábla azonosítója, értéke ‘9’
Z_OPTismeretlen, általában ‘1’ és ‘6’ közötti értékeket tartalmaz
ZCHILDMESSAGESDELIVEREDCOUNTismeretlen, általában ‘0’ értéket tartalmaz
ZCHILDMESSAGESPLAYEDCOUNTismeretlen, általában ‘0’ értéket tartalmaz
ZCHILDMESSAGESREADCOUNTismeretlen, általában ‘0’ értéket tartalmaz
ZDATAITEMVERSIONismeretlen, általában ‘3’ értéket tartalmaz, valószínűleg a szöveges üzenet mutatója
ZDOCIDismeretlen
ZENCRETRYCOUNTismeretlen, általában ‘0’ értéket tartalmaz
ZFILTEREDRECIPIENTCOUNTismeretlen, általában ‘0’, ‘2’, ‘256’ értékeket tartalmaz
ZISFROMMEaz üzenet iránya: ‘0’ – bejövő, ‘1’ — kimenő
ZMESSAGEERRORSTATUSaz üzenet küldésének státusza. Ha az üzenet elküldésre került/kapták, akkor ‘0’ értéke van
ZMESSAGETYPEa küldendő üzenet típusa
ZSORTismeretlen
ZSPOTLIGHSTATUSismeretlen
ZSTARREDismeretlen, nem használt
ZCHATSESSIONismeretlen
ZGROUPMEMBERismeretlen, nem használt
ZLASTSESSIONismeretlen
ZMEDIAITEMismeretlen
ZMESSAGEINFOismeretlen
ZPARENTMESSAGEismeretlen, nem használt
ZMESSAGEDATEidőbélyeg az OS X Epoch Time formátumban
ZSENTDATEaz üzenet küldési ideje az OS X Epoch Time formátumban
ZFROMJIDa küldő WhatsApp azonosítója
ZMEDIASECTIONIDtartalmazza a médiafájl küldésének évét és hónapját
ZPHASHismeretlen, nem használt
ZPUSHPAMEa médiafájlt küldő kontakt neve UTF-8 formátumban
ZSTANZIDaz üzenet egyedi azonosítója
ZTEXTaz üzenet szövege
ZTOJIDa címzett WhatsApp azonosítója
OFFSETelmozdulás

A táblázat megjelenése ‘ZWAMEDIAITEM’:

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
A ‘ZWAMEDIAITEM’ tábla szerkezete

Mező neveValue
Z_PKa rekord sorszáma (SQL táblázatban)
Z_ENTa tábla azonosítója, értéke ‘8’
Z_OPTismeretlen, általában ‘1’ és ‘3’ közötti értékeket tartalmaz.
ZCLOUDSTATUSha a fájl feltöltésre került, akkor ‘4’ értelmet kap.
ZFILESIZEaz uploaded fájl mérete (byte-ban)
ZMEDIAORIGINismeretlen, általában ‘0’ értéket tartalmaz
ZMOVIEDURATIONa médiafájl időtartama, pdf fájlok esetén a dokumentum oldalainak számát tartalmazhatja
ZMESSAGEtartalmazza a sorszámot (a szám eltér a ‘Z_PK’ oszlopban megadottól)
ZASPECTRATIOképarány, nem használt, általában ‘0’ értékkel rendelkezik
ZHACCURACYismeretlen, általában ‘0’ értéket tartalmaz
ZLATTITUDEszélesség pixelben
ZLONGTITUDEmagasság pixelben
ZMEDIAURLDATEidőbélyeg az OS X Epoch Time formátumban
ZAUTHORNAMEszerző (dokumentumok esetén a fájl nevét is tartalmazhatja)
ZCOLLECTIONNAMEnem használatos
ZMEDIALOCALPATHfájl neve (az útvonal megadásával) az eszköz fájlrendszerében
ZMEDIAURLa médiafájl elérési URL-je. Ha a fájl egyik előfizetőről a másikra lett átkonvertálva, titkosítva volt, és kiterjesztése a küldött fájl kiterjesztéseként - .enc
ZTHUMBNAILLOCALPATHa fájl miniatúrájának elérési útja az eszköz fájlrendszerében
ZTITLEa fájl címe
ZVCARDNAMEa médiafájl hash értéke, amikor fájlt küldenek egy csoportba, tartalmazhatja a küldő azonosítóját
ZVCARDSTRINGtartalmazza a küldendő fájl típusát (pl. image/jpeg), amikor fájlt küldenek egy csoportba, tartalmazhatja a címzett azonosítóját
ZXMPPTHUMBPATHa fájl miniatúrájának elérési útja az eszköz fájlrendszerében
ZMEDIAKEYismeretlen, valószínűleg tartalmaz egy kulcsot a titkosított fájl dekódolásához.
ZMETADATAaz átvitt üzenet metaadatai
Offsetelmozdulás

További érdekes adatbázis-táblák ‘ChatStorage.sqlite’ a következők:

  • ‘ZWAPROFILEPUSHNAME’. Igazolja a WhatsApp ID-t a névhez;
  • ‘ZWAPROFILEPICTUREITEM’. Igazolja a WhatsApp ID-t a kontakt képhez;
  • ‘Z_PRIMARYKEY’. A tábla általános információkat tartalmaz erről az adatbázisról, mint például a tárolt üzenetek összes száma, a chatek száma, stb.

A WhatsApp iOS-alapú mobil eszközökön történő kutatása során figyelmet kell szentelni a következő fájloknak:

  • Fájl ‘BackedUpKeyValue.sqlite’. Tartalmazza a kriptográfiai kulcsokat és egyéb adatokat, amelyek szükségesek a fiók tulajdonosának azonosításához. Az alábbi helyen található: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Fájl ‘ContactsV2.sqlite’. Tartalmazza a felhasználó kapcsolataihoz tartozó információkat, mint például a név, telefonszám, kontakt státusz (szöveges formában), WhatsApp ID, stb. Elérhetőség: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Fájl ‘consumer_version’. Tartalmazza a telepített WhatsApp alkalmazás verziószámát. Elérhetőség: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Fájl ‘current_wallpaper.jpg’. Tartalmazza a WhatsApp alkalmazás aktuális háttérképet. Elérhetőség: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. A régebbi verziókban a fájl ‘wallpaper’, amely elérhető: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’.
  • Fájl ‘blockedcontacts.dat’. Tartalmazza a blokkolt kontaktok információit. Elérhetőség: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • Fájl ‘pw.dat’. Tartalmazza a titkosított jelszót. Elérhetőség: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/’.
  • Fájl ‘net.whatsapp.WhatsApp.plist’ (vagy a fájl ‘group.net.whatsapp.WhatsApp.shared.plist’). Tartalmazza a WhatsApp fiók profiljának információit. A fájl elérhető: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/’.

A ‘group.net.whatsapp.WhatsApp.shared.plist’ fájl tartalma WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
A következő mappákra is figyelni kell:

  • Mappa ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/’. Tartalmazza a kontaktok, csoportok miniatűrjeit (fájlok kiterjesztéssel .thumb), a kontaktok avatárjait, a WhatsApp fiók tulajdonosának avatárját (fájl ‘Photo.jpg’).
  • Mappa ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/’. Tartalmazza a multimédiás fájlokat és azok miniatűreit,
  • Mappa ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’. Tartalmazza a program működésének naplóját (fájl ‘calls.log’) és a program működésének zárolt mentéseit (fájl ‘calls.backup.log’).
  • Mappa ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/’. Tartalmazza a matricákat (fájlok formátumban ‘.webp’).
  • Mappa ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/’. Tartalmazza a program naplóit.

WhatsApp artefaktok Windowsban

A WhatsApp artefaktokat Windowsban több helyen találhatjuk. Elsősorban ezek a mappák, amelyek az alkalmazás végrehajtható és segédfájljait tartalmazzák (Windows 8/10 esetén):

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

A mappa ‘C:Users%User profile% AppDataLocalWhatsApp’ tartalmaz egy naplófájlt ‘SquirrelSetup.log’, amely tartalmazza a frissítések és a program telepítésének ellenőrzésére vonatkozó információkat.

A mappa ‘C:Users%User profile% AppDataRoamingWhatsApp’ több alkönyvtár található:

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
Fájl ‘main-process.log’ tartalmazza a WhatsApp működésével kapcsolatos információkat.

Alkönyvtár ‘databases’ tartalmaz egy fájlt ‘Databases.db’, de ez a fájl nem tartalmaz semmilyen információt a csevegésekről vagy a kapcsolatokra.

A legérdekesebb a kriminalisztika szempontjából a fájlok, amelyek a könyvtárban találhatók ‘Cache’. Ezek főleg a következő nevű fájlok: ‘f_*******’ (ahol * — szám 0 és 9 között), tartalmazó titkosított multimédiás fájlokat és dokumentumokat, de közöttük előfordulnak titkosítatlan fájlok is. Különösen érdekesek a fájlok ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’, amelyek ugyanabban az alkönyvtárban találhatóak. A fájlok ‘data_0’, ‘data_1’, ‘data_3’ külső hivatkozásokat tartalmaznak a továbbított titkosított multimédiás fájlokra és dokumentumokra.

Példa az ‘data_1’ fájlban található információkraWhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
A fájl ‘data_3’ tartalmazhat grafikai fájlokat is.

Fájl ‘data_2’ tartalmazza a kapcsolatok avatarjait (visszaállíthatók a fájlnevek alapján).

Az avatarok, amelyek a fájlban találhatók ‘data_2’:

WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
Így a számítógép memóriájában nem találhatók meg maguk a csevegések, de a következőket megtalálhatjuk:

  • multimédiás fájlok;
  • dokumentumok, amelyeket a WhatsApp segítségével továbbítottak;
  • információk a fiók tulajdonosának kapcsolatairól.

WhatsApp nyomai MacOS-en

A MacOS-en megtalálhatók a WhatsApp néhány olyan típusú nyomai, mint amilyenek a Windows operációs rendszerben találhatók.

A program fájljai a következő könyvtárakban találhatók:

  • ‘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 <text variable> WhatsApp Accounts’
    Ebben a könyvtárban alkönyvtárak találhatók, amelyeket a WhatsApp fiók tulajdonosához kapcsolódó telefonszámok képviselnek.
  • ‘C:Users%User profile%LibraryCachesWhatsApp.ShipIt’
    Ebben a könyvtárban találhatóak a program telepítésére vonatkozó információk.
  • ‘C:Users%User profile%PicturesMediatár iPhoto.photolibraryMasters’, ‘C:Users%User profile%PicturesMediatár iPhoto.photolibraryThumbnails’
    Ezekben a mappákban a program segédfájljai találhatók, beleértve a WhatsApp kapcsolatok fényképeit és miniatűrjeit is.
  • ‘C:Users%User profile%LibraryCachesWhatsApp’
    Ebben a mappában több SQLite-adatbázis található, amelyeket az adatok cache-elésére használnak.
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp’
    Ebben a mappában több almappa található:

    WhatsApp a tenyerén: hol és hogyan találhatók kriminalisztikai artefaktumok?
    A mappa ‘C:Users%User profile%LibraryApplication SupportWhatsAppCache’ különböző fájlok találhatók ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’ és fájlnevek ‘f_*******’ (ahol * — 0-tól 9-ig terjedő szám). A fájlok által tartalmazott információkat a „WhatsApp artefaktumok Windows rendszeren” részben írtuk le.

    A mappa ‘C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB’ multimédiás fájlokat tartalmazhatnak (a fájlok nem rendelkeznek kiterjesztésekkel).

    Fájl ‘main-process.log’ tartalmazza a WhatsApp működésével kapcsolatos információkat.

Források

  1. Forenzikus elemzés a WhatsApp Messenger pénztárcáján Android okostelefonokon, Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Fájl- és adatbázis-kiértékelés Android és iOS alkalmazásokhoz, Ahmad Pratama, 2014.

A sorozat következő cikkeiben:

A WhatsApp titkosított adatbázisainak dekódolásaCikk, amely bemutatja, hogy a WhatsApp titkosítási kulcsa hogyan áll elő, és gyakorlati példákat ad, amelyek bemutatják, hogyan lehet dekódolni a titkosított adatbázisokat.
WhatsApp adatok kinyerése felhőtárhelyekbőlCikk, amelyben elmondjuk, hogy milyen WhatsApp adatokat tárolnak a felhőkben, és ismertetjük az ezekből a felhőtárhelyekből való kinyerés módszereit.
WhatsApp adatok kinyerése: gyakorlati példákCikk, amely lépésről lépésre bemutatja, milyen programokkal és hogyan lehet kinyerni a WhatsApp adatokat különböző eszközökről.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster