Jakin nahi baduzu zer motatako WhatsApp-en auzitegi-artefaktu dauden sistema eragile desberdinetan eta non aurki daitezkeen zehazki, orduan hau zuretzat da. Artikulu hau Group-IB Computer Forensics Laborategiko espezialista batena da Igor Mikhailov WhatsApp forentseari buruzko argitalpen sorta bat hasten du eta gailua aztertuta zer informazio lor daitekeen.
Berehala ohar gaitezen sistema eragile ezberdinek WhatsApp artefaktu mota desberdinak gordetzen dituztela, eta ikertzaile batek WhatsApp datu mota batzuk gailu batetik atera ditzakeela, horrek ez du esan nahi beste gailu batetik antzeko datu motak atera daitezkeenik. Adibidez, Windows OS exekutatzen duen sistema-unitate bat kentzen bada, seguruenik WhatsApp-eko txatak ez dira bere diskoetan aurkituko (iOS gailuen babeskopiak izan ezik, unitate berdinetan aurki daitezkeenak). Ordenagailu eramangarriak eta gailu mugikorrak bahitzeak bere ezaugarriak izango ditu. Hitz egin dezagun honetaz zehatzago.
WhatsApp artefaktuak Android gailuan
Android gailu batetik WhatsApp artefaktuak ateratzeko, ikertzaileak supererabiltzaile eskubideak izan behar ditu ('erroa') ikertzen ari den gailuan edo bestela gailuaren edo haren fitxategi-sistemaren memoria fisikoa ateratzeko gai izan (adibidez, gailu mugikor zehatz baten software-ahuleziak erabiliz).
Aplikazio-fitxategiak telefonoaren memorian daude erabiltzailearen datuak gordetzen diren atalean. Oro har, atal honi izena ematen zaio 'erabiltzaile datuak'. Azpidirektorioak eta programa-fitxategiak bide honetan daude: '/data/data/com.whatsapp/'.
Android OS sisteman WhatsApp forentse artifaktuak dituzten fitxategi nagusiak datu-baseak dira 'wa.db' ΠΈ 'msgstore.db'.
Datu-basean 'wa.db' WhatsApp-eko erabiltzaile baten kontaktu-zerrenda osoa dauka, telefono-zenbakia, bistaratzeko izena, ordu-zigiluak eta WhatsApp-en erregistratzean emandako beste edozein informazio barne. Fitxategia 'wa.db' bidean kokatuta: '/data/data/com.whatsapp/databases/' eta egitura hau dauka:
Datu-baseko taula interesgarrienak 'wa.db' ikertzailearentzat hauek dira:
- 'wa_kontaktuak'
Taula honek harremanetarako informazioa dauka: WhatsApp-eko kontaktuaren IDa, egoeraren informazioa, erabiltzailearen bistaratzeko izena, denbora-zigiluak, etab.Mahaiaren itxura:
Taularen egituraEremuaren izena Balio _id erregistro-sekuentzia zenbakia (SQL taulan) jid WhatsApp kontaktuaren IDa, <telefono zenbakia>@s.whatsapp.net formatuan idatzita whatsapp_erabiltzailea da '1' dauka kontaktua benetako WhatsApp-eko erabiltzaile bati badagokio, '0' bestela egoera kontaktuaren egoeran bistaratzen den testua dauka egoera_ordu-zigilua denbora-zigilu bat dauka Unix Epoch Time (ms) formatuan zenbakia kontaktuarekin erlazionatutako telefono-zenbakia raw_contact_id harremanetan jartzeko serie zenbakia bistaratzeko_izena kontaktuaren bistaratzeko izena telefono_mota telefono mota telefono_etiketa kontaktu-zenbakiarekin lotutako etiketa unseen_msg_count kontaktu batek bidalitako baina hartzaileak irakurri ez dituen mezu kopurua argazki_ak denbora-zigilu bat dauka Unix Epoch Time formatuan thumb_ts denbora-zigilu bat dauka Unix Epoch Time formatuan photo_id_timestamp denbora-zigilu bat dauka Unix Epoch Time (ms) formatuan emandako izena eremuaren balioa 'display_name' bat dator kontaktu bakoitzeko wa_izena WhatsApp kontaktuaren izena (kontaktuaren profilean zehaztutako izena bistaratzen da) ordena_izena ordenatzeko eragiketetan erabiltzen den kontaktuaren izena goitizena kontaktuaren goitizena WhatsApp-en (kontaktuaren profilean zehaztutako ezizena bistaratzen da) enpresa enpresa (kontaktuaren profilean zehaztutako enpresa bistaratzen da) izenburua titulua (Andrea/Jauna; kontaktuaren profilean konfiguratutako izenburua bistaratzen da) konpentsatzeko alborapena - 'sqlite_sequence'
Taula honek kontaktu kopuruari buruzko informazioa jasotzen du; - 'android_metadata'
Taula honek WhatsApp hizkuntzaren lokalizazioari buruzko informazioa dauka.
Datu-basean 'msgstore.db' bidalitako mezuei buruzko informazioa du, hala nola, kontaktuaren zenbakia, mezuaren testua, mezuaren egoera, denbora-zigiluak, mezuetan sartutako transferitutako fitxategien xehetasunak, etab. Fitxategia 'msgstore.db' bidean kokatuta: '/data/data/com.whatsapp/databases/' eta egitura hau dauka:
Fitxategiko taula interesgarrienak 'msgstore.db' ikertzailearentzat hauek dira:
- 'sqlite_sequence'
Taula honek datu-base honi buruzko informazio orokorra jasotzen du, hala nola, gordetako mezu kopurua, txat kopurua, etab.Mahaiaren itxura:
- 'message_fts_content'
Bidalitako mezuen testua dauka.Mahaiaren itxura:
- 'mezuak'
Taula honek kontaktuaren zenbakia, mezuaren testua, mezuaren egoera, denbora-zigiluak eta mezuetan sartutako transferitutako fitxategiei buruzko informazioa dauka.Mahaiaren itxura:
Taularen egituraEremuaren izena Balio _id erregistro-sekuentzia zenbakia (SQL taulan) key_remote_jid Komunikazio bazkidearen WhatsApp IDa nire_gakoa_gakoa mezuaren norabidea: '0' - sarrerakoa, '1' - irteerakoa key_id mezu-identifikatzaile bakarra egoera mezuaren egoera: '0' - entregatu, '4' - zerbitzarian zain, '5' - helmugan jaso, '6' - kontrol-mezua, '13' - hartzaileak irekitako mezua (irakurri) behar_bultzatu '2' balioa du igorpen mezu bat bada, bestela '0' dauka datuak mezuaren testua ('media_wa_type' parametroa '0' denean) denbora-marka Unix Epoch Time (ms) formatuan denbora-zigilu bat dauka, balioa gailuaren erlojutik hartzen da media_url transferitutako fitxategiaren URLa dauka ('media_wa_type' parametroa '1', '2', '3' denean) media_mime_type Transferitutako fitxategiaren MIME mota ('media_wa_type' parametroa '1', '2', '3'-ren berdina denean) media_wa_type mezu mota: '0' - testua, '1' - fitxategi grafikoa, '2' - audio fitxategia, '3' - bideo fitxategia, '4' - kontaktu txartela, '5' - geodatuak media_tamaina Transferitutako fitxategiaren tamaina ('media_wa_type' parametroa '1', '2', '3' denean) media_izena Transferitutako fitxategiaren izena ('media_wa_type' parametroa '1', '2', '3' denean) hedabide_oina 'audio', 'bideo' hitzak ditu 'media_wa_type' parametroari dagozkion balioetarako ('media_wa_type' parametroa '1', '3' denean) media_hash Transmititutako fitxategiaren base64 kodetutako hash, HAS-256 algoritmoa erabiliz kalkulatua ('media_wa_type' parametroa '1', '2', '3'-ren berdina denean) media_iraupena multimedia-fitxategiaren iraupena segundotan ('media_wa_type' '1', '2', '3' denean) jatorria '2' balioa du igorpen mezu bat bada, bestela '0' dauka latitude geodatuak: latitudea ('media_wa_type' parametroa '5' denean) longitudea geodatuak: longitudea ('media_wa_type' parametroa '5' denean) thumb_image zerbitzuaren informazioa urruneko_baliabidea Bidaltzailearen IDa (taldeko txatetarako soilik) jaso_denbora-zigilua jasotzeko ordua, denbora-zigilu bat dauka Unix Epoch Time (ms) formatuan, balioa gailuaren erlojutik hartzen da ('key_from_me' parametroak '0', '-1' edo beste balio bat duenean) bidali_ordu-marka ez da erabiltzen, normalean '-1' balioa du receipt_server_timestamp zerbitzari zentralak jasotako denbora, Unix Epoch Time (ms) formatuan denbora-zigilu bat dauka, balioa gailuaren erlojutik hartzen da ('key_from_me' parametroak '1', '-1' edo beste balio bat duenean) ordainagiria_gailua_ordu-zigilua beste harpidedun batek mezua jaso zuenean, denbora-zigilu bat dauka Unix Epoch Time (ms) formatuan, balioa gailuaren erlojutik hartzen da ('key_from_me' parametroak '1', '-1' edo beste balio bat duenean) irakurri_gailua_ordu-marka mezua irekitzeko (irakurtzeko) ordua, denbora-zigilu bat dauka Unix Epoch Time (ms) formatuan, balioa gailuaren erlojutik hartzen da erreproduzitutako_gailuaren_ordu-marka mezuak erreproduzitzeko denbora, denbora-zigilu bat dauka Unix Epoch Time (ms) formatuan, balioa gailuaren erlojutik hartzen da datu_gordina Transferitutako fitxategiaren miniatura ('media_wa_type' parametroa '1' edo '3' denean) hartzailearen_kopurua hartzaile kopurua (difusio mezuetarako) parte-hartzaile_hash geodatuekin mezuak igortzerakoan erabiltzen da izardun ez da erabiltzen quoted_row_id ezezaguna, normalean '0' balioa dauka aipatu_jids ez da erabiltzen multicast_id ez da erabiltzen konpentsatzeko alborapena Eremu zerrenda hau ez da zehatza. WhatsApp-en bertsio desberdinetarako, eremu batzuk egon daitezke edo ez egon daitezke. Gainera, eremuak egon daitezke 'media_enc_hash', 'edit_version', 'ordainketa_transakzio_id' eta abar.
- 'mezuak_miniatura'
Taula honek transferitutako irudiei eta denbora-zigiluei buruzko informazioa dauka. 'Timestamp' zutabean, denbora Unix Epoch Time (ms) formatuan adierazten da. - 'txat_zerrenda'
Taula honek txatei buruzko informazioa dauka.Mahaiaren itxura:
Gainera, Android exekutatzen duen gailu mugikor batean WhatsApp aztertzean, fitxategi hauei erreparatu behar diezu:
- fitxategia 'msgstore.db.cryptXX' (non XX 0tik 12ra zifra bat edo bi diren, adibidez, msgstore.db.crypt12). WhatsApp mezuen babeskopia enkriptatutako bat dauka (backup fitxategia msgstore.db). Fitxategiak 'msgstore.db.cryptXX' bidean kokatuta: '/data/media/0/WhatsApp/Databases/' (SD txartel birtuala), '/mnt/sdcard/WhatsApp/Databases/ (SD txartel fisikoa)'.
- fitxategia 'giltza'. Gako kriptografiko bat dauka. Bidean kokatuta: '/data/data/com.whatsapp/files/'. WhatsApp-en zifratutako babeskopiak deszifratzeko erabiltzen da.
- fitxategia 'com.whatsapp_preferences.xml'. Zure WhatsApp kontuaren profilari buruzko informazioa dauka. Fitxategia bide honetan dago: '/data/data/com.whatsapp/shared_prefs/'.
Fitxategiaren edukiaren zatia
<?xml version="1.0" encoding="ISO-8859-1"?> β¦ <string name="ph">9123456789</string> (Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠΌ WhatsApp) β¦ <string name="version">2.17.395</string> (Π²Π΅ΡΡΠΈΡ WhatsApp) β¦ <string name="my_current_status">Hey there! I am using WhatsApp.</string> (ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² ΡΡΠ°ΡΡΡΠ΅ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°) β¦ <string name="push_name">Alex</string> (ΠΈΠΌΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°) β¦
- fitxategia 'registration.RegisterPhone.xml'. WhatsApp kontuarekin lotutako telefono-zenbakiari buruzko informazioa dauka. Fitxategia bide honetan dago: '/data/data/com.whatsapp/shared_prefs/'.
Fitxategien edukia
<?xml version="1.0" encoding="ISO-8859-1"?> <map> <string name="com.whatsapp.registration.RegisterPhone.phone_number">9123456789</string> <int name="com.whatsapp.registration.RegisterPhone.verification_state" value="0"/> <int name="com.whatsapp.registration.RegisterPhone.country_code_position" value="-1"/> <string name="com.whatsapp.registration.RegisterPhone.input_phone_number">912 345-67-89</string> <int name="com.whatsapp.registration.RegisterPhone.phone_number_position" value="10"/> <string name="com.whatsapp.registration.RegisterPhone.input_country_code">7</string> <string name="com.whatsapp.registration.RegisterPhone.country_code">7</string> </map>
- fitxategia 'axolotl.db'. Gako kriptografikoak eta kontuaren jabea identifikatzeko beharrezkoak diren beste datu batzuk ditu. Bidean kokatuta: '/data/data/com.whatsapp/databases/'.
- fitxategia 'chatsettings.db'. Aplikazioen konfigurazio informazioa dauka.
- fitxategia 'wa.db'. Harremanetarako datuak ditu. Oso datu-base interesgarria (forentsearen aldetik) eta informatiboa. Ezabatutako kontaktuei buruzko informazio zehatza eduki dezake.
Halaber, hurrengo direktorioei arreta jarri behar diezu:
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Transferitutako fitxategi grafikoak ditu.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Ahots-mezuak ditu .OPUS formatuko fitxategietan.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/data/com.whatsapp/cache/Profile Pictures/'. Fitxategi grafikoak ditu: kontaktuen irudiak.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/data/com.whatsapp/files/Avatars/'. Fitxategi grafikoak ditu: kontaktuen irudi txikiak. Fitxategi hauek '.j' luzapena dute, baina, hala ere, JPEG (JPG) irudi fitxategiak dira.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/data/com.whatsapp/files/Avatars/'. Fitxategi grafikoak ditu: kontuaren jabeak avatar gisa ezarritako irudiaren irudia eta miniatura.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/data/com.whatsapp/files/Logs/'. Programaren eragiketen erregistroa ('whatsapp.log' fitxategia) eta programaren eragiketen erregistroen babeskopiak (whatsapp-aaaa-mm-dd.1.log.gz formatuan dauden izenak dituzten fitxategiak) ditu.
WhatsApp-eko erregistro-fitxategiak:
Aldizkariaren zatia2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] galdutako deiaren jakinarazpena/hasierako zenbaketa:0 denbora-zigilua:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] galdutako deiaren jakinarazpena/eguneratzea ezeztatu egia
2017-01-10 09:37:09.768 LL_I D [1:nagusia] app-init/load-me
2017-01-10 09:37:09.772 LL_I D [1:nagusia] pasahitz fitxategia falta da edo irakurri ezin da
2017-01-10 09:37:09.782 LL_I D [1:nagusia] estatistikak Testu-mezuak: 59 bidali, 82 jaso / Multimedia-mezuak: 1 bidali (0 byte), 0 jaso (9850158 byte) / Lineaz kanpoko mezuak: 81 jaso ( 19522 mseg-ko batez besteko atzerapena) / Mezu Zerbitzua: 116075 byte bidaliak, 211729 byte jasoak / Voip deiak: 1 irteerako dei, 0 sarrerako dei, 2492 byte bidaliak, 1530 byte jasoak / Google Drive: 0 byte bidalitakoak, 0 byte jasoak / Roaming: byte bidaliak, 1524 byte jasoak / Datuak guztira: 1826 byte bidaliak, 118567 byte jasoak
2017-01-10 09:37:09.785 LL_I D [1:nagusia] komunikabide-egoera-kudeatzailea/freskatu-komunikabide-egoera/idatzizko-euskarria
2017-01-10 09:37:09.806 LL_I D [1:nagusia] app-init/initialize/tenporizadorea/gelditu: 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:nagusia] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1:nagusia] msgstore/checkdb/list _jobqueue-WhatsAppJobManager-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_I D [1:nagusia] 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:nagusia] 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:nagusia] 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:nagusia] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_I D [1:nagusia] msgstore/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_I D [1:nagusia] msgstore/canquery 517 | emandako denbora:8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-state-manager/fresh-media-state/barne-biltegiratzea eskuragarri: 1,345,622,016 guztira: 5,687,922,688
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Jasotako audio fitxategiak ditu.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Bidalitako audio fitxategiak ditu.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Sortutako fitxategi grafikoak ditu.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Bidalitako fitxategi grafikoak ditu.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Jasotako bideo-fitxategiak ditu.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Bidalitako bideo fitxategiak ditu.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/'. WhatsApp kontuaren jabearekin lotutako fitxategi grafikoak ditu.
- Android telefonoan memoria lekua aurrezteko, WhatsApp-eko datu batzuk SD txartelean gorde daitezke. SD txartelean, root direktorioa, direktorio bat dago 'Whatsapp', non programa honen artefaktu hauek aurki daitezke:
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '.Partekatu' ('/mnt/sdcard/WhatsApp/.Share/'). WhatsApp-eko beste erabiltzaile batzuekin partekatu diren fitxategien kopiak ditu.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '.zaborrontzia' ('/mnt/sdcard/WhatsApp/.trash/'). Ezabatutako fitxategiak ditu.
- ΠΠ°ΡΠ°Π»ΠΎΠ³ 'Datu-baseak' ('/mnt/sdcard/WhatsApp/Databases/'). Babeskopia enkriptatutakoak ditu. Deszifratu daitezke fitxategia badago 'giltza', analizatutako gailuaren memoriatik aterata.
Azpidirektorio batean kokatutako fitxategiak 'Datu-baseak':
- ΠΠ°ΡΠ°Π»ΠΎΠ³ 'Erdia' ('/mnt/sdcard/WhatsApp/Media/'). Azpidirektorioak ditu 'Horma-papera', 'WhatsApp Audio', 'WhatsApp Irudiak', "WhatsApp profileko argazkiak", 'WhatsApp bideoa', 'WhatsApp Voice Notes', jasotako eta transmititutako multimedia fitxategiak (fitxategi grafikoak, bideo fitxategiak, ahots-mezuak, WhatsApp kontuaren jabearen profilarekin lotutako argazkiak, horma-paperak).
- ΠΠ°ΡΠ°Π»ΠΎΠ³ 'Profileko argazkiak' ('/mnt/sdcard/WhatsApp/Profile Pictures/'). WhatsApp kontuaren jabearen profilarekin lotutako fitxategi grafikoak ditu.
- Batzuetan SD txartelean direktorioa egon daiteke 'fitxategiak' ('/mnt/sdcard/WhatsApp/Files/'). Direktorio honek programaren ezarpenak eta erabiltzailearen hobespenak gordetzen dituzten fitxategiak ditu.
Datuak biltegiratzeko ezaugarriak gailu mugikorren modelo batzuetan
Android OS exekutatzen duten gailu mugikorren modelo batzuek WhatsApp artefaktuak beste kokapen batean gorde ditzakete. Gailu mugikorreko sistemaren softwareak aplikazioen datuen biltegiratze-espazioaren aldaketen ondorioz gertatzen da. Adibidez, Xiaomi gailu mugikorrek bigarren lan-eremu bat sortzeko funtzio bat dute ("SecondSpace"). Funtzio hau aktibatuta dagoenean, datuen kokapena aldatzen da. Beraz, Android OS exekutatzen duen gailu mugikor arrunt batean erabiltzaileen datuak direktorioan gordetzen badira '/data/user/0/' (ohikoaren erreferentzia da '/datuak/datuak/'), gero bigarren lan-eremuan aplikazioaren datuak direktorioan gordetzen dira '/data/user/10/'. Hau da, fitxategiaren kokapenaren adibidea erabiliz 'wa.db':
- Android OS exekutatzen duen telefono arrunt batean: /data/user/0/com.whatsapp/databases/wa.db' (baliokidea dena '/data/data/com.whatsapp/databases/wa.db');
- Xiaomi telefonoaren bigarren lan eremuan: '/data/user/10/com.whatsapp/databases/wa.db'.
WhatsApp artefaktuak iOS gailuan
Android OS ez bezala, iOS-en WhatsApp aplikazioaren datuak babeskopia batera transferitzen dira (iTunes babeskopia). Hori dela eta, aplikazio honetatik datuak ateratzeko ez da beharrezkoa fitxategi-sistema ateratzea edo ikertzen ari den gailuaren memoria fisikoaren iraulketa sortzea. Informazio garrantzitsuena datu-basean dago 'ChatStorage.sqlite', bidearen ondoan dagoena: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (programa batzuetan bide hau honela agertzen da 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').
Egitura 'ChatStorage.sqlite':
'ChatStorage.sqlite' datu-baseko taula informatiboenak hauek dira 'ZWAMESSAGE' ΠΈ 'ZWAMEDIAITEM'.
Mahaiaren itxura 'ZWAMESSAGE':
'ZWAMESSAGE' taularen egitura
Eremuaren izena | Balio |
---|---|
Z_PK | erregistro-sekuentzia zenbakia (SQL taulan) |
Z_ENT | taularen identifikatzailea, '9' balioa du |
Z_OPT | ezezaguna, normalean "1" eta "6" bitarteko balioak ditu |
ZHAUR-MEZUAK ENTREGATUKONDUA | ezezaguna, normalean '0' balioa dauka |
ZHAUR-MEZUAK ERREPRODUZKIAK | ezezaguna, normalean '0' balioa dauka |
ZHAUR-MEZUAKIRAKURKETAKONDUA | ezezaguna, normalean '0' balioa dauka |
ZDATAITEMVERSION | ezezaguna, normalean '3' balioa dauka, ziurrenik testu-mezuen adierazlea |
ZDOCID | ezezaguna da |
ZENCRETRYCOUNT | ezezaguna, normalean '0' balioa dauka |
ZIRAGAZKETAKO HARTZAILEA ZENBAKI | ezezaguna, normalean '0', '2', '256' balioak ditu |
ZISFROMME | mezuaren norabidea: '0' - sarrerakoa, '1' - irteerakoa |
ZMESSAGEERRORSTATUS | mezuen transmisioaren egoera. Mezua bidali/jasotzen bada, orduan '0' balioa du |
ZMESSAGETYPE | transmititzen den mezu mota |
ZSORT | ezezaguna da |
ZSPOTLIGHSTATUS | ezezaguna da |
ZSTARRED | ezezaguna, erabili gabea |
ZTXATSAIOA | ezezaguna da |
ZTALDE KIDEA | ezezaguna, erabili gabea |
ZAZKEN SAIOA | ezezaguna da |
ZMEDIAITEM | ezezaguna da |
ZMESSAGEINFO | ezezaguna da |
ZGURASO MEZUA | ezezaguna, erabili gabea |
ZMESSAGEDATE | denbora-zigilua OS X Epoch Time formatuan |
ZSENTDATE | mezua OS X Epoch Time formatuan bidali zenean |
ZFROMJID | WhatsApp Bidaltzailearen IDa |
ZMEDIASECTIONID | multimedia-fitxategia bidali zen urtea eta hilabetea ditu |
ZPHASH | ezezaguna, erabili gabea |
ZPUSHPAME | multimedia-fitxategia UTF-8 formatuan bidali duen kontaktuaren izena |
ZSTANZID | mezu-identifikatzaile bakarra |
ZTEXT | Mezuaren testua |
ZTOJID | Hartzailearen WhatsApp IDa |
OFFSET | alborapena |
Mahaiaren itxura 'ZWAMEDIAITEM':
'ZWAMEDIAITEM' taularen egitura
Eremuaren izena | Balio |
---|---|
Z_PK | erregistro-sekuentzia zenbakia (SQL taulan) |
Z_ENT | taularen identifikatzailea, '8' balioa du |
Z_OPT | ezezaguna, normalean "1" eta "3" bitarteko balioak ditu. |
ZCLOUDSTATUS | '4' balioa dauka fitxategia kargatuta badago. |
ZFILESSIZE | deskargatutako fitxategien fitxategiaren luzera (bytetan) dauka |
ZMEDIAORIGIN | ezezaguna, normalean '0' balioa du |
ZMOVIEDURAZIOA | multimedia-fitxategiaren iraupena, pdf fitxategietarako dokumentuaren orrialde kopurua eduki dezakete |
ZMEZUA | serie-zenbaki bat dauka (zenbakia 'Z_PK' zutabean adierazitakoaren desberdina da) |
ZASPEKTRAZIOA | aspektu-erlazioa, erabiltzen ez dena, normalean "0" gisa ezarrita |
ZEHAZTASUNA | ezezaguna, normalean '0' balioa du |
ZLATTITUDEA | zabalera pixeletan |
ZLONGITUDEA | altuera pixeletan |
ZMEDIAURLDATE | denbora-zigilua OS X Epoch Time formatuan |
ZAUTHORNAME | egilea (dokumentuetarako, fitxategiaren izena izan dezake) |
ZCOLLECTIONNAME | ez da erabiltzen |
ZMEDIALOCALPATH | fitxategi-izena (bidea barne) gailuaren fitxategi-sisteman |
ZMEDIAURL | Multimedia fitxategia dagoen URLa. Fitxategi bat harpidedun batetik bestera transferitu bazen, enkriptatu egin zen eta bere luzapena transferitutako fitxategiaren luzapen gisa adieraziko da - .enc |
ZTHUMBNAILLOCALPATH | gailuaren fitxategi-sistemako fitxategiaren miniaturaren bidea |
ZTITULUA | fitxategiaren goiburua |
ZVCARDNAME | multimedia-fitxategiaren hash; fitxategia talde batera transferitzean, igorlearen identifikatzailea izan dezake |
ZVCARDSTRING | transferitzen den fitxategi motari buruzko informazioa dauka (adibidez, irudia/jpeg); fitxategi bat talde batera transferitzean, hartzailearen identifikatzailea eduki dezake. |
ZXMPPTHUMBPATH | gailuaren fitxategi-sistemako fitxategiaren miniaturaren bidea |
ZMEDIAKEY | ezezaguna, ziurrenik enkriptatutako fitxategia deszifratzeko gakoa dauka. |
ZMETADATA | Igorritako mezuaren metadatuak |
Desplazatu | alborapena |
Datu-baseko beste taula interesgarri batzuk 'ChatStorage.sqlite' hauek dira:
- "ZWAPROFILEPUSHNAME". WhatsApp ID kontaktuaren izenarekin lotzen du;
- 'ZWAPROFILEPICTUREITEM'. WhatsApp ID kontaktuaren avatarrekin lotzen du;
- "Z_PRIMARYKEY". Taulak datu-base honi buruzko informazio orokorra jasotzen du, hala nola, gordetako mezu kopurua, txat kopurua, etab.
Gainera, iOS exekutatzen duen gailu mugikor batean WhatsApp aztertzean, fitxategi hauei erreparatu behar diezu:
- fitxategia 'BackedUpKeyValue.sqlite'. Gako kriptografikoak eta kontuaren jabea identifikatzeko beharrezkoak diren beste datu batzuk ditu. Bidean kokatuta: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- fitxategia 'ContactsV2.sqlite'. Erabiltzailearen kontaktuei buruzko informazioa dauka, hala nola, izen-abizenak, telefono zenbakia, kontaktuaren egoera (testu moduan), WhatsApp IDa, etab. Bidean kokatuta: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- fitxategia 'kontsumitzaile_bertsioa'. Instalatutako WhatsApp aplikazioaren bertsio-zenbakia dauka. Bidean kokatuta: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- fitxategia 'current_wallpaper.jpg'. Uneko WhatsApp-eko atzeko planoa dauka. Bidean kokatuta: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Aplikazioaren bertsio zaharragoek fitxategia erabiltzen dute 'horma-papera', bidearen ondoan dagoena: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
- fitxategia 'blockedcontacts.dat'. Blokeatutako kontaktuei buruzko informazioa dauka. Bidean kokatuta: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
- fitxategia 'pw.dat'. Enkriptatutako pasahitz bat dauka. Bidean kokatuta: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
- fitxategia 'net.whatsapp.WhatsApp.plist' (edo fitxategia 'group.net.whatsapp.WhatsApp.shared.plist'). Zure WhatsApp kontuaren profilari buruzko informazioa dauka. Fitxategia bide honetan dago: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.
'group.net.whatsapp.WhatsApp.shared.plist' fitxategiaren edukia
Halaber, hurrengo direktorioei arreta jarri behar diezu:
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Kontaktuen, taldeen (luzapena duten fitxategiak) miniaturak ditu .erpurua), harremanetan jartzeko avatarrak, WhatsApp kontuaren jabearen avatarra (fitxategia 'Argazkia.jpg').
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Multimedia fitxategiak eta haien miniaturak ditu
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Programaren eragiketen erregistroa dauka (fitxategia 'deiak.erregistroa') eta programaren eragiketen erregistroen babeskopiak (fitxategia 'deiak.backup.log').
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Eranskailuak ditu (fitxategiak formatuan '.webp').
- ΠΠ°ΡΠ°Π»ΠΎΠ³ '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Programaren eragiketen erregistroak ditu.
WhatsApp artefaktuak Windows-en
Windows-en WhatsApp artefaktuak hainbat lekutan aurki daitezke. Lehenik eta behin, hauek dira programa fitxategi exekutagarriak eta laguntzaileak (Windows 8/10-rako):
- 'C:Programa fitxategiak (x86)WhatsApp'
- 'C:Users%User profile% AppDataLocalWhatsApp'
- 'C:Users%User profile% AppDataLocalVirtualStore Programa-fitxategiak (x86)WhatsApp'
Katalogoan 'C:Users%User profile% AppDataLocalWhatsApp' erregistro-fitxategia kokatzen da 'SquirrelSetup.log', eguneratzeak egiaztatzeari eta programa instalatzeari buruzko informazioa jasotzen duena.
Katalogoan 'C:Users%User profile% AppDataRoamingWhatsApp' Hainbat azpidirektorio daude:
fitxategia 'main-process.log' WhatsApp programaren funtzionamenduari buruzko informazioa dauka.
Azpidirektorioa 'datu-baseak' fitxategi bat dauka 'Databases.db', baina fitxategi honek ez du txatei edo kontaktuei buruzko informaziorik.
Ikuspegi forentsetik interesgarrienak direktorioan kokatutako fitxategiak dira 'Cache'. Hauek funtsean izena duten fitxategiak dira 'f_********' (non * 0tik 9ra arteko zenbakia den) multimedia fitxategiak eta dokumentuak zifratuak dituztenak, baina horien artean zifratu gabeko fitxategiak ere badaude. Interes bereziak dira fitxategiak 'data_0', 'data_1', 'data_2', 'data_3', azpidirektorio berean kokatuta. Fitxategiak 'data_0', 'data_1', 'data_3' transmititutako multimedia fitxategi eta dokumentu enkriptatutako kanpoko estekak dituzte.
'data_1' fitxategian jasotako informazioaren adibidea
Fitxategia ere 'data_3' fitxategi grafikoak izan ditzake.
fitxategia 'data_2' kontaktuen avatarrak ditu (fitxategien goiburuen arabera bilatuz leheneratu daiteke).
Fitxategian jasotako avatarrak 'data_2':
Horrela, txatak berak ezin dira ordenagailuaren memorian aurkitu, baina aurki dezakezu:
- multimedia fitxategiak;
- WhatsApp bidez transmititutako dokumentuak;
- kontuaren jabearen kontaktuei buruzko informazioa.
WhatsApp artefaktuak MacOS-en
MacOS-en WhatsApp-eko artefaktu motak aurki ditzakezu Windows OSan aurkitzen direnen antzekoak.
Programa-fitxategiak direktorio hauetan daude:
- 'C:ApplicationsWhatsApp.app'
- 'C:Aplikazioak._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 Mugikorreko dokumentuak <testu aldagaia> WhatsApp kontuak'
Direktorio honek WhatsApp kontuaren jabearekin lotutako telefono-zenbakiak diren azpidirektorioak ditu. - 'C:Users%User profile%LibraryCachesWhatsApp.ShipIt'
Direktorio honek programa instalatzeari buruzko informazioa dauka. - 'C:Users%User profile%PicturesiPhoto Library.photolibraryMasters', 'C:Users%User profile%PicturesiPhoto Library.photolibraryThumbnails'
Direktorio hauek programaren zerbitzu-fitxategiak dituzte, WhatsApp-eko kontaktuen argazkiak eta koadro txikiak barne. - 'C:Users%User profile%LibraryCachesWhatsApp'
Direktorio honek datuen cachean erabiltzen diren SQLite datu-base ugari ditu. - 'C:Users%User profile%LibraryApplication SupportWhatsApp'
Direktorio honek hainbat azpidirektorio ditu:
Katalogoan 'C:Users%User profile%LibraryApplication SupportWhatsAppCache' fitxategiak daude 'data_0', 'data_1', 'data_2', 'data_3' eta izenak dituzten fitxategiak 'f_********' (non * 0tik 9rako zenbakia den). Fitxategi hauek zer informazio duten jakiteko, ikus WhatsApp Artifacts Windows-en.Katalogoan 'C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB' multimedia fitxategiak izan ditzake (fitxategiek ez dute luzapenik).
fitxategia 'main-process.log' WhatsApp programaren funtzionamenduari buruzko informazioa dauka.
iturri
- WhatsApp Messenger-en azterketa forentsea Android telefonoetan, Cosimo Anglanoren eskutik, 2014.
- Whatsapp Forensics: Ahmad Pratama by Ahmad Pratama, 2014ko Android eta iOS aplikazioaren oinarrizko datuen arabera.
Serie honetako artikulu hauetan:
WhatsApp datu-base zifratuak deszifratzeaWhatsApp enkriptatutako gakoa nola sortzen den eta aplikazio honen datu-base zifratuak nola deszifratu erakusten duten adibide praktikoak emango dituen artikulua.
WhatsApp datuak hodeiko biltegiratzetik ateratzeaArtikulu bat, zeinetan WhatsApp-eko datuak hodeietan gordetzen diren eta hodeiko biltegietatik datu horiek berreskuratzeko metodoak deskribatuko ditugun.
WhatsApp Datuen Erauzketa: Adibide PraktikoakPausoz pauso zein programa eta hainbat gailutatik WhatsApp datuak nola atera deskribatuko dituen artikulu bat.
Iturria: www.habr.com