WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?

Als je wilt weten welke soorten forensische WhatsApp-artefacten er op verschillende besturingssystemen bestaan ​​en waar ze precies te vinden zijn, dan is dit de plek voor jou. Dit artikel is afkomstig van een specialist van het Group-IB Computer Forensics Laboratory Igor Michajlov begint een reeks berichten over WhatsApp-forensisch onderzoek en welke informatie kan worden verkregen door het analyseren van het apparaat.

Laten we meteen opmerken dat verschillende besturingssystemen verschillende soorten WhatsApp-artefacten opslaan, en als een onderzoeker bepaalde soorten WhatsApp-gegevens van het ene apparaat kan extraheren, betekent dit niet dat vergelijkbare soorten gegevens van een ander apparaat kunnen worden geΓ«xtraheerd. Als bijvoorbeeld een systeemeenheid met Windows OS wordt verwijderd, zullen WhatsApp-chats waarschijnlijk niet op de schijven worden gevonden (met uitzondering van back-ups van iOS-apparaten, die op dezelfde schijven te vinden zijn). De inbeslagname van laptops en mobiele apparaten zal zijn eigen kenmerken hebben. Laten we hier meer in detail over praten.

WhatsApp-artefacten op Android-apparaat

Om WhatsApp-artefacten van een Android-apparaat te kunnen extraheren, moet de onderzoeker over superuser-rechten beschikken ('wortel') op het onderzochte apparaat of op een andere manier een fysieke geheugendump van het apparaat of het bestandssysteem ervan kunnen extraheren (bijvoorbeeld met behulp van softwarekwetsbaarheden van een specifiek mobiel apparaat).

Applicatiebestanden bevinden zich in het geheugen van de telefoon, in de sectie waarin gebruikersgegevens worden opgeslagen. In de regel wordt deze sectie genoemd 'gebruikersgegevens'. Submappen en programmabestanden bevinden zich langs het pad: '/data/data/com.whatsapp/'.

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
De belangrijkste bestanden die forensische WhatsApp-artefacten in het Android-besturingssysteem bevatten, zijn databases 'wa.db' ΠΈ 'msgstore.db'.

In de database 'wa.db' bevat de volledige contactenlijst van een WhatsApp-gebruiker, inclusief telefoonnummer, weergavenaam, tijdstempels en alle andere informatie die wordt verstrekt tijdens de registratie voor WhatsApp. Bestand 'wa.db' gelegen langs het pad: '/data/data/com.whatsapp/databases/' en heeft de volgende structuur:

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
De meest interessante tabellen in de database 'wa.db' voor de onderzoeker zijn:

  • 'wa_contacten'
    Deze tabel bevat contactgegevens: WhatsApp-contact-ID, statusinformatie, weergavenaam van de gebruiker, tijdstempels, enz.

    Tafeluiterlijk:

    WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
    Tabelstructuur

    Veldnaam Waarde
    _ID kaart recordvolgnummer (in SQL-tabel)
    jid WhatsApp-contact-ID, geschreven in de notatie <telefoonnummer>@s.whatsapp.net
    is_whatsapp_user bevat '1' als het contact overeenkomt met een daadwerkelijke WhatsApp-gebruiker, anders '0'
    toestand bevat de tekst die wordt weergegeven in de contactstatus
    status_tijdstempel bevat een tijdstempel in Unix Epoch Time (ms) formaat
    aantal telefoonnummer dat aan het contact is gekoppeld
    raw_contact_id neem contact op met het serienummer
    display_name weergavenaam contactpersoon
    telefoon type telefoon type
    telefoon_label label dat aan het contactnummer is gekoppeld
    unseen_msg_count aantal berichten dat door een contactpersoon is verzonden, maar niet door de ontvanger is gelezen
    foto_ts bevat een tijdstempel in Unix Epoch Time-formaat
    duim_ts bevat een tijdstempel in Unix Epoch Time-formaat
    foto_id_tijdstempel bevat een tijdstempel in Unix Epoch Time (ms) formaat
    gegeven naam veldwaarde komt overeen met 'display_name' voor elk contact
    wa_naam WhatsApp-contactnaam (de naam die is opgegeven in het profiel van het contact wordt weergegeven)
    sorteernaam contactnaam die wordt gebruikt bij sorteerbewerkingen
    bijnaam de bijnaam van het contact in WhatsApp (de bijnaam die is opgegeven in het profiel van het contact wordt weergegeven)
    afstand bedrijf (het bedrijf dat is opgegeven in het profiel van de contactpersoon wordt weergegeven)
    titel titel (Mevrouw/Mr.; titel geconfigureerd in het contactprofiel wordt weergegeven)
    compenseren vooroordeel
  • '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 contactnummer, berichttekst, berichtstatus, tijdstempels, details van overgedragen bestanden die in berichten zijn opgenomen, enz. Bestand 'msgstore.db' gelegen langs het pad: '/data/data/com.whatsapp/databases/' en heeft de volgende structuur:

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
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 totaal aantal opgeslagen berichten, het totaal aantal chats, etc.

    Tafeluiterlijk:

    WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?

  • 'bericht_fts_content'
    Bevat de tekst van verzonden berichten.

    Tafeluiterlijk:

    WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?

  • 'berichten'
    Deze tabel bevat informatie zoals contactnummer, berichttekst, berichtstatus, tijdstempels en informatie over overgedragen bestanden die in berichten zijn opgenomen.

    Tafeluiterlijk:

    WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
    Tabelstructuur

    Veldnaam Waarde
    _ID kaart recordvolgnummer (in SQL-tabel)
    key_remote_jid WhatsApp ID van communicatiepartner
    sleutel_van_mij berichtrichting: '0' – inkomend, '1' – uitgaand
    KEY_ID unieke berichtidentificatie
    toestand berichtstatus: '0' – afgeleverd, '4' – wachtend op de server, '5' – ontvangen op bestemming, '6' – controlebericht, '13' – bericht geopend door de ontvanger (gelezen)
    noodzaak_push heeft de waarde '2' als het een broadcastbericht is, bevat anders '0'
    gegevens berichttekst (wanneer de parameter 'media_wa_type' '0' is)
    tijdstempel bevat een tijdstempel in Unix Epoch Time (ms)-formaat, de waarde wordt overgenomen van de apparaatklok
    media_url bevat de URL van het overgedragen bestand (wanneer de parameter 'media_wa_type' '1', '2', '3' is)
    media_mime_type MIME-type van het overgedragen bestand (wanneer de parameter 'media_wa_type' gelijk is aan '1', '2', '3')
    media_wa_type berichttype: '0' - tekst, '1' - grafisch bestand, '2' - audiobestand, '3' - videobestand, '4' - contactkaart, '5' - geodata
    mediagrootte grootte van het overgedragen bestand (wanneer de parameter 'media_wa_type' '1', '2', '3' is)
    medianaam naam van het overgedragen bestand (wanneer de parameter 'media_wa_type' '1', '2', '3' is)
    media_bijschrift Bevat de woorden 'audio', 'video' voor de overeenkomstige waarden van de parameter 'media_wa_type' (wanneer de parameter 'media_wa_type' '1', '3' is)
    media_hash base64-gecodeerde hash van het verzonden bestand, berekend met behulp van het HAS-256-algoritme (wanneer de parameter 'media_wa_type' gelijk is aan '1', '2', '3')
    media_duur duur in seconden voor het mediabestand (wanneer 'media_wa_type' '1', '2', '3' is)
    herkomst heeft de waarde '2' als het een broadcastbericht is, bevat anders '0'
    breedte geodata: breedtegraad (wanneer de parameter 'media_wa_type' '5' is)
    lengte geodata: lengtegraad (wanneer de parameter 'media_wa_type' '5' is)
    duim_afbeelding dienstinformatie
    externe_bron Afzender-ID (alleen voor groepschats)
    ontvangen_tijdstempel tijdstip van ontvangst, bevat een tijdstempel in Unix Epoch Time (ms)-formaat, de waarde wordt overgenomen van de apparaatklok (wanneer de parameter 'key_from_me' '0', '-1' of een andere waarde heeft)
    verzend_tijdstempel niet gebruikt, heeft meestal de waarde '-1'
    ontvangst_server_tijdstempel tijd ontvangen door de centrale server, bevat een tijdstempel in Unix Epoch Time (ms) formaat, de waarde wordt overgenomen van de apparaatklok (wanneer de parameter 'key_from_me' '1', '-1' of een andere waarde heeft
    ontvangst_apparaat_tijdstempel tijd waarop het bericht werd ontvangen door een andere abonnee, bevat een tijdstempel in Unix Epoch Time (ms) formaat, de waarde wordt overgenomen van de apparaatklok (wanneer de parameter 'key_from_me' '1', '-1' of een andere waarde heeft
    lees_apparaat_tijdstempel tijdstip waarop het bericht wordt geopend (gelezen), bevat een tijdstempel in Unix Epoch Time (ms)-formaat, de waarde wordt overgenomen van de apparaatklok
    afgespeelde_apparaat_tijdstempel afspeeltijd van bericht, bevat een tijdstempel in Unix Epoch Time (ms)-formaat, de waarde wordt overgenomen van de apparaatklok
    ruwe data miniatuur van het overgedragen bestand (wanneer de parameter 'media_wa_type' '1' of '3' is)
    ontvanger_telling aantal ontvangers (voor uitgezonden berichten)
    deelnemer_hash gebruikt bij het verzenden van berichten met geodata
    starred niet gebruikt
    geciteerde_rij_id onbekend, bevat meestal de waarde '0'
    genoemde_jids niet gebruikt
    multicast_id niet gebruikt
    compenseren vooroordeel

    Deze lijst met velden is niet uitputtend. Voor verschillende versies van WhatsApp kunnen sommige velden aanwezig of afwezig zijn. Bovendien kunnen er velden aanwezig zijn 'media_enc_hash', 'bewerk_versie', 'betalingstransactie_id' etc.

  • 'berichten_miniaturen'
    Deze tabel bevat informatie over overgedragen afbeeldingen en tijdstempels. In de kolom 'timestamp' wordt de tijd aangegeven in Unix Epoch Time (ms) formaat.
  • 'chat_lijst'
    Deze tabel bevat informatie over chats.

    Tafeluiterlijk:

    WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?

Wanneer u WhatsApp onderzoekt op een mobiel apparaat met Android, moet u ook op de volgende bestanden letten:

  • file 'msgstore.db.cryptXX' (waarbij XX een of twee cijfers van 0 tot 12 is, bijvoorbeeld msgstore.db.crypt12). Bevat een gecodeerde back-up van WhatsApp-berichten (back-upbestand msgstore.db). Bestand(en) 'msgstore.db.cryptXX' gelegen langs het pad: '/data/media/0/WhatsApp/Databases/' (virtuele SD-kaart), '/mnt/sdcard/WhatsApp/Databases/ (fysieke SD-kaart)'.
  • file 'sleutel'. Bevat een cryptografische sleutel. Gelegen langs het pad: '/data/data/com.whatsapp/files/'. Wordt gebruikt om gecodeerde WhatsApp-back-ups te decoderen.
  • file 'com.whatsapp_preferences.xml'. Bevat informatie over uw WhatsApp-accountprofiel. Het bestand bevindt zich langs het pad: '/data/data/com.whatsapp/shared_prefs/'.

    Bestandsinhoudfragment

    <?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> (имя Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°)
    … 
  • file 'registratie.RegisterPhone.xml'. Bevat informatie over het telefoonnummer dat aan het WhatsApp-account is gekoppeld. Het bestand bevindt zich langs het pad: '/data/data/com.whatsapp/shared_prefs/'.

    Bestand inhoud

    <?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>
  • file 'axolotl.db'. Bevat cryptografische sleutels en andere gegevens die nodig zijn om de accounteigenaar te identificeren. Gelegen langs het pad: '/data/data/com.whatsapp/databases/'.
  • file 'chatinstellingen.db'. Bevat applicatieconfiguratie-informatie.
  • file 'wa.db'. Bevat contactgegevens. Een zeer interessante (vanuit forensisch oogpunt) en informatieve database. Het kan gedetailleerde informatie bevatten over verwijderde contacten.

Je moet ook op de volgende mappen letten:

  • Adresboek '/data/media/0/WhatsApp/Media/WhatsApp Afbeeldingen/'. Bevat overgedragen grafische bestanden.
  • Adresboek '/data/media/0/WhatsApp/Media/WhatsApp-spraaknotities/'. Bevat spraakberichten in .OPUS-formaatbestanden.
  • Adresboek '/data/data/com.whatsapp/cache/Profielfoto's/'. Bevat grafische bestanden – afbeeldingen van contacten.
  • Adresboek '/data/data/com.whatsapp/files/Avatars/'. Bevat grafische bestanden – miniatuurafbeeldingen van contacten. Deze bestanden hebben de extensie '.j', maar zijn niettemin JPEG-afbeeldingsbestanden (JPG).
  • Adresboek '/data/data/com.whatsapp/files/Avatars/'. Bevat grafische bestanden: een afbeelding en een miniatuur van de afbeelding, ingesteld als avatar door de accounteigenaar.
  • Adresboek '/data/data/com.whatsapp/files/Logs/'. Bevat het logboek voor programmabewerkingen (bestand 'whatsapp.log') en back-ups van logboeken voor programmabewerkingen (bestanden met namen in de indeling whatsapp-jjjj-mm-dd.1.log.gz).

WhatsApp-logbestanden:

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
Journaalfragment2017-01-10 09:37:09.757 LL_I D [524:WhatsApp-werknemer #1] melding gemiste oproep/init-telling:0 tijdstempel:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] gemiste oproepmelding/update annuleren waar
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 onleesbaar
2017-01-10 09:37:09.782 LL_I D [1:main] statistieken Tekstberichten: 59 verzonden, 82 ontvangen / Mediaberichten: 1 verzonden (0 bytes), 0 ontvangen (9850158 bytes) / Offlineberichten: 81 ontvangen ( 19522 msec gemiddelde vertraging) / Berichtenservice: 116075 bytes verzonden, 211729 bytes ontvangen / Voip-oproepen: 1 uitgaande oproepen, 0 inkomende oproepen, 2492 bytes verzonden, 1530 bytes ontvangen / Google Drive: 0 bytes verzonden, 0 bytes ontvangen / Roaming: 1524 bytes verzonden, 1826 bytes ontvangen / Totaal gegevens: 118567 bytes verzonden, 10063417 bytes ontvangen
2017-01-10 09:37:09.785 LL_I D [1:main] media-status-manager/ververs-media-status/schrijfbare-media
2017-01-10 09:37:09.806 LL_I D [1:main] app-init/initialiseren/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/versie 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 | bestede tijd: 8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-status-manager/vernieuwen-media-status/interne opslag beschikbaar:1,345,622,016 totaal:5,687,922,688

  • Adresboek '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Bevat de ontvangen audiobestanden.
  • Adresboek '/data/media/0/WhatsApp/Media/WhatsApp Audio/Verzonden/'. Bevat verzonden audiobestanden.
  • Adresboek '/data/media/0/WhatsApp/Media/WhatsApp Afbeeldingen/'. Bevat de resulterende grafische bestanden.
  • Adresboek '/data/media/0/WhatsApp/Media/WhatsApp Afbeeldingen/Verzonden/'. Bevat verzonden grafische bestanden.
  • Adresboek '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Bevat ontvangen videobestanden.
  • Adresboek '/data/media/0/WhatsApp/Media/WhatsApp Video/Verzonden/'. Bevat verzonden videobestanden.
  • Adresboek '/data/media/0/WhatsApp/Media/WhatsApp profielfoto's/'. Bevat grafische bestanden die zijn gekoppeld aan de eigenaar van het WhatsApp-account.
  • Om geheugenruimte op uw Android-smartphone te besparen, kunnen sommige WhatsApp-gegevens op een SD-kaart worden opgeslagen. Op de SD-kaart bevindt zich in de hoofdmap een map 'WhatsApp', waar de volgende artefacten van dit programma te vinden zijn:

    WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?

  • Adresboek '.Deel' ('/mnt/sdcard/WhatsApp/.Share/'). Bevat kopieΓ«n van bestanden die zijn gedeeld met andere WhatsApp-gebruikers.
  • Adresboek '.afval' ('/mnt/sdcard/WhatsApp/.trash/'). Bevat verwijderde bestanden.
  • Adresboek 'Databases' ('/mnt/sdcard/WhatsApp/Databases/'). Bevat gecodeerde back-ups. Ze kunnen worden gedecodeerd als het bestand aanwezig is 'sleutel', geΓ«xtraheerd uit het geheugen van het geanalyseerde apparaat.

    Bestanden die zich in een submap bevinden 'Databases':

    WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?

  • Adresboek 'Half' ('/mnt/sdcard/WhatsApp/Media/'). Bevat submappen 'Behang', 'WhatsApp-audio', 'WhatsApp-afbeeldingen', 'WhatsApp-profielfoto's', 'WhatsApp-video', 'WhatsApp-spraaknotities', die ontvangen en verzonden multimediabestanden bevatten (grafische bestanden, videobestanden, spraakberichten, foto's die zijn gekoppeld aan het profiel van de WhatsApp-accounteigenaar, achtergronden).
  • Adresboek 'Profiel foto's' ('/mnt/sdcard/WhatsApp/Profielfoto's/'). Bevat grafische bestanden die zijn gekoppeld aan het profiel van de WhatsApp-accounteigenaar.
  • Soms is er een map aanwezig op de SD-kaart 'bestanden' ('/mnt/sdcard/WhatsApp/Bestanden/'). Deze map bevat bestanden waarin programma-instellingen en gebruikersvoorkeuren worden opgeslagen.

Kenmerken van gegevensopslag in sommige modellen mobiele apparaten

Sommige modellen mobiele apparaten met Android OS kunnen WhatsApp-artefacten op een andere locatie opslaan. Dit komt door veranderingen in de opslagruimte van applicatiegegevens door de systeemsoftware van het mobiele apparaat. Mobiele apparaten van Xiaomi hebben bijvoorbeeld een functie voor het creΓ«ren van een tweede werkruimte (β€œSecondSpace”). Wanneer deze functie wordt geactiveerd, verandert de locatie van de gegevens. Dus als op een gewoon mobiel apparaat met Android OS gebruikersgegevens in de map worden opgeslagen '/gegevens/gebruiker/0/' (wat een verwijzing is naar het gebruikelijke '/gegevens/gegevens/'), dan worden in de tweede werkruimte applicatiegegevens opgeslagen in de directory '/gegevens/gebruiker/10/'. Dat wil zeggen, met behulp van het voorbeeld van de bestandslocatie 'wa.db':

  • op een gewone smartphone met Android OS: /data/user/0/com.whatsapp/databases/wa.db' (wat gelijkwaardig is '/data/data/com.whatsapp/databases/wa.db');
  • in de tweede werkruimte van de Xiaomi-smartphone: '/data/user/10/com.whatsapp/databases/wa.db'.

WhatsApp-artefacten op iOS-apparaat

In tegenstelling tot Android OS worden in iOS WhatsApp-applicatiegegevens overgebracht naar een back-up (iTunes-back-up). Voor het extraheren van gegevens uit deze applicatie is het daarom niet nodig om het bestandssysteem uit te pakken of een fysieke geheugendump te maken van het onderzochte apparaat. De meeste relevante informatie bevindt zich in de database 'ChatStorage.sqlite', gelegen langs het pad: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (in sommige programma's verschijnt dit pad als 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').

Structuur 'ChatStorage.sqlite':

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
De meest informatieve tabellen in de database 'ChatStorage.sqlite' zijn 'ZWAMESSAGE' ΠΈ 'ZWAMEDIAITEM'.

Tafel uiterlijk 'ZWAMESSAGE':

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
Structuur tabel 'ZWAMESSAGE'

Veldnaam Waarde
Z_PK recordvolgnummer (in SQL-tabel)
Z_ENT tabel-ID, heeft de waarde '9'
Z_OPT onbekend, bevat meestal waarden van '1' tot '6'
ZKINDERBERICHTENGELEVERDCOUNT onbekend, bevat meestal de waarde '0'
ZKINDERBERICHTENGESPEELDECOUNT onbekend, bevat meestal de waarde '0'
ZKINDERBERICHTENLEESAANTAL onbekend, bevat meestal de waarde '0'
ZDATAITEMVERSIE onbekend, bevat meestal de waarde '3', waarschijnlijk een sms-indicator
ZDOCID onbekend
ZENCRETRYCOUNT onbekend, bevat meestal de waarde '0'
ZFILTEREDRECIPIENTCOUNT onbekend, bevat meestal de waarden '0', '2', '256'
ZISFROMME berichtrichting: '0' – inkomend, '1' – uitgaand
ZMESSAGEERRORSTATUS status van berichtoverdracht. Als het bericht wordt verzonden/ontvangen, heeft het de waarde '0'
ZBERICHTTYPE soort bericht dat wordt verzonden
ZSORT onbekend
ZSPOTLIGHSTATUS onbekend
ZSTARRED onbekend, niet gebruikt
ZCHATSESSIE onbekend
ZGROEPLID onbekend, niet gebruikt
ZLASTSESSIE onbekend
ZMEDIAITEM onbekend
ZBERICHTINFO onbekend
ZOUDERBERICHT onbekend, niet gebruikt
ZBERICHT tijdstempel in OS X Epoch Time-indeling
ZSENTDATUM tijdstip waarop het bericht werd verzonden in OS X Epoch Time-indeling
ZFROMJID WhatsApp-afzender-ID
ZMEDIASECTIONID bevat het jaar en de maand waarin het mediabestand is verzonden
ZPHASH onbekend, niet gebruikt
ZPUSHPAME naam van de contactpersoon die het mediabestand in UTF-8-indeling heeft verzonden
ZSTANZID unieke berichtidentificatie
ZTEXT Bericht tekst
ZTOJID WhatsApp-ID van de ontvanger
OFFSET vooroordeel

Tafel uiterlijk 'ZWAMEDIAITEM':

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
Structuur tabel 'ZWAMEDIAITEM'

Veldnaam Waarde
Z_PK recordvolgnummer (in SQL-tabel)
Z_ENT tabel-ID, heeft de waarde '8'
Z_OPT onbekend, bevat meestal waarden van '1' tot '3'.
ZCLOUDSTATUS bevat de waarde '4' als het bestand is geladen.
ZBESTANDSgrootte bevat de bestandslengte (in bytes) voor gedownloade bestanden
ZMEDIAORIGIN onbekend, heeft meestal de waarde '0'
ZFILMDUUR duur van het mediabestand, want pdf-bestanden kunnen het aantal pagina's van het document bevatten
ZBERICHT bevat een serienummer (het nummer is anders dan aangegeven in de kolom 'Z_PK')
ZASPECTRATIO beeldverhouding, niet gebruikt, meestal ingesteld op '0'
ZH NAUWKEURIGHEID onbekend, heeft meestal de waarde '0'
ZLATTITUDE breedte in pixels
ZLONGTITUDE hoogte in pixels
ZMEDIAURLDATE tijdstempel in OS X Epoch Time-indeling
ZAUTHORNAAM auteur (voor documenten kan deze de bestandsnaam bevatten)
ZCOLLECTIENAAM niet gebruikt
ZMEDIALOCALPATH bestandsnaam (inclusief pad) in het bestandssysteem van het apparaat
ZMEDIAURL De URL waar het mediabestand zich bevond. Als een bestand van de ene abonnee naar de andere werd overgedragen, werd het gecodeerd en wordt de extensie ervan aangegeven als de extensie van het overgedragen bestand - .enc
ZTHUMBNAILLOCALPATH pad naar de bestandsminiatuur in het bestandssysteem van het apparaat
ZTITEL bestandskop
ZVCARDNAAM hash van mediabestand; bij het overbrengen van een bestand naar een groep kan het de afzender-ID bevatten
ZVCARDSTRING bevat informatie over het type bestand dat wordt overgedragen (bijvoorbeeld afbeelding/jpeg); bij het overbrengen van een bestand naar een groep kan het de identificatie van de ontvanger bevatten
ZXMPPTHUMBPATH pad naar de bestandsminiatuur in het bestandssysteem van het apparaat
ZMEDIAKEY onbekend, bevat waarschijnlijk de sleutel om het gecodeerde bestand te decoderen.
ZMETADATA metadata van het verzonden bericht
Offset vooroordeel

Andere interessante databasetabellen 'ChatStorage.sqlite' Ze zijn:

  • 'ZWAPROFIELPUSHNAME'. Komt overeen met WhatsApp-ID met contactnaam;
  • 'ZWAPROFIELBEELDITEM'. Komt overeen met WhatsApp-ID met contactavatar;
  • 'Z_PRIMARYKEY'. De tabel bevat algemene informatie over deze database, zoals het totaal aantal opgeslagen berichten, het totaal aantal chats, etc.

Wanneer u WhatsApp onderzoekt op een mobiel apparaat met iOS, moet u ook op de volgende bestanden letten:

  • file 'BackedUpKeyValue.sqlite'. Bevat cryptografische sleutels en andere gegevens die nodig zijn om de accounteigenaar te identificeren. Gelegen langs het pad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • file 'ContactenV2.sqlite'. Bevat informatie over de contacten van de gebruiker, zoals volledige naam, telefoonnummer, contactstatus (in tekstvorm), WhatsApp-ID, enz. Gelegen langs het pad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • file 'consumentenversie'. Bevat het versienummer van de geΓ―nstalleerde WhatsApp-applicatie. Gelegen langs het pad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • file 'huidige_achtergrond.jpg'. Bevat de huidige WhatsApp-achtergrondachtergrond. Gelegen langs het pad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Oudere versies van de applicatie gebruiken het bestand 'behang', gelegen langs het pad: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documenten/'.
  • file 'geblokkeerdecontacten.dat'. Bevat informatie over geblokkeerde contacten. Gelegen langs het pad: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documenten/.
  • file 'pw.dat'. Bevat een gecodeerd wachtwoord. Gelegen langs het pad: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Bibliotheek/'.
  • file 'net.whatsapp.WhatsApp.plist' (of bestand 'group.net.whatsapp.WhatsApp.shared.plist'). Bevat informatie over uw WhatsApp-accountprofiel. Het bestand bevindt zich langs het pad: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Bibliotheek/Preferences/'.

Inhoud van het bestand 'group.net.whatsapp.WhatsApp.shared.plist' WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
Je moet ook op de volgende mappen letten:

  • Adresboek '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Bevat miniaturen van contacten, groepen (bestanden met de extensie .duim), contactavatars, avatar van WhatsApp-accounteigenaar (file 'Foto.jpg').
  • Adresboek '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Bevat multimediabestanden en hun miniaturen
  • Adresboek '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documenten/'. Bevat het logboek voor programmabewerkingen (file 'oproepen.log') en back-ups van logboeken voor programmabewerkingen (file 'oproepen.backup.log').
  • Adresboek '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Bevat stickers (bestanden in het formaat '.webp').
  • Adresboek '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Bibliotheek/Logs/'. Bevat logboeken voor programmabewerkingen.

WhatsApp-artefacten op Windows

WhatsApp-artefacten op Windows zijn op verschillende plaatsen te vinden. Allereerst zijn dit mappen met uitvoerbare en hulpprogrammabestanden (voor Windows 8/10):

  • 'C: Programmabestanden (x86) WhatsApp'
  • 'C:Gebruikers%Gebruikersprofiel% AppDataLocalWhatsApp'
  • 'C:Gebruikers%Gebruikersprofiel% AppDataLocalVirtualStore Programmabestanden (x86)WhatsApp'

In de catalogus 'C:Gebruikers%Gebruikersprofiel% AppDataLocalWhatsApp' het logbestand bevindt zich 'EekhoornSetup.log', dat informatie bevat over het controleren op updates en het installeren van het programma.

In de catalogus 'C:Gebruikers%Gebruikersprofiel% AppDataRoamingWhatsApp' Er zijn verschillende submappen:

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
file 'hoofdproces.log' bevat informatie over de werking van het WhatsApp-programma.

Submap 'databases' bevat een bestand 'Databases.db', maar dit bestand bevat geen informatie over chats of contacten.

Het meest interessant vanuit forensisch oogpunt zijn de bestanden in de map 'Cache'. Dit zijn in principe bestanden met de naam 'F_*******' (waarbij * een getal is van 0 tot 9) met gecodeerde multimediabestanden en documenten, maar er zitten ook niet-gecodeerde bestanden tussen. Van bijzonder belang zijn de bestanden 'gegevens_0', 'gegevens_1', 'gegevens_2', 'gegevens_3', gelegen in dezelfde submap. Bestanden 'gegevens_0', 'gegevens_1', 'gegevens_3' bevatten externe links naar verzonden gecodeerde multimediabestanden en documenten.

Voorbeeld van informatie in bestand 'data_1'WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
Ook bestand 'gegevens_3' kan grafische bestanden bevatten.

file 'gegevens_2' bevat contactavatars (kan worden hersteld door te zoeken op bestandskoppen).

Avatars in het bestand 'gegevens_2':

WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
De chats zelf kunnen dus niet in het geheugen van de computer worden gevonden, maar u kunt wel het volgende vinden:

  • multimediabestanden;
  • documenten verzonden via WhatsApp;
  • informatie over de contacten van de accounteigenaar.

WhatsApp-artefacten op MacOS

In MacOS kun je typen WhatsApp-artefacten vinden die vergelijkbaar zijn met die in Windows OS.

De programmabestanden bevinden zich in de volgende mappen:

  • 'C:ApplicatiesWhatsApp.app'
  • 'C:Applicaties._WhatsApp.app'
  • 'C:Gebruikers%Gebruikersprofiel%BibliotheekVoorkeuren'
  • 'C:Gebruikers%Gebruikersprofiel%BibliotheekLogsWhatsApp'
  • 'C:Gebruikers%Gebruikersprofiel%BibliotheekOpgeslagen applicatiestatusWhatsApp.savedState'
  • 'C:Gebruikers%Gebruikersprofiel%BibliotheekApplicatiescripts'
  • 'C:Gebruikers%Gebruikersprofiel%BibliotheekApplicatieondersteuningCloudDocs'
  • 'C:Gebruikers%Gebruikersprofiel%BibliotheekApplicatieondersteuningWhatsApp.ShipIt'
  • 'C:Gebruikers%Gebruikersprofiel%LibraryContainerscom.rockysandstudio.app-voor-whatsapp'
  • 'C:Gebruikers%Gebruikersprofiel% Bibliotheek Mobiele documenten <tekstvariabele> WhatsApp-accounts'
    Deze map bevat submappen waarvan de namen telefoonnummers zijn die zijn gekoppeld aan de eigenaar van het WhatsApp-account.
  • 'C:Gebruikers%Gebruikersprofiel%BibliotheekCachesWhatsApp.ShipIt'
    Deze map bevat informatie over het installeren van het programma.
  • 'C:Gebruikers%Gebruikersprofiel%PicturesiPhoto Library.photolibraryMasters', 'C:Gebruikers%Gebruikersprofiel%PicturesiPhoto Library.photolibraryThumbnails'
    Deze mappen bevatten servicebestanden van het programma, inclusief foto's en miniaturen van WhatsApp-contacten.
  • 'C:Gebruikers%Gebruikersprofiel%BibliotheekCachesWhatsApp'
    Deze map bevat verschillende SQLite-databases die worden gebruikt voor datacaching.
  • 'C:Gebruikers%Gebruikersprofiel%BibliotheekApplicatieondersteuningWhatsApp'
    Deze map bevat verschillende submappen:

    WhatsApp in de palm van je hand: waar en hoe kun je forensische artefacten vinden?
    In de catalogus 'C:Gebruikers%Gebruikersprofiel%BibliotheekApplicatieondersteuningWhatsAppCache' er zijn bestanden 'gegevens_0', 'gegevens_1', 'gegevens_2', 'gegevens_3' en bestanden met namen 'F_*******' (waarbij * een getal van 0 tot en met 9 is). Zie WhatsApp-artefacten op Windows voor informatie over welke informatie deze bestanden bevatten.

    In de catalogus 'C:Gebruikers%Gebruikersprofiel%BibliotheekApplicatieondersteuningWhatsAppIndexedDB' kan multimediabestanden bevatten (bestanden hebben geen extensies).

    file 'hoofdproces.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: een systeem met basisgegevens voor Android en iOS door Ahmad Pratama, 2014.

In de volgende artikelen in deze serie:

Decodering van gecodeerde WhatsApp-databasesEen artikel dat informatie geeft over hoe de WhatsApp-coderingssleutel wordt gegenereerd en praktische voorbeelden die laten zien hoe de gecodeerde databases van deze applicatie kunnen worden gedecodeerd.
WhatsApp-gegevens extraheren uit cloudopslagEen artikel waarin we u vertellen welke WhatsApp-gegevens in de cloud worden opgeslagen en methoden beschrijven om deze gegevens uit cloudopslag op te halen.
WhatsApp-gegevensextractie: praktische voorbeeldenEen artikel waarin stap voor stap wordt beschreven welke programma's en hoe je WhatsApp-gegevens van verschillende apparaten kunt extraheren.

Bron: www.habr.com

Voeg een reactie