WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?

Vill du veta vilka typer av kriminalistiska artefakter WhatsApp finns i olika operativsystem och var de kan upptĂ€ckas — dĂ„ Ă€r det hit du ska gĂ„. Denna artikel Ă€r skriven av en specialist vid Group-IB:s laboratorium för datakriminalistik. Igor Mikhailov öppnar en serie publikationer om kriminalistisk undersökning av WhatsApp och vilken information som kan fĂ„s genom analys av enheten.

Vi nÀmner genast att olika operativsystem lagrar olika typer av WhatsApp-artefakter, och om en forskare kan extrahera vissa typer av WhatsApp-data frÄn en enhet, betyder det inte att liknande datatyper kan extraheras frÄn en annan enhet. Till exempel, om en stationÀr dator som kör Windows OS beslagtas, kommer chattar frÄn WhatsApp förmodligen inte att upptÀckas pÄ dess diskar (undantaget Àr sÀkerhetskopior frÄn iOS-enheter, som kan upptÀckas pÄ samma lagringsenheter). NÀr bÀrbara datorer och mobila enheter beslagtas kommer det att finnas sina egna egenskaper. LÄt oss prata mer om detta.

WhatsApp-artefakter pÄ Android-enheter

För att extrahera WhatsApp-artefakter frÄn en enhet som kör Android OS mÄste forskaren ha superanvÀndarrÀttigheter ('root') pÄ den undersökta enheten, eller kunna pÄ annat sÀtt extrahera en fysisk minnesdump av enheten eller dess filsystem (till exempel genom att utnyttja programvarusÄrbarheter hos en viss mobil enhet).

Appens filer lagras i telefonens minne i den partition dÀr anvÀndardata sparas. Vanligtvis kallas denna partition 'userdata'. Programkataloger och filer finns pÄ sökvÀgen: '/data/data/com.whatsapp/'.

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
De huvudsakliga filerna som innehÄller kriminalistiska artefakter för WhatsApp i Android OS Àr databaserna 'wa.db' och 'msgstore.db'.

I databasen 'wa.db' finns en komplett lista över WhatsApp-kontakter inklusive telefonnummer, visningsnamn, tidsstÀmplar och annan information som anges vid registreringen i WhatsApp. Filen 'wa.db' finns pÄ sökvÀgen: '/data/data/com.whatsapp/databases/' och har följande struktur:

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
De mest intressanta tabellerna i databasen 'wa.db' för forskaren Àr:

  • 'wa_contacts'
    Denna tabell innehÄller information om kontakter: kontaktens id i WhatsApp, statusinformation, visningsnamn, tidsstÀmplar m.m.

    Tabellens utseende:

    WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
    Tabellens struktur

    FĂ€ltets namnVĂ€rde
    _idpostens ordningstal (i SQL-tabellen)
    jidWhatsApp ID för kontakten, anges i formatet @s.whatsapp.net
    is_whatsapp_userinnehÄller '1' om kontakten motsvarar en verklig WhatsApp-anvÀndare, '0' annars
    statusinnehÄller texten som visas i kontaktens status
    status_timestampinnehÄller tidsstÀmpeln i Unix Epoch Time-format (ms)
    numbertelefonnummer associerat med kontakten
    raw_contact_idpostens ordningstal för kontakten
    display_namekontaktens visningsnamn
    phone_typetelefontyp
    phone_labeletikett associerad med kontaktens nummer
    unseen_msg_countantal meddelanden som har skickats av kontakten men inte har lÀsts av mottagaren
    photo_tsinnehÄller tidsstÀmpeln i Unix Epoch Time-format
    thumb_tsinnehÄller tidsstÀmpeln i Unix Epoch Time-format
    photo_id_timestampinnehÄller tidsstÀmpeln i Unix Epoch Time-format (ms)
    given_namefÀlts vÀrde överensstÀmmer med 'display_name' för varje kontakt
    wa_namekontaktens namn i WhatsApp (visar namnet som anges i kontaktens profil)
    sort_namekontaktens namn som anvÀnds i sorteringsoperationer
    nicknamekontaktens smeknamn i WhatsApp (visar smeknamnet som anges i kontaktens profil)
    companyföretag (visar företaget som anges i kontaktens profil)
    titletilltal (fru/herr; visar tilltalet som Àr instÀllt i kontaktens profil)
    offsetförskjutning
  • 'sqlite_sequence'
    Denna tabell innehÄller information om antalet kontakter;
  • 'android_metadata'
    Denna tabell innehÄller information om sprÄkversionering för WhatsApp.

I databasen 'msgstore.db' innehÄller information om skickade meddelanden, sÄsom kontaktens nummer, meddelandets text, meddelandets status, tidsstÀmplar, information om överförda filer som ingÄr i meddelandena, m.m. Filen 'msgstore.db' finns pÄ sökvÀgen: '/data/data/com.whatsapp/databases/' och har följande struktur:

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
De mest intressanta tabellerna i filen 'msgstore.db' för forskaren Àr:

  • 'sqlite_sequence'
    Denna tabell innehÄller allmÀn information om denna databas, sÄsom det totala antalet sparade meddelanden, det totala antalet chattar m.m.

    Tabellens utseende:

    WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?

  • 'message_fts_content'
    InnehÄller texten frÄn skickade meddelanden.

    Tabellens utseende:

    WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?

  • 'messages'
    Denna tabell innehÄller sÄdan information som kontaktens nummer, meddelandets text, meddelandets status, tidsstÀmplar, information om överförda filer som ingÄr i meddelandena.

    Tabellens utseende:

    WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
    Tabellens struktur

    FĂ€ltets namnVĂ€rde
    _idpostens ordningstal (i SQL-tabellen)
    key_remote_jidWhatsApp ID för kommunikationspartnern
    key_from_memeddelandets riktning: '0' – inkommande, '1' — utgĂ„ende
    key_idunika identifieraren för meddelandet
    statusmeddelandestatus: '0' – levererat, '4' – vĂ€ntar pĂ„ servern, '5' – mottaget pĂ„ destinationen, '6' – kvittomeddelande, '13' – meddelandet har öppnats av mottagaren (lĂ€st)
    need_pushhar vÀrdet '2' om detta Àr ett sÀndningsmeddelande, annars innehÄller det '0'
    datameddelandets text (nÀr parametern 'media_wa_type' Àr '0')
    timestampinnehÄller en tidsstÀmpel i Unix Epoch Time-format (ms), vÀrdet tas frÄn enhetens klocka
    media_urlinnehÄller URL:en till den överförda filen (nÀr parametern 'media_wa_type' Àr '1', '2', '3')
    media_mime_typeMIME-typ för den överförda filen (nÀr parametern 'media_wa_type' Àr '1', '2', '3')
    media_wa_typemeddelandetyp: '0' – text, '1' – bildfil, '2' – ljudfil, '3' – videofil, '4' – kontaktkort, '5' – geodata
    media_sizestorlek pÄ den överförda filen (nÀr parametern 'media_wa_type' Àr '1', '2', '3')
    media_namenamn pÄ den överförda filen (nÀr parametern 'media_wa_type' Àr '1', '2', '3')
    media_captionInnehÄller orden 'audio', 'video' för motsvarande vÀrden av parametern 'media_wa_type' (nÀr parametern 'media_wa_type' Àr '1', '3')
    media_hashhÀrskad i base64-format av den överförda filen, berÀknad med HAS-256-algoritmen (nÀr parametern 'media_wa_type' Àr '1', '2', '3')
    media_durationlÀngd i sekunder för mediafilen (nÀr parametern 'media_wa_type' Àr '1', '2', '3')
    originhar vÀrdet '2' om detta Àr ett sÀndningsmeddelande, annars innehÄller det '0'
    latitudegeodata: latitud (nÀr parametern 'media_wa_type' Àr '5')
    longitudegeodata: longitud (nÀr parametern 'media_wa_type' Àr '5')
    thumb_imagemetadata
    remote_recourceID för avsÀndaren (bara för grupper)
    received_timestampmottagningstid, innehÄller en tidsstÀmpel i Unix Epoch Time-format (ms), vÀrdet tas frÄn enhetens klocka (nÀr parametern 'key_from_me' har '0', '-1' eller nÄgot annat vÀrde)
    send_timestampanvÀnds inte, har vanligtvis vÀrdet '-1'
    receipt_server_timestamptiden för mottagning av servercentralen servern, innehÄller en tidsstÀmpel i Unix Epoch Time-format (ms), vÀrdet tas frÄn enhetens klocka (nÀr parametern 'key_from_me' har '1', '-1' eller nÄgot annat vÀrde
    receipt_device_timestampmottagningstid för meddelandet frÄn en annan abonnent, innehÄller en tidsstÀmpel i Unix Epoch Time-format (ms), vÀrdet tas frÄn enhetens klocka (nÀr parametern 'key_from_me' har '1', '-1' eller nÄgot annat vÀrde
    read_device_timestampöppningstid (lÀsning) av meddelandet, innehÄller en tidsstÀmpel i Unix Epoch Time-format (ms), vÀrdet tas frÄn enhetens klocka
    played_device_timestampuppspelningstid av meddelandet, innehÄller en tidsstÀmpel i Unix Epoch Time-format (ms), vÀrdet tas frÄn enhetens klocka
    raw_dataminiatyr av den överförda filen (nĂ€r parametern ‘media_wa_type’ Ă€r lika med ‘1’ eller ‘3’)
    recipient_countantal mottagare (för sÀndningsmeddelanden)
    participant_hashanvÀnds vid överföring av meddelanden med geodata
    starredanvÀnds inte
    quoted_row_idokĂ€nt, innehĂ„ller vanligtvis vĂ€rdet ‘0’
    mentioned_jidsanvÀnds inte
    multicast_idanvÀnds inte
    offsetförskjutning

    Denna lista med fĂ€lt Ă€r inte uttömmande. För olika versioner av WhatsApp kan vissa fĂ€lt finnas eller saknas. Dessutom kan ytterligare fĂ€lt finnas ‘media_enc_hash’, ‘edit_version’, ‘payment_transaction_id’ och sĂ„ vidare.

  • ‘messages_thumbnails’
    Denna tabell innehĂ„ller information om överförda bilder och tidsstĂ€mplar. I kolumnen ‘timestamp’ anges tiden i Unix Epoch Time-format (ms).
  • ‘chat_list’
    Denna tabell innehÄller information om chattar.

    Tabellens utseende:

    WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?

Vid undersökning av WhatsApp pÄ en Android-enhet bör man ocksÄ uppmÀrksamma följande filer:

  • Fil ‘msgstore.db.cryptXX’ (dĂ€r XX Ă€r en eller tvĂ„ siffror frĂ„n 0 till 12, till exempel msgstore.db.crypt12). InnehĂ„ller en krypterad sĂ€kerhetskopia av WhatsApp-meddelanden (sĂ€kerhetskopia av filen msgstore.db). Filen (eller filerna) ‘msgstore.db.cryptXX’ finns pĂ„ sökvĂ€gen: ‘/data/media/0/WhatsApp/Databases/’ (virtuellt SD-kort), ‘/mnt/sdcard/WhatsApp/Databases/’ (fysiskt SD-kort).
  • Fil ‘key’. InnehĂ„ller den kryptografiska nyckeln. Finns pĂ„ följande vĂ€g: ‘/data/data/com.whatsapp/files/’. AnvĂ€nds för att dekryptera krypterade sĂ€kerhetskopior av WhatsApp.
  • Fil ‘com.whatsapp_preferences.xml’. InnehĂ„ller information om WhatsApp-kontoets profil. Filen finns pĂ„ följande vĂ€g: ‘/data/data/com.whatsapp/shared_prefs/’.

    InnehÄllet i filen

    

    9123456789 (telefonnummer kopplat till WhatsApp-kontot)
    

    2.17.395 (version av WhatsApp)
    

    Hej dÀr! Jag anvÀnder WhatsApp. (meddelande som visas i kontots status)
    

    Alex (namnet pÄ kontoinnehavaren)
    
 
  • Fil ‘registration.RegisterPhone.xml’. InnehĂ„ller information om telefonnumret kopplat till WhatsApp-kontot. Filen finns pĂ„ följande vĂ€g: ‘/data/data/com.whatsapp/shared_prefs/’.

    InnehÄllet i filen

    
    9123456789
    
    
    912 345-67-89
    
    7
    7
    
  • Fil ‘axolotl.db’. InnehĂ„ller kryptografiska nycklar och annan information som Ă€r nödvĂ€ndig för att identifiera kontoinnehavaren. Ligger pĂ„ vĂ€gen: '/data/data/com.whatsapp/databases/'.
  • Fil ‘chatsettings.db’. InnehĂ„ller information om appens konfiguration.
  • Fil 'wa.db'. InnehĂ„ller detaljer om kontakter. Mycket intressant (ur ett kriminalistiskt perspektiv) och informativ databas. HĂ€r kan detaljerad information om borttagna kontakter hittas.

Det Àr ocksÄ viktigt att uppmÀrksamma följande kataloger:

  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Images/’. InnehĂ„ller överförda bildfiler.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/’. InnehĂ„ller röstmeddelanden i .OPUS-filformat.
  • Katalog ‘/data/data/com.whatsapp/cache/Profile Pictures/’. InnehĂ„ller bildfiler – bilder av kontakter.
  • Katalog ‘/data/data/com.whatsapp/files/Avatars/’. InnehĂ„ller bildfiler – miniatyrer av kontaktbilder. Dessa filer har filĂ€ndelsen ‘.j’, men Ă€r Ă€ndĂ„ bildfiler i JPEG-format (JPG).
  • Katalog ‘/data/data/com.whatsapp/files/Avatars/’. InnehĂ„ller bildfiler – bilden och miniatyren av bilden som satts som avatar av kontoinnehavaren.
  • Katalog ‘/data/data/com.whatsapp/files/Logs/’. InnehĂ„ller programloggar (filen ‘whatsapp.log’) och sĂ€kerhetskopior av programloggar (filer med namnformatet whatsapp-ÄÄÄÄ-mm-dd.1.log.gz).

WhatsApp-loggfiler:

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
Loggutdrag2017-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 skickade, 82 mottagna / Media Messages: 1 skickad (0 byte), 0 mottagna (9850158 byte) / Offline Messages: 81 mottagna (19522 msec genomsnittlig fördröjning) / Message Service: 116075 byte skickade, 211729 byte mottagna / Voip Calls: 1 utgÄende samtal, 0 inkommande samtal, 2492 byte skickade, 1530 byte mottagna / Google Drive: 0 byte skickade, 0 byte mottagna / Roaming: 1524 byte skickade, 1826 byte mottagna / Totalt Data: 118567 byte skickade, 10063417 byte mottagna
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

  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/’. InnehĂ„ller mottagna ljudfiler.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/’. InnehĂ„ller skickade ljudfiler.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Images/’. InnehĂ„ller mottagna bildfiler.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/’. InnehĂ„ller skickade bildfiler.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Video/’. InnehĂ„ller mottagna videofiler.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/’. InnehĂ„ller skickade videofiler.
  • Katalog ‘/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/’. InnehĂ„ller bildfiler associerade med WhatsApp-kontoĂ€garen.
  • För att spara plats pĂ„ Android-smarttelefonen kan vissa WhatsApp-data lagras pĂ„ SD-kortet. I roten av SD-kortet finns en mapp ‘WhatsApp’, dĂ€r följande artefakter av detta program kan hittas:

    WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?

  • Katalog ‘.Share’ (‘/mnt/sdcard/WhatsApp/.Share/’). InnehĂ„ller kopior av filer som har skickats till andra WhatsApp-anvĂ€ndare.
  • Katalog ‘.trash’ (‘/mnt/sdcard/WhatsApp/.trash/’). InnehĂ„ller raderade filer.
  • Katalog ‘Databases’ (‘/mnt/sdcard/WhatsApp/Databases/’). InnehĂ„ller krypterade sĂ€kerhetskopior. De kan dekrypteras med hjĂ€lp av en fil ‘key’, hĂ€mtad frĂ„n minnet av den analyserade enheten.

    Filer som finns i underkatalogen ‘Databases’:

    WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?

  • Katalog ‘Media’ (‘/mnt/sdcard/WhatsApp/Media/’). InnehĂ„ller undermappar ‘WallPaper’, ‘WhatsApp Audio’, ‘WhatsApp Images’, ‘WhatsApp Profile Photos’, ‘WhatsApp Video’, ‘WhatsApp Voice Notes’, dĂ€r de mottagna och skickade mediefilerna (grafiska filer, videofiler, röstmeddelanden, foton, associerade med profilĂ€garen för WhatsApp-kontot, bakgrundsbilder) finns.
  • Katalog ‘Profile Pictures’ (‘/mnt/sdcard/WhatsApp/Profile Pictures/’). InnehĂ„ller grafiska filer, associerade med profilĂ€garen för WhatsApp-kontot.
  • Ibland kan det finnas en katalog pĂ„ SD-kortet ‘files’ (‘/mnt/sdcard/WhatsApp/Files/’). I den hĂ€r katalogen finns filer som lagrar programmets instĂ€llningar och anvĂ€ndarens preferenser.

Egenskaper för datalagring pÄ vissa modeller av mobila enheter

PĂ„ vissa modeller av mobila enheter som körs med Android OS kan det finnas artefakter frĂ„n WhatsApp som lagras pĂ„ andra stĂ€llen. Detta beror pĂ„ att lagringsutrymmet för appar förĂ€ndras av mobilens operativsystem. Till exempel har mobiltelefoner frĂ„n Xiaomi funktionen att skapa ett andra arbetsutrymme (‘SecondSpace’). NĂ€r denna funktion aktiveras Ă€ndras datalagret. Om anvĂ€ndardata pĂ„ en vanlig mobiltelefon som körs med Android lagras i katalogen ‘/data/user/0/’ (vilket Ă€r en lĂ€nk till de bekanta ‘/data/data/’), sĂ„ lagras appers data i det andra arbetsutrymmet i katalogen ‘/data/user/10/’. SĂ„, till exempel, för det platsen för filen 'wa.db':

  • pĂ„ en vanlig smartphone med Android: /data/user/0/com.whatsapp/databases/wa.db’ (vilket motsvarar ‘/data/data/com.whatsapp/databases/wa.db’);
  • i det andra arbetsutrymmet pĂ„ en Xiaomi-smartphone: ‘/data/user/10/com.whatsapp/databases/wa.db’.

Artefakter frÄn WhatsApp pÄ iOS-enheter

Till skillnad frĂ„n Android OS, överförs data frĂ„n WhatsApp-appen pĂ„ iOS till en sĂ€kerhetskopia (iTunes-sĂ€kerhetskopiera). DĂ€rför krĂ€ver extraktion av data frĂ„n denna app ingen extraktion av filsystemet eller skapande av en fysisk dump av det undersökta enhetens minne. Den största delen av den betydelsefulla informationen finns i databasen ‘ChatStorage.sqlite’, som ligger pĂ„ följande vĂ€g: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/’ (i vissa program visas denna vĂ€g som ‘AppDomainGroup-group.net.whatsapp.WhatsApp.shared’).

Struktur ‘ChatStorage.sqlite’:

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
De mest informativa i databasen ‘ChatStorage.sqlite’ Ă€r tabellerna ‘ZWAMESSAGE’ och ‘ZWAMEDIAITEM’.

Tabellens utseende ‘ZWAMESSAGE’:

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
Strukturen för tabellen ‘ZWAMESSAGE’

FĂ€ltets namnVĂ€rde
Z_PKpostens ordningstal (i SQL-tabellen)
Z_ENTTabellens identifierare, har vĂ€rdet ‘9’
Z_OPTOkĂ€nt, innehĂ„ller vanligtvis vĂ€rden frĂ„n ‘1’ till ‘6’
ZCHILDMESSAGESDELIVEREDCOUNTokĂ€nt, innehĂ„ller vanligtvis vĂ€rdet ‘0’
ZCHILDMESSAGESPLAYEDCOUNTokĂ€nt, innehĂ„ller vanligtvis vĂ€rdet ‘0’
ZCHILDMESSAGESREADCOUNTokĂ€nt, innehĂ„ller vanligtvis vĂ€rdet ‘0’
ZDATAITEMVERSIONOkĂ€nt, innehĂ„ller vanligtvis vĂ€rdet ‘3’, kan vara en indikator pĂ„ textmeddelandet
ZDOCIDOkÀnt
ZENCRETRYCOUNTokĂ€nt, innehĂ„ller vanligtvis vĂ€rdet ‘0’
ZFILTEREDRECIPIENTCOUNTOkĂ€nt, innehĂ„ller vanligtvis vĂ€rden ‘0’, ‘2’, ‘256’
ZISFROMMEmeddelandets riktning: '0' – inkommande, '1' — utgĂ„ende
ZMESSAGEERRORSTATUSStatus för meddelandets överföring. Om meddelandet har skickats/mottagits, har det vĂ€rdet ‘0’
ZMESSAGETYPETyp av överförd meddelande
ZSORTOkÀnt
ZSPOTLIGHSTATUSOkÀnt
ZSTARREDOkÀnt, anvÀnds inte
ZCHATSESSIONOkÀnt
ZGROUPMEMBEROkÀnt, anvÀnds inte
ZLASTSESSIONOkÀnt
ZMEDIAITEMOkÀnt
ZMESSAGEINFOOkÀnt
ZPARENTMESSAGEOkÀnt, anvÀnds inte
ZMESSAGEDATETidsstÀmpel i OS X Epoch Time-format
ZSENTDATETid för meddelandets avsÀndning i OS X Epoch Time-format
ZFROMJIDWhatsApp ID för avsÀndaren
ZMEDIASECTIONIDInnehÄller Är och mÄnad för mediets avsÀndning
ZPHASHOkÀnt, anvÀnds inte
ZPUSHPAMENamn pÄ kontakten som skickade mediefilen i UTF-8-format
ZSTANZIDunika identifieraren för meddelandet
ZTEXTTextmeddelandet
ZTOJIDWhatsApp ID för mottagaren
OFFSETförskjutning

Tabellens utseende ‘ZWAMEDIAITEM’:

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
Strukturen för tabellen ‘ZWAMEDIAITEM’

FĂ€ltets namnVĂ€rde
Z_PKpostens ordningstal (i SQL-tabellen)
Z_ENTTabellens identifierare, har vĂ€rdet ‘8’
Z_OPTOkĂ€nt, innehĂ„ller vanligtvis vĂ€rden frĂ„n ‘1’ till ‘3’
ZCLOUDSTATUSInnehĂ„ller vĂ€rdet ‘4’ om filen har laddats upp.
ZFILESIZEInnehÄller filens lÀngd (i byte) för uppladdade filer
ZMEDIAORIGINOkĂ€nt, har vanligtvis vĂ€rdet ‘0’
ZMOVIEDURATIONLÀngden pÄ mediefilen, för pdf-filer kan den innehÄlla antalet sidor i dokumentet
ZMESSAGEInnehĂ„ller ett sekvensnummer (numret skiljer sig frĂ„n det som anges i kolumnen ‘Z_PK’)
ZASPECTRATIOBildförhĂ„llande, anvĂ€nds inte, innehĂ„ller vanligtvis vĂ€rdet ‘0’
ZHACCURACYOkĂ€nt, har vanligtvis vĂ€rdet ‘0’
ZLATTITUDEBredd i pixlar
ZLONGTITUDEHöjd i pixlar
ZMEDIAURLDATETidsstÀmpel i OS X Epoch Time-format
ZAUTHORNAMEFörfattare (för dokument, kan innehÄlla filnamn)
ZCOLLECTIONNAMEanvÀnds inte
ZMEDIALOCALPATHFilnamn (med sökvÀg) i enhetens filsystem
ZMEDIAURLURL dĂ€r mediefilen fanns. Om filen överfördes frĂ„n en abonnent till en annan, var den krypterad, och filens Ă€ndelse kommer att anges som Ă€ndelsen för den överförda filen — .enc
ZTHUMBNAILLOCALPATHSökvÀg till filens miniatyr i enhetens filsystem
ZTITLEFilens titel
ZVCARDNAMEHash av mediefilen, vid överföring av filen i en grupp kan den innehÄlla avsÀndarens identifierare
ZVCARDSTRINGInnehÄller information om typen av det överförda filen (t.ex. image/jpeg), vid överföring av filen i en grupp kan den innehÄlla identifieraren för mottagaren
ZXMPPTHUMBPATHSökvÀg till filens miniatyr i enhetens filsystem
ZMEDIAKEYokÀnt, troligen innehÄller en nyckel för att dekryptera den krypterade filen.
ZMETADATAmetadata för det överförda meddelandet
Offsetförskjutning

Andra intressanta databastabeller ‘ChatStorage.sqlite’ Ă€r:

  • ‘ZWAPROFILEPUSHNAME’. Kopplar WhatsApp-ID med kontaktens namn;
  • ‘ZWAPROFILEPICTUREITEM’. Kopplar WhatsApp-ID med kontaktens avatar;
  • ‘Z_PRIMARYKEY’. Tabellen innehĂ„ller allmĂ€n information om denna databas, sĂ„som totalt antal lagrade meddelanden, totalt antal chattar osv.

Vid studier av WhatsApp pÄ en iOS-enhet bör man ocksÄ vara uppmÀrksam pÄ följande filer:

  • Fil ‘BackedUpKeyValue.sqlite’. InnehĂ„ller kryptografiska nycklar och annan information som Ă€r nödvĂ€ndig för att identifiera kontoinnehavaren. Ligger pĂ„ vĂ€gen: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Fil ‘ContactsV2.sqlite’. InnehĂ„ller information om anvĂ€ndarens kontakter, sĂ„som namn, telefonnummer, status (i textform), WhatsApp-ID osv. Finns pĂ„ vĂ€gen: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Fil ‘consumer_version’. InnehĂ„ller versionsnumret för den installerade WhatsApp-appen. Ligger pĂ„ vĂ€gen: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Fil ‘current_wallpaper.jpg’. InnehĂ„ller den aktuella bakgrundsbilden för WhatsApp-appen. Finns pĂ„ vĂ€gen: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. I Ă€ldre versioner av appen anvĂ€nds filen ‘wallpaper’, som finns pĂ„ vĂ€gen: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’.
  • Fil ‘blockedcontacts.dat’. InnehĂ„ller information om blockerade kontakter. Ligga pĂ„ vĂ€gen: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • Fil ‘pw.dat’. InnehĂ„ller det krypterade lösenordet. Finns pĂ„ vĂ€gen: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/’.
  • Fil ‘net.whatsapp.WhatsApp.plist’ (eller fil ‘group.net.whatsapp.WhatsApp.shared.plist’). InnehĂ„ller information om WhatsApp-kontots profil. Filen finns pĂ„ vĂ€gen: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/’.

InnehĂ„llet i filen ‘group.net.whatsapp.WhatsApp.shared.plist’ WhatsApp i handflatan: var och hur kan man upptĂ€cka kriminalistiska artefakter?
Det Àr ocksÄ viktigt att uppmÀrksamma följande kataloger:

  • Katalog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/’. InnehĂ„ller miniatyrbilder av kontakter, grupper (filer med tillĂ€gget .thumb), avatarer för kontakter, avatar för WhatsApp-kontoĂ€garen (fil ‘Photo.jpg’).
  • Katalog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/’. InnehĂ„ller multimediafiler och deras miniatyrbilder
  • Katalog ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’. InnehĂ„ller programloggar (fil ‘calls.log’) och sĂ€kerhetskopior av programloggar (fil ‘calls.backup.log’).
  • Katalog ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/’. InnehĂ„ller klistermĂ€rken (filer i formatet ‘.webp’).
  • Katalog ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/’. InnehĂ„ller programloggar.

WhatsApp-artefakter i Windows

WhatsApp-artefakter i Windows kan hittas pÄ flera platser. Först och frÀmst Àr detta kataloger som innehÄller körbara och hjÀlpfiler för programmet (för Windows 8/10):

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

I kataloget ‘C:Users%User profile% AppDataLocalWhatsApp’ befinner sig loggfilen ‘SquirrelSetup.log’, som innehĂ„ller information om kontroll av tillgĂ€ngliga uppdateringar och installation av programmet.

I kataloget ‘C:Users%User profile% AppDataRoamingWhatsApp’ finns flera underkataloger:

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
Fil ‘main-process.log’ innehĂ„ller information om WhatsApp-programmet.

Underkatalog ‘databases’ innehĂ„ller filen ‘Databases.db’, men denna fil innehĂ„ller ingen information om chattar eller kontakter.

De mest intressanta filerna ur rĂ€ttsmedicinsk synvinkel finns i katalogen ‘Cache’. I huvudsak Ă€r detta filer med namn ‘f_*******’ (dĂ€r * — ett nummer frĂ„n 0 till 9), som innehĂ„ller krypterade multimediafiler och dokument, men bland dem finns ocksĂ„ okrypterade filer. SĂ€rskilt intressanta Ă€r filerna ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’, som finns i samma underkatalog. Filerna ‘data_0’, ‘data_1’, ‘data_3’ innehĂ„ller externa lĂ€nkar till de överförda krypterade multimediafilerna och dokumenten.

Ett exempel pĂ„ information som finns i filen ‘data_1’WhatsApp i handflatan: var och hur kan man upptĂ€cka kriminalistiska artefakter?
Filen ‘data_3’ kan ocksĂ„ innehĂ„lla grafiska filer.

Fil ‘data_2’ innehĂ„ller kontaktavportrĂ€tt (kan Ă„terstĂ€llas genom att söka pĂ„ filrubriker).

AvportrĂ€tt som finns i filen ‘data_2’:

WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
SÄledes kan man inte hitta chattarna direkt pÄ datorn, men man kan hitta:

  • multimediafiler;
  • dokument som överförts via WhatsApp;
  • information om kontoinnehavaren.

WhatsApp-artifakter i MacOS

I MacOS kan man hitta typer av WhatsApp-artifakter liknande dem som finns i Windows.

Programfilerna finns i katalogerna:

  • ‘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 <textvariabel> WhatsApp Accounts’
    I denna katalog finns underkataloger vars namn representerar telefonnummer associerade med WhatsApp-kontoinnehavaren.
  • ‘C:Users%User profile%LibraryCachesWhatsApp.ShipIt’
    I denna katalog finns information om installationen av programmet.
  • ‘C:Users%User profile%PicturesiPhoto-bibliotekMasters’, ‘C:Users%User profile%PicturesiPhoto-bibliotekThumbnails’
    I dessa kataloger finns programmets systemfiler inklusive foton och miniatyrer av WhatsApp-kontakter.
  • ‘C:Users%User profile%LibraryCachesWhatsApp’
    I denna katalog finns flera SQLite-databaser som anvÀnds för att cacha data.
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp’
    I denna katalog finns flera undermappar:

    WhatsApp i handflatan: var och hur kan man upptÀcka kriminalistiska artefakter?
    I kataloget ‘C:Users%User profile%LibraryApplication SupportWhatsAppCache’ finns filer ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’ och filer med namn ‘f_*******’ (dĂ€r * Ă€r en siffra frĂ„n 0 till 9). Informationen om vad dessa filer innehĂ„ller finns beskrivna i avsnittet 'WhatsApp-artefakter i Windows'.

    I kataloget ‘C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB’ kan innehĂ„lla multimediafiler (filerna har inga filĂ€ndelser).

    Fil ‘main-process.log’ innehĂ„ller information om WhatsApp-programmet.

KĂ€llor

  1. Forensisk analys av WhatsApp Messenger pÄ Android-smartphones, av Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Utforskning av filsystem och databaser i Android- och iOS-appar av Ahmad Pratama, 2014.

I de följande artiklarna i denna serie:

Avkodning av krypterade WhatsApp-databaserEn artikel dÀr information ges om hur nyckeln för kryptering av WhatsApp genereras och praktiska exempel ges som visar hur man avkodar krypterade databaser i denna applikation.
Utdragning av WhatsApp-data frÄn molnlagringEn artikel dÀr vi beskriver vilken data WhatsApp lagrar i molnet och metoder för att extrahera denna data frÄn molnlagring.
Utdragning av WhatsApp-data: praktiska exempelEn artikel dÀr vi steg för steg beskriver vilka program som anvÀnds och hur man utför utdragning av WhatsApp-data frÄn olika enheter.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster