WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?

Wilt u weten welke soorten forensische artefacten van WhatsApp er zijn in verschillende besturingssystemen en waar deze kunnen worden aangetroffen? Dan bent u hier aan het juiste adres. In dit artikel opent een specialist van het Group-IB Computer Forensics Lab. Igor Mikhailov de serie publicaties over forensisch onderzoek van WhatsApp en welke informatie kan worden verkregen bij het analyseren van een apparaat.

Laten we meteen opmerken dat in verschillende besturingssystemen verschillende soorten WhatsApp-artefacten worden opgeslagen, en als een onderzoeker bepaalde soorten WhatsApp-gegevens van één apparaat kan extraheren, betekent dit nog niet dat vergelijkbare soorten gegevens van een ander apparaat kunnen worden verkregen. Als bijvoorbeeld een systeemunit wordt gewaykeurd die draait op Windows, zullen op de schijven waarschijnlijk geen WhatsApp-chats worden gevonden (met uitzondering van reservekopieën van iOS-apparaten, die mogelijk op dezelfde opslagmedia kunnen worden aangetroffen). Bij het in beslag nemen van laptops en mobiele apparaten zijn er ook specifieke bijzonderheden. Laten we dit in meer detail bespreken.

WhatsApp-artefacten op een Android-apparaat

Om WhatsApp-artefacten van een apparaat dat draait op Android te extraheren, moet de onderzoeker over superuser-rechten beschikken (‘root’) op het onderzochte apparaat of op een andere manier een fysiek geheugenafbeelding of het bestandssysteem van het apparaat kunnen extraheren (bijvoorbeeld door gebruik te maken van softwarekwetsbaarheden van een specifiek mobiel apparaat).

De applicatiebestanden bevinden zich in het geheugen van de telefoon in de sectie waar de gebruikersgegevens worden opgeslagen. Deze sectie heet doorgaans ‘userdata’. De submappen en bestanden van het programma bevinden zich op het pad: ‘/data/data/com.whatsapp/’.

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
De belangrijkste bestanden die forensische artefacten van WhatsApp op Android bevatten, zijn de databases ‘wa.db’ en ‘msgstore.db’.

In de database ‘wa.db’ staat een volledige lijst van WhatsApp-contacten van de gebruiker, inclusief het telefoonnummer, de weergegeven naam, tijdstempels en andere informatie die bij registratie bij WhatsApp is opgegeven. Het bestand ‘wa.db’ bevindt zich op het pad: ‘/data/data/com.whatsapp/databases/’ en heeft de volgende structuur:

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
De meest interessante tabellen in de database ‘wa.db’ voor de onderzoeker zijn:

  • ‘wa_contacts’
    Deze tabel bevat informatie over contacten: id van het contact in WhatsApp, informatie over de status, weergegeven gebruikersnaam, tijdstempels, enzovoort.

    Tabelweergave:

    WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
    Tabelstructuur

    VeldnaamWaarde
    _idvolgnummer van de record (in de SQL-tabel)
    jidWhatsApp ID van het contact, geschreven in het formaat @s.whatsapp.net
    is_whatsapp_userbevat ‘1’ als het contact overeenkomt met een daadwerkelijk WhatsApp-gebruiker, ‘0’ in andere gevallen
    statusbevat de tekst die wordt weergegeven in de status van het contact
    status_timestampbevat een tijdstempel in Unix Epoch Time (ms)
    numbertelefoonnummer dat aan het contact is gekoppeld
    raw_contact_idvolgnummer van het contact
    display_nameweergegeven naam van het contact
    phone_typetype telefoon
    phone_labellabel dat aan het telefoonnummer van het contact is gekoppeld
    unseen_msg_countaantal berichten die door het contact zijn verzonden maar niet zijn gelezen door de ontvanger
    photo_tsbevat een tijdstempel in Unix Epoch Time
    thumb_tsbevat een tijdstempel in Unix Epoch Time
    photo_id_timestampbevat een tijdstempel in Unix Epoch Time (ms)
    given_namewaarde van het veld komt overeen met ‘display_name’ voor elk contact
    wa_namenaam van het contact in WhatsApp (weergegeven naam zoals aangegeven in het profiel van het contact)
    sort_namenaam van het contact die wordt gebruikt bij sorteeroperaties
    nicknamenickname van het contact in WhatsApp (weergegeven nickname zoals aangegeven in het profiel van het contact)
    companybedrijf (weergegeven bedrijf zoals aangegeven in het profiel van het contact)
    titleaanspreking (mevrouw/meneer; weergegeven aanspreking zoals ingesteld in het profiel van het contact)
    offsetoffset
  • ‘sqlite_sequence’
    Deze tabel bevat informatie over het aantal contacten;
  • ‘android_metadata’
    Deze tabel bevat informatie over de taallokalisatie van WhatsApp.

In de database ‘msgstore.db’ bevat informatie over verzonden berichten, zoals het telefoonnummer van het contact, de tekst van het bericht, de status van het bericht, tijdstempels, en gegevens over bestanden die in berichten zijn verzonden, enzovoort. Bestand ‘msgstore.db’ bevindt zich op het pad: ‘/data/data/com.whatsapp/databases/’ en heeft de volgende structuur:

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
De meest interessante tabellen in het bestand ‘msgstore.db’ voor de onderzoeker zijn:

  • ‘sqlite_sequence’
    Deze tabel bevat algemene informatie over deze database, zoals het totale aantal opgeslagen berichten, het totale aantal chats, enzovoort.

    Tabelweergave:

    WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?

  • ‘message_fts_content’
    Bevat de tekst van verzonden berichten.

    Tabelweergave:

    WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?

  • ‘messages’
    Deze tabel bevat informatie zoals het telefoonnummer van het contact, de tekst van het bericht, de status van het bericht, tijdstempels, en gegevens over bestanden die in berichten zijn verzonden.

    Tabelweergave:

    WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
    Tabelstructuur

    VeldnaamWaarde
    _idvolgnummer van de record (in de SQL-tabel)
    key_remote_jidWhatsApp ID van de communicatiepartner
    key_from_meberichtrichting: ‘0’ – inkomend, ‘1’ — uitgaand
    key_idunieke identificatie van het bericht
    statusBerichtstatus: ‘0’ – afgeleverd, ‘4’ – in afwachting op de server, ‘5’ – ontvangen op de bestemming, ‘6’ – controlebericht, ‘13’ – bericht geopend door de ontvanger (gelezen)
    need_pushis ‘2’ als dit een broadcastbericht is, anders bevat het ‘0’
    databerichttekst (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘0’)
    timestampbevat een tijdstempel in Unix Epoch-tijdformaat (ms), de waarde wordt verkregen uit de klok van het apparaat
    media_urlbevat de URL van het verzonden bestand (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘1’, ‘2’, ‘3’)
    media_mime_typeMIME-type van het verzonden bestand (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘1’, ‘2’, ‘3’)
    media_wa_typeberichttype: ‘0’ – tekst, ‘1’ – afbeeldingsbestand, ‘2’ – audiobestand, ‘3’ – videobestand, ‘4’ – contactkaart, ‘5’ – geografische gegevens
    media_sizegrootte van het verzonden bestand (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘1’, ‘2’, ‘3’)
    media_namenaam van het verzonden bestand (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘1’, ‘2’, ‘3’)
    media_captionBevat de woorden ‘audio’, ‘video’ voor de overeenkomstige waarden van de parameter ‘media_wa_type’ (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘1’, ‘3’)
    media_hashgecodeerde base64-hash van het verzonden bestand, berekend met het HAS-256-algoritme (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘1’, ‘2’, ‘3’)
    media_durationduur in seconden voor het mediabestand (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘1’, ‘2’, ‘3’)
    oorsprongis ‘2’ als dit een broadcastbericht is, anders bevat het ‘0’
    latitudegeografische gegevens: breedtegraad (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘5’)
    longitudegeografische gegevens: lengtegraad (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘5’)
    thumb_imageservice-informatie
    remote_recourceID van de afzender (alleen voor groepschats)
    received_timestampontvangsttijd, bevat een tijdstempel in Unix Epoch-tijdformaat (ms), de waarde wordt verkregen uit de klok van het apparaat (wanneer de parameter ‘key_from_me’ gelijk is aan ‘0’, ‘-1’ of een andere waarde)
    send_timestampwordt niet gebruikt, heeft meestal de waarde ‘-1’
    receipt_server_timestampontvangsttijd door de centrale server, bevat een tijdstempel in Unix Epoch-tijdformaat (ms), de waarde wordt verkregen uit de klok van het apparaat (wanneer de parameter ‘key_from_me’ gelijk is aan ‘1’, ‘-1’ of een andere waarde
    receipt_device_timestampontvangsttijd van het bericht door een andere abonnee, bevat een tijdstempel in Unix Epoch-tijdformaat (ms), de waarde wordt verkregen uit de klok van het apparaat (wanneer de parameter ‘key_from_me’ gelijk is aan ‘1’, ‘-1’ of een andere waarde
    read_device_timestampde tijd van het openen (lezen) van het bericht, bevat een tijdsaanduiding in het Unix Epoch Time-formaat (ms), de waarde wordt uit de klok van het apparaat gehaald
    played_device_timestampde tijd van het afspelen van het bericht, bevat een tijdsaanduiding in het Unix Epoch Time-formaat (ms), de waarde wordt uit de klok van het apparaat gehaald
    raw_datade miniatuur van het verzonden bestand (wanneer de parameter ‘media_wa_type’ gelijk is aan ‘1’ of ‘3’)
    recipient_counthet aantal ontvangers (voor broadcastberichten)
    participant_hashwordt gebruikt bij het verzenden van berichten met geografische gegevens
    starredniet gebruikt
    quoted_row_idonbekend, bevat meestal de waarde ‘0’
    mentioned_jidsniet gebruikt
    multicast_idniet gebruikt
    offsetoffset

    Deze lijst met velden is niet uitputtend. Voor verschillende versies van WhatsApp kunnen sommige velden aanwezig of afwezig zijn. Daarnaast kunnen er extra velden aanwezig zijn ‘media_enc_hash’, ‘edit_version’, ‘payment_transaction_id’ enzovoorts.

  • ‘messages_thumbnails’
    Deze tabel bevat informatie over verzonden afbeeldingen en tijdsaanduidingen. In de kolom ‘timestamp’ is de tijd aangegeven in het Unix Epoch Time-formaat (ms).
  • ‘chat_list’
    Deze tabel bevat informatie over chats.

    Tabelweergave:

    WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?

Bij het onderzoeken van WhatsApp op een mobiel apparaat met Android moet ook op de volgende bestanden worden gelet:

  • Bestand ‘msgstore.db.cryptXX’ (waarbij XX een of twee cijfers van 0 tot 12 is, bijvoorbeeld msgstore.db.crypt12). Bevat een versleutelde back-up van WhatsApp-berichten (de back-up van het bestand msgstore.db). Het bestand (of bestanden) ‘msgstore.db.cryptXX’ bevindt zich op het pad: ‘/data/media/0/WhatsApp/Databases/’ (virtuele SD-kaart), ‘/mnt/sdcard/WhatsApp/Databases/ (fysieke SD-kaart)’.
  • Bestand ‘key’. Bevat de cryptografische sleutel. Bevindt zich op het pad: ‘/data/data/com.whatsapp/files/’. Wordt gebruikt voor het ontsleutelen van versleutelde WhatsApp-back-ups.
  • Bestand ‘com.whatsapp_preferences.xml’. Bevat informatie over het WhatsApp-accountprofiel. Het bestand bevindt zich op het pad: ‘/data/data/com.whatsapp/shared_prefs/’.

    Fragment van de inhoud van het bestand

    …
    9123456789 (telefoonnummer dat aan het WhatsApp-account is gekoppeld)
    …
    2.17.395 (versie van WhatsApp)
    …
    Hey there! I am using WhatsApp. (bericht dat in de status van het account wordt weergegeven)
    …
    Alex (naam van de eigenaar van het account)
    … 
  • Bestand ‘registration.RegisterPhone.xml’. Bevat informatie over het telefoonnummer dat aan het WhatsApp-account is gekoppeld. Het bestand bevindt zich op het pad: ‘/data/data/com.whatsapp/shared_prefs/’.

    De inhoud van het bestand

    
    9123456789
    
    
    912 345-67-89
    
    7
    7
    
  • Bestand ‘axolotl.db’. Bevat cryptografische sleutels en andere gegevens die nodig zijn voor de identificatie van de account eigenaar. Gevonden op het pad: ‘/data/data/com.whatsapp/databases/’.
  • Bestand ‘chatsettings.db’. Bevat informatie over de configuratie van de applicatie.
  • Bestand ‘wa.db’. Bevat details van contacten. Een zeer interessante (in forensisch perspectief) en informatieve database. Hierin kan gedetailleerde informatie gevonden worden over verwijderde contacten.

Daarnaast moet ook aandacht besteed worden aan de volgende mappen:

  • Map ‘/data/media/0/WhatsApp/Media/WhatsApp Images/’. Bevat verzonden grafische bestanden.
  • Map ‘/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/’. Bevat spraakberichten in .OPUS-bestanden.
  • Map ‘/data/data/com.whatsapp/cache/Profile Pictures/’. Bevat grafische bestanden - afbeeldingen van contacten.
  • Map ‘/data/data/com.whatsapp/files/Avatars/’. Bevat grafische bestanden - miniaturen van contactafbeeldingen. Deze bestanden hebben een ‘.j’ extensie, maar zijn desondanks grafische bestanden in JPEG-formaat (JPG).
  • Map ‘/data/data/com.whatsapp/files/Avatars/’. Bevat grafische bestanden - afbeelding en miniatuur van de afbeelding die door de account eigenaar is ingesteld als avatar.
  • Map ‘/data/data/com.whatsapp/files/Logs/’. Bevat een logboek van de werkzaamheden van het programma (bestand ‘whatsapp.log’) en back-ups van de logs (bestanden met namen in het formaat whatsapp-jjjj-mm-dd.1.log.gz).

WhatsApp logboeken:

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
Logfragment2017-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] wachtwoordbestand ontbreekt of is niet leesbaar
2017-01-10 09:37:09.782 LL_I D [1:main] statistieken Tekstberichten: 59 verzonden, 82 ontvangen / Media Berichten: 1 verzonden (0 bytes), 0 ontvangen (9850158 bytes) / Offline Berichten: 81 ontvangen (19522 msec gemiddelde vertraging) / Berichten Service: 116075 bytes verzonden, 211729 bytes ontvangen / Voip Oproepen: 1 uitgaande oproepen, 0 binnenkomende oproepen, 2492 bytes verzonden, 1530 bytes ontvangen / Google Drive: 0 bytes verzonden, 0 bytes ontvangen / Roaming: 1524 bytes verzonden, 1826 bytes ontvangen / Totale Gegevens: 118567 bytes verzonden, 10063417 bytes ontvangen
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

  • Map ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/’. Bevat ontvangen audiobestanden.
  • Map ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/’. Bevat verzonden audiobestanden.
  • Map ‘/data/media/0/WhatsApp/Media/WhatsApp Images/’. Bevat ontvangen afbeeldingsbestanden.
  • Map ‘/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/’. Bevat verzonden afbeeldingsbestanden.
  • Map ‘/data/media/0/WhatsApp/Media/WhatsApp Video/’. Bevat ontvangen videobestanden.
  • Map ‘/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/’. Bevat verzonden videobestanden.
  • Map ‘/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/’. Bevat afbeeldingsbestanden die geassocieerd zijn met de eigenaar van het WhatsApp-account.
  • Om ruimte te besparen op de interne opslag van Android-smartphones, kunnen sommige WhatsApp-gegevens op de SD-kaart worden opgeslagen. Op de SD-kaart bevindt zich in de rootmap de map ‘WhatsApp’, waar de volgende artefacten van dit programma kunnen worden gevonden:

    WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?

  • Map ‘.Share’ (‘/mnt/sdcard/WhatsApp/.Share/’). Bevat kopieën van bestanden die naar andere WhatsApp-gebruikers zijn verzonden.
  • Map ‘.trash’ (‘/mnt/sdcard/WhatsApp/.trash/’). Bevat verwijderde bestanden.
  • Map ‘Databases’ (‘/mnt/sdcard/WhatsApp/Databases/’). Bevat versleutelde back-ups. Deze kunnen worden ontsleuteld met een bestand ‘key’, dat uit het geheugen van het geanalyseerde apparaat is gehaald.

    Bestanden die zich in de submap bevinden ‘Databases’:

    WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?

  • Map ‘Media’ (‘/mnt/sdcard/WhatsApp/Media/’). Bevat submappen ‘WallPaper’, ‘WhatsApp Audio’, ‘WhatsApp Afbeeldingen’, ‘WhatsApp Profiel Foto's’, ‘WhatsApp Video’, ‘WhatsApp Stemnotities’, waarin de ontvangen en verzonden multimedia bestanden (afbeeldingsbestanden, videobestanden, spraakberichten, foto's, geassocieerd met het profiel van de WhatsApp-accounthouder, achtergronden) zijn opgeslagen.
  • Map ‘Profiel Foto's’ (‘/mnt/sdcard/WhatsApp/Profile Pictures/’). Bevat afbeeldingsbestanden die geassocieerd zijn met het profiel van de WhatsApp-accounthouder.
  • Soms kan er een map op de SD-kaart zijn ‘files’ (‘/mnt/sdcard/WhatsApp/Files/’). In deze map staan bestanden opgeslagen met programmavoorkeuren en gebruikersinstellingen.

Kenmerken van gegevensopslag op sommige modellen mobiele apparaten

Op sommige modellen mobiele apparaten die draaien op het Android-systeem kunnen WhatsApp-artifacten op een andere locatie worden opgeslagen. Dit wordt veroorzaakt door veranderingen in de gegevensopslagruimte van applicaties door de systeemsoftware van het mobiele apparaat. Bijvoorbeeld, op mobiele apparaten van Xiaomi is er een functie voor het creëren van een tweede werkruimte (‘SecondSpace’). Wanneer deze functie wordt geactiveerd, verandert de locatie van de gegevens. Zo, als op een normaal mobiel apparaat met Android de gebruikersgegevens worden opgeslagen in de map ‘/data/user/0/’ (wat verwijst naar de gebruikelijke ‘/data/data/’), dan worden in de tweede werkruimte de gegevens van de applicaties opgeslagen in de map ‘/data/user/10/’. Dus, aan de hand van de locatie van het bestand ‘wa.db’:

  • op een gewone smartphone die draait op Android: /data/user/0/com.whatsapp/databases/wa.db’ (wat gelijkstaat aan ‘/data/data/com.whatsapp/databases/wa.db’);
  • in de tweede werkruimte van de Xiaomi-smartphone: ‘/data/user/10/com.whatsapp/databases/wa.db’.

WhatsApp-artifacten in iOS-apparaten

In tegenstelling tot Android, worden de gegevens van de WhatsApp-app in iOS overgebracht naar een back-up (iTunes-back-up). Daarom vereist het extraheren van de gegevens van deze applicatie geen toegang tot het bestandssysteem of het maken van een fysieke geheugen dump van het onderzochte apparaat. Het grootste deel van de relevante informatie is opgeslagen in de database ‘ChatStorage.sqlite’, die zich bevindt op het pad: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/’ (in sommige programma's wordt dit pad weergegeven als ‘AppDomainGroup-group.net.whatsapp.WhatsApp.shared’).

Structuur ‘ChatStorage.sqlite’:

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
De meest informatieve tabellen in de database ‘ChatStorage.sqlite’ zijn ‘ZWAMESSAGE’ en ‘ZWAMEDIAITEM’.

Uiterlijk van de tabel ‘ZWAMESSAGE’:

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
Structuur van de tabel ‘ZWAMESSAGE’

VeldnaamWaarde
Z_PKvolgnummer van de record (in de SQL-tabel)
Z_ENTtabelidentificatie, heeft de waarde ‘9’
Z_OPTonbekend, bevat meestal waarden van ‘1’ tot ‘6’
ZCHILDMESSAGESDELIVEREDCOUNTonbekend, bevat meestal de waarde ‘0’
ZCHILDMESSAGESPLAYEDCOUNTonbekend, bevat meestal de waarde ‘0’
ZCHILDMESSAGESREADCOUNTonbekend, bevat meestal de waarde ‘0’
ZDATAITEMVERSIONonbekend, bevat meestal de waarde ‘3’, is waarschijnlijk een aanwijzer voor het tekstbericht
ZDOCIDonbekend
ZENCRETRYCOUNTonbekend, bevat meestal de waarde ‘0’
ZFILTEREDRECIPIENTCOUNTonbekend, bevat meestal waarden ‘0’, ‘2’, ‘256’
ZISFROMMEberichtrichting: ‘0’ – inkomend, ‘1’ — uitgaand
ZMESSAGEERRORSTATUSstatus van de berichtoverdracht. Als het bericht is verzonden/ontvangen, heeft het de waarde ‘0’
ZMESSAGETYPEtype van het verzonden bericht
ZSORTonbekend
ZSPOTLIGHSTATUSonbekend
ZSTARREDonbekend, niet gebruikt
ZCHATSESSIONonbekend
ZGROUPMEMBERonbekend, niet gebruikt
ZLASTSESSIONonbekend
ZMEDIAITEMonbekend
ZMESSAGEINFOonbekend
ZPARENTMESSAGEonbekend, niet gebruikt
ZMESSAGEDATEtijdstempel in het OS X Epoch-tijdformaat
ZSENTDATEtijd van verzending van het bericht in het OS X Epoch-tijdformaat
ZFROMJIDWhatsApp ID van de afzender
ZMEDIASECTIONIDbevat jaar en maand van verzending van het mediabestand
ZPHASHonbekend, niet gebruikt
ZPUSHPAMEnaam van de contactpersoon die het mediabestand heeft verzonden in UTF-8-formaat
ZSTANZIDunieke identificatie van het bericht
ZTEXTbericht tekst
ZTOJIDWhatsApp ID van de ontvanger
OFFSEToffset

Uiterlijk van de tabel ‘ZWAMEDIAITEM’:

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
Structuur van de tabel ‘ZWAMEDIAITEM’

VeldnaamWaarde
Z_PKvolgnummer van de record (in de SQL-tabel)
Z_ENTtabelidentificatie, heeft de waarde ‘8’
Z_OPTonbekend, bevat meestal waarden van ‘1’ tot ‘3’.
ZCLOUDSTATUSbevat de waarde ‘4’ als het bestand is geüpload.
ZFILESIZEbevat de bestandsgrootte (in bytes) voor geüploade bestanden
ZMEDIAORIGINonbekend, bevat meestal de waarde ‘0’
ZMOVIEDURATIONduur van het mediabestand, kan voor pdf-bestanden het aantal pagina's van het document bevatten
ZMESSAGEbevat het volgnummer (nummer verschilt van dat in de kolom ‘Z_PK’)
ZASPECTRATIOaspectverhouding, niet gebruikt, bevat meestal de waarde ‘0’
ZHACCURACYonbekend, bevat meestal de waarde ‘0’
ZLATTITUDEbreedte in pixels
ZLONGTITUDEhoogte in pixels
ZMEDIAURLDATEtijdstempel in het OS X Epoch-tijdformaat
ZAUTHORNAMEauteur (voor documenten kan dit de bestandsnaam bevatten)
ZCOLLECTIONNAMEniet gebruikt
ZMEDIALOCALPATHbestandsnaam (met pad) in het bestandssysteem van het apparaat
ZMEDIAURLURL waar het mediabestand zich bevond. Als het bestand van de ene abonnee naar de andere werd verzonden, werd het versleuteld en de extensie zal worden aangegeven als de extensie van het verzonden bestand — .enc
ZTHUMBNAILLOCALPATHpad naar de miniatuur van het bestand in het bestandssysteem van het apparaat
ZTITLEbestandsnaam
ZVCARDNAMEhash van het mediabestand, kan bij verzending naar een groep de identificatie van de verzender bevatten
ZVCARDSTRINGbevat informatie over het type verzonden bestand (bijvoorbeeld image/jpeg), kan bij verzending naar een groep de identificatie van de ontvanger bevatten
ZXMPPTHUMBPATHpad naar de miniatuur van het bestand in het bestandssysteem van het apparaat
ZMEDIAKEYonbekend, waarschijnlijk bevat het een sleutel voor het decoderen van het versleutelde bestand.
ZMETADATAmetadata van het verzonden bericht
Offsetoffset

Andere interessante database tabellen ‘ChatStorage.sqlite’ zijn:

  • ‘ZWAPROFILEPUSHNAME’. Koppelt WhatsApp ID aan de naam van de contactpersoon;
  • ‘ZWAPROFILEPICTUREITEM’. Koppelt WhatsApp ID aan de profielfoto van de contactpersoon;
  • ‘Z_PRIMARYKEY’. De tabel bevat algemene informatie over deze database, zoals het totale aantal opgeslagen berichten, het totale aantal chats, enz.

Bij het onderzoeken van WhatsApp op een mobiel apparaat met iOS moet ook op de volgende bestanden gelet worden:

  • Bestand ‘BackedUpKeyValue.sqlite’. Bevat cryptografische sleutels en andere gegevens die nodig zijn voor de identificatie van de account eigenaar. Gevonden op het pad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Bestand ‘ContactsV2.sqlite’. Bevat informatie over de contactpersonen van de gebruiker, zoals volledige naam, telefoonnummer, status van de contactpersoon (in tekst), WhatsApp ID, enz. Geplaatst op het pad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Bestand ‘consumer_version’. Bevat het versienummer van de geïnstalleerde WhatsApp-app. Geplaatst op het pad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Bestand ‘current_wallpaper.jpg’. Bevat de huidige achtergrondafbeelding van de WhatsApp-app. Geplaatst op het pad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. In oudere versies van de app wordt het bestand gebruikt ‘wallpaper’, dat zich bevindt op het pad: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’.
  • Bestand ‘blockedcontacts.dat’. Bevat informatie over geblokkeerde contacten. Geplaatst op het pad: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • Bestand ‘pw.dat’. Bevat het versleutelde wachtwoord. Geplaatst op het pad: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/’.
  • Bestand ‘net.whatsapp.WhatsApp.plist’ (of het bestand ‘group.net.whatsapp.WhatsApp.shared.plist’). Bevat informatie over het WhatsApp-accountprofiel. Het bestand bevindt zich op het pad: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/’.

De inhoud van het bestand ‘group.net.whatsapp.WhatsApp.shared.plist’ WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
Daarnaast moet ook aandacht besteed worden aan de volgende mappen:

  • Map ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/’. Bevat miniaturen van contacten, groepen (bestanden met de extensie .thumb), profielfoto's van contacten, profielfoto van de WhatsApp-accounthouder (bestand ‘Photo.jpg’).
  • Map ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/’. Bevat multimedia bestanden en hun miniaturen
  • Map ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’. Bevat een logboek van de applicatie (bestand ‘calls.log’) en back-ups van de logboeken van de applicatie (bestand ‘calls.backup.log’).
  • Map ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/’. Bevat stickers (bestanden in het formaat ‘.webp’).
  • Map ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/’. Bevat logboeken van de applicatie.

WhatsApp-artifacten in Windows

WhatsApp-artifacten in Windows kunnen op verschillende plaatsen worden gevonden. In de eerste plaats zijn dit de mappen die uitvoerbare en ondersteunende bestanden van de applicatie bevatten (voor Windows 8/10):

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

In de map ‘C:Users%User profile% AppDataLocalWhatsApp’ bevindt zich een logbestand ‘SquirrelSetup.log’, waarin informatie over de controle op updates en de installatie van het programma te vinden is.

In de map ‘C:Users%User profile% AppDataRoamingWhatsApp’ bevindt zich meerdere submappen:

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
Bestand ‘main-process.log’ bevat informatie over de werking van het WhatsApp-programma.

Submap ‘databases’ bevat het bestand ‘Databases.db’, maar dit bestand bevat geen informatie over chats of contacten.

Van forensisch belang zijn de bestanden die zich in de map bevinden ‘Cache’. Dit zijn voornamelijk bestanden met namen ‘f_*******’ (waarbij * een getal van 0 tot 9 is), die versleutelde multimedia-bestanden en documenten bevatten, maar er zijn ook onvercijferde bestanden tussen. Bijzondere interesse wekken de bestanden ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’, die zich in dezelfde submap bevinden. Bestanden ‘data_0’, ‘data_1’, ‘data_3’ bevatten externe links naar de verzonden versleutelde multimedia-bestanden en documenten.

Een voorbeeld van de informatie die in het bestand ‘data_1’ is opgenomenWhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
Kan ook het bestand ‘data_3’ grafische bestanden bevatten.

Bestand ‘data_2’ bevat de profielfoto's van contacten (kunnen worden hersteld door te zoeken op de bestandsnamen).

De profielfoto's die in het bestand zijn opgenomen ‘data_2’:

WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
Daarom kunnen de chats niet op de computer worden gevonden, maar kunnen de volgende elementen worden aangetroffen:

  • multimedia-bestanden;
  • documenten die via WhatsApp zijn verzonden;
  • informatie over de contacten van de accounteigenaar.

WhatsApp-artifacten in MacOS

In MacOS zijn er soortgelijke soorten WhatsApp-artifacten te vinden als in Windows.

De programmabestanden bevinden zich in de mappen:

  • ‘C:ApplicationsWhatsApp.app’
  • ‘C:Applications._WhatsApp.app’
  • ‘C:Users%User profile%LibraryPreferences’
  • ‘C:Users%User profile%LibraryLogsWhatsApp’
  • ‘C:Users%User profile%LibrarySaved Application StateWhatsApp.savedState’
  • ‘C:Users%User profile%LibraryApplication Scripts’
  • ‘C:Users%User profile%LibraryApplication SupportCloudDocs’
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp.ShipIt’
  • ‘C:Users%User profile%LibraryContainerscom.rockysandstudio.app-for-whatsapp’
  • ‘C:Users%User profile% Library Mobile Documents WhatsApp Accounts’
    In deze map bevinden zich submappen waarvan de namen overeenkomen met de telefoonnummers die zijn gekoppeld aan de WhatsApp-account van de eigenaar.
  • ‘C:Users%User profile%LibraryCachesWhatsApp.ShipIt’
    In deze map bevindt zich informatie over de installatie van het programma.
  • ‘C:Users%User profile%PicturesMediatheek iPhoto.photolibraryMasters’, ‘C:Users%User profile%PicturesMediatheek iPhoto.photolibraryThumbnails’
    In deze mappen bevinden zich systeem- en andere bestanden van de applicatie, waaronder foto's en miniaturen van WhatsApp-contacten.
  • ‘C:Users%User profile%LibraryCachesWhatsApp’
    In deze map zijn verschillende SQLite-databases te vinden die worden gebruikt voor het cachen van gegevens.
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp’
    In deze map bevinden zich verschillende submappen:

    WhatsApp in je handpalm: waar en hoe criminologische artefacten ontdekt kunnen worden?
    In de map ‘C:Users%User profile%LibraryApplication SupportWhatsAppCache’ bevatten bestanden ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’ en bestanden met namen ‘f_*******’ (waar * een getal van 0 tot 9 is). Informatie over de inhoud van deze bestanden is beschreven in het gedeelte 'WhatsApp-artefacten in Windows'.

    In de map ‘C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB’ kunnen multimedia-bestanden bevatten (bestanden hebben geen extensies).

    Bestand ‘main-process.log’ bevat informatie over de werking van het WhatsApp-programma.

Bronnen

  1. Forensische analyse van WhatsApp Messenger op Android-smartphones, door Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Verkenning van bestandssystemen en databases op de Android- en iOS-applicatie door Ahmad Pratama, 2014.

In de volgende artikelen in deze serie:

Decryptie van versleutelde WhatsApp-databasesEen artikel waarin we informatie geven over hoe de encryptiesleutel van WhatsApp wordt gegenereerd en praktische voorbeelden geven van hoe de versleutelde databases van deze applicatie kunnen worden gedecodeerd.
Gegevensextractie van WhatsApp uit cloudopslagEen artikel waarin we uitleggen welke gegevens van WhatsApp in de cloud worden opgeslagen en de methoden beschrijven voor het extraheren van deze gegevens uit cloudopslagdiensten.
WhatsApp-gegevensextractie: praktische voorbeeldenEen artikel waarin stap voor stap wordt uitgelegd met welke programma's en hoe je WhatsApp-gegevens uit verschillende apparaten kunt extraheren.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster