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

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:

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:

A táblázat szerkezeteMező neve Value _id a rekord sorszáma (SQL táblázatban) jid A kapcsolat WhatsApp ID-ja, a következő formátumban van rögzítve: @s.whatsapp.net is_whatsapp_user tartalmazza az ‘1’-et, ha a kapcsolat valódi WhatsApp felhasználóhoz tartozik, ‘0’ egyéb esetben status tartalmazza a kapcsolat státuszában megjelenő szöveget status_timestamp tartalmazza az időbélyeget Unix Epoch Time formátumban (ms) number a kapcsolathoz társított telefonszám raw_contact_id a kapcsolat sorszáma display_name a kapcsolat megjelenített neve phone_type a telefon típusa phone_label a kapcsolathoz tartozó szám címkéje unseen_msg_count a kapcsolat által küldött, de a címzett által még el nem olvasott üzenetek száma photo_ts tartalmazza az időbélyeget Unix Epoch Time formátumban thumb_ts tartalmazza az időbélyeget Unix Epoch Time formátumban photo_id_timestamp tartalmazza az időbélyeget Unix Epoch Time formátumban (ms) given_name a mező értéke megegyezik a ‘display_name’-nel minden kapcsolat esetén wa_name a kapcsolat neve WhatsApp-on (a kapcsolat profiljában megadott név jelenik meg) sort_name a kapcsolat neve, amelyet rendezési műveletek során használnak nickname a kapcsolat beceneve WhatsApp-on (a kapcsolat profiljában megadott név jelenik meg) company vállalat (a kapcsolat profiljában megadott cég jelenik meg) title osztályozás (hölgy/úr; a kapcsolat profiljában beállított megszólítás jelenik meg) offset elmozdulá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:

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:

- ‘message_fts_content’
Tartalmazza az elküldött üzenetek szövegét.A táblázat megjelenése:

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

A táblázat szerkezeteMező neve Value _id a rekord sorszáma (SQL táblázatban) key_remote_jid WhatsApp ID a kommunikációs partner számára key_from_me az üzenet iránya: ‘0’ – bejövő, ‘1’ — kimenő key_id az ü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_push az értéke '2', ha ez egy tömeges üzenet, különben '0' értéket tartalmaz data az üzenet szövege (amikor a 'media_wa_type' paraméter '0') timestamp Unix Epoch Time (ms) formátumú időbélyeget tartalmaz, az érték az eszköz órájából származik media_url tartalmazza a továbbított fájl URL-jét (amikor a 'media_wa_type' paraméter '1', '2', '3') media_mime_type a 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_size a továbbított fájl mérete (amikor a 'media_wa_type' paraméter '1', '2', '3') media_name a továbbított fájl neve (amikor a 'media_wa_type' paraméter '1', '2', '3') media_caption tartalmazza az 'audio', 'video' szavakat a megfelelő 'media_wa_type' paraméter értékeihez (amikor a 'media_wa_type' paraméter '1', '3') media_hash a 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_duration a médiafájl hossza másodpercben (amikor a 'media_wa_type' paraméter '1', '2', '3') origin az értéke '2', ha ez egy tömeges üzenet, különben '0' értéket tartalmaz latitude földrajzi adatok: szélesség (amikor a 'media_wa_type' paraméter '5') longitude földrajzi adatok: hosszúság (amikor a 'media_wa_type' paraméter '5') thumb_image szolgáltatási információ remote_recource a feladó azonosítója (csak csoportos csevegések esetén) received_timestamp a 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_timestamp nincs használatban, általában '-1' értéket tartalmaz receipt_server_timestamp a 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_timestamp az ü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_timestamp az ü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_timestamp az ü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_data a továbbított fájl miniatűrje (amikor a ‘media_wa_type’ paraméter ‘1’ vagy ‘3’) recipient_count a címzettek száma (broadcast üzenetek esetén) participant_hash geoinformációs üzenetek továbbításakor használatos starred nem használatos quoted_row_id ismeretlen, általában ‘0’ értéket tartalmaz mentioned_jids nem használatos multicast_id nem használatos offset elmozdulá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:

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

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:

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

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

A ‘ChatStorage.sqlite’ adatbázisban a leginformatívabbak a táblázatok ‘ZWAMESSAGE’ és ‘ZWAMEDIAITEM’.
A táblázat megjelenése ‘ZWAMESSAGE’:

A ‘ZWAMESSAGE’ tábla szerkezete
| Mező neve | Value |
|---|---|
| Z_PK | a rekord sorszáma (SQL táblázatban) |
| Z_ENT | a tábla azonosítója, értéke ‘9’ |
| Z_OPT | ismeretlen, általában ‘1’ és ‘6’ közötti értékeket tartalmaz |
| ZCHILDMESSAGESDELIVEREDCOUNT | ismeretlen, általában ‘0’ értéket tartalmaz |
| ZCHILDMESSAGESPLAYEDCOUNT | ismeretlen, általában ‘0’ értéket tartalmaz |
| ZCHILDMESSAGESREADCOUNT | ismeretlen, általában ‘0’ értéket tartalmaz |
| ZDATAITEMVERSION | ismeretlen, általában ‘3’ értéket tartalmaz, valószínűleg a szöveges üzenet mutatója |
| ZDOCID | ismeretlen |
| ZENCRETRYCOUNT | ismeretlen, általában ‘0’ értéket tartalmaz |
| ZFILTEREDRECIPIENTCOUNT | ismeretlen, általában ‘0’, ‘2’, ‘256’ értékeket tartalmaz |
| ZISFROMME | az üzenet iránya: ‘0’ – bejövő, ‘1’ — kimenő |
| ZMESSAGEERRORSTATUS | az üzenet küldésének státusza. Ha az üzenet elküldésre került/kapták, akkor ‘0’ értéke van |
| ZMESSAGETYPE | a küldendő üzenet típusa |
| ZSORT | ismeretlen |
| ZSPOTLIGHSTATUS | ismeretlen |
| ZSTARRED | ismeretlen, nem használt |
| ZCHATSESSION | ismeretlen |
| ZGROUPMEMBER | ismeretlen, nem használt |
| ZLASTSESSION | ismeretlen |
| ZMEDIAITEM | ismeretlen |
| ZMESSAGEINFO | ismeretlen |
| ZPARENTMESSAGE | ismeretlen, nem használt |
| ZMESSAGEDATE | időbélyeg az OS X Epoch Time formátumban |
| ZSENTDATE | az üzenet küldési ideje az OS X Epoch Time formátumban |
| ZFROMJID | a küldő WhatsApp azonosítója |
| ZMEDIASECTIONID | tartalmazza a médiafájl küldésének évét és hónapját |
| ZPHASH | ismeretlen, nem használt |
| ZPUSHPAME | a médiafájlt küldő kontakt neve UTF-8 formátumban |
| ZSTANZID | az üzenet egyedi azonosítója |
| ZTEXT | az üzenet szövege |
| ZTOJID | a címzett WhatsApp azonosítója |
| OFFSET | elmozdulás |
A táblázat megjelenése ‘ZWAMEDIAITEM’:

A ‘ZWAMEDIAITEM’ tábla szerkezete
| Mező neve | Value |
|---|---|
| Z_PK | a rekord sorszáma (SQL táblázatban) |
| Z_ENT | a tábla azonosítója, értéke ‘8’ |
| Z_OPT | ismeretlen, általában ‘1’ és ‘3’ közötti értékeket tartalmaz. |
| ZCLOUDSTATUS | ha a fájl feltöltésre került, akkor ‘4’ értelmet kap. |
| ZFILESIZE | az uploaded fájl mérete (byte-ban) |
| ZMEDIAORIGIN | ismeretlen, általában ‘0’ értéket tartalmaz |
| ZMOVIEDURATION | a médiafájl időtartama, pdf fájlok esetén a dokumentum oldalainak számát tartalmazhatja |
| ZMESSAGE | tartalmazza a sorszámot (a szám eltér a ‘Z_PK’ oszlopban megadottól) |
| ZASPECTRATIO | képarány, nem használt, általában ‘0’ értékkel rendelkezik |
| ZHACCURACY | ismeretlen, általában ‘0’ értéket tartalmaz |
| ZLATTITUDE | szélesség pixelben |
| ZLONGTITUDE | magasság pixelben |
| ZMEDIAURLDATE | időbélyeg az OS X Epoch Time formátumban |
| ZAUTHORNAME | szerző (dokumentumok esetén a fájl nevét is tartalmazhatja) |
| ZCOLLECTIONNAME | nem használatos |
| ZMEDIALOCALPATH | fájl neve (az útvonal megadásával) az eszköz fájlrendszerében |
| ZMEDIAURL | a 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 |
| ZTHUMBNAILLOCALPATH | a fájl miniatúrájának elérési útja az eszköz fájlrendszerében |
| ZTITLE | a fájl címe |
| ZVCARDNAME | a médiafájl hash értéke, amikor fájlt küldenek egy csoportba, tartalmazhatja a küldő azonosítóját |
| ZVCARDSTRING | tartalmazza 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 |
| ZXMPPTHUMBPATH | a fájl miniatúrájának elérési útja az eszköz fájlrendszerében |
| ZMEDIAKEY | ismeretlen, valószínűleg tartalmaz egy kulcsot a titkosított fájl dekódolásához. |
| ZMETADATA | az átvitt üzenet metaadatai |
| Offset | elmozdulá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
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ó:
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ókra
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’:

Í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ó:
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
- Forenzikus elemzés a WhatsApp Messenger pénztárcáján Android okostelefonokon, Cosimo Anglano, 2014.
- 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








