WhatsApp in Ihrer Handfläche: Wo und wie können Sie forensische Artefakte erkennen?



Wenn Sie wissen möchten, welche Arten von forensischen WhatsApp-Artefakten in verschiedenen Betriebssystemen vorhanden sind und wo genau sie erkannt werden können, sind Sie hier richtig. Mit diesem Artikel eröffnet Igor Mikhailov, Spezialist im Group-IB Laboratory of Computer Forensics, eine Reihe von Veröffentlichungen zur forensischen Untersuchung von WhatsApp und zu den Informationen, die durch die Analyse des Geräts erhalten werden können.

Beachten Sie nur, dass verschiedene Arten von WhatsApp-Artefakten in verschiedenen Betriebssystemen gespeichert sind. Wenn ein Forscher bestimmte Arten von WhatsApp-Daten von einem Gerät extrahieren kann, bedeutet dies nicht, dass solche Arten von Daten von einem anderen Gerät extrahiert werden können. Wenn beispielsweise eine Systemeinheit unter Windows belegt ist, werden WhatsApp-Chats wahrscheinlich nicht auf ihren Festplatten gefunden (mit Ausnahme von Sicherungskopien von iOS-Geräten, die sich auf denselben Laufwerken befinden). Beim Entfernen haben Laptops und mobile Geräte ihre eigenen Eigenschaften. Lassen Sie uns näher darauf eingehen.

WhatsApp-Artefakte auf einem Android-Gerät


Um WhatsApp-Artefakte von einem Gerät mit Android zu extrahieren, muss der Forscher über Superuser-Berechtigungen ( "root" ) auf dem untersuchten Gerät verfügen oder in der Lage sein, den physischen Speicherauszug des Gerätespeichers oder seines Dateisystems auf andere Weise zu extrahieren (z. B. mithilfe von Software-Schwachstellen eines bestimmten Mobiltelefons) Geräte).

Anwendungsdateien befinden sich im Speicher des Telefons in dem Bereich, in dem Benutzerdaten gespeichert werden. Normalerweise heiĂźt dieser Abschnitt "Benutzerdaten" . Unterverzeichnisse und Programmdateien befinden sich entlang des Pfads: '/data/data/com.whatsapp/' .

Bild alt

Die Hauptdateien, die forensische WhatsApp-Artefakte im Android-Betriebssystem enthalten, sind die Datenbanken 'wa.db' und 'msgstore.db' .

Die 'wa.db'- Datenbank enthält eine vollständige Liste der WhatsApp-Benutzerkontakte, einschließlich Telefonnummer, Anzeigename, Zeitstempel und anderer Informationen, die bei der Registrierung bei WhatsApp angegeben wurden. Die Datei 'wa.db' befindet sich entlang des Pfads: '/data/data/com.whatsapp/databases/' und hat die folgende Struktur:

Bild alt

Die interessantesten Tabellen in der 'wa.db'- Datenbank fĂĽr den Forscher sind:

  • 'wa_contacts'
    Diese Tabelle enthält Kontaktinformationen: Kontakt-ID in WhatsApp, Statusinformationen, angezeigter Benutzername, Zeitstempel usw.

    Aussehen der Tabelle:

    Bild alt

    Tabellenstruktur
    FeldnameWert
    _idSeriennummer aufzeichnen (in SQL-Tabelle)
    jidWhatsApp-Kontakt-ID, geschrieben im Format <Telefonnummer> @ s.whatsapp.net
    is_whatsapp_userenthält '1', wenn der tatsächliche WhatsApp-Benutzer mit dem Kontakt übereinstimmt, andernfalls '0'
    Statusenthält Text, der im Kontaktstatus angezeigt wird
    status_timestampenthält einen Zeitstempel im Unix Epoch Time (ms) -Format
    NummerTelefonnummer, die dem Kontakt zugeordnet ist
    raw_contact_idSeriennummer kontaktieren
    AnzeigenameKontaktanzeigename
    phone_typeTelefontyp
    phone_labelEtikett mit der Kontaktnummer
    unseen_msg_countDie Anzahl der Nachrichten, die vom Kontakt gesendet, aber vom Empfänger nicht gelesen wurden
    photo_tsenthält einen Zeitstempel im Unix Epoch Time-Format
    thumb_tsenthält einen Zeitstempel im Unix Epoch Time-Format
    photo_id_timestampenthält einen Zeitstempel im Unix Epoch Time (ms) -Format
    VornameDer Feldwert entspricht 'Anzeigename' fĂĽr jeden Kontakt
    wa_nameWhatsApp-Kontaktname (zeigt den im Kontaktprofil angegebenen Namen an)
    sort_nameKontaktname, der bei Sortiervorgängen verwendet wird
    SpitznameWhatsApp-Kontakt-Kurzname (zeigt den im Kontaktprofil angegebenen Kurznamen an)
    FirmaFirma (die im Kontaktprofil angegebene Firma wird angezeigt)
    TitelBerufung (Herrin / Herr; die im Kontaktprofil konfigurierte Adresse wird angezeigt)
    VersatzVerschiebung
  • 'sqlite_sequence'
    Diese Tabelle enthält Informationen zur Anzahl der Kontakte.
  • 'android_metadata'
    Diese Tabelle enthält Informationen zur WhatsApp-Sprachlokalisierung.

Die Datenbank 'msgstore.db' enthält Informationen zu übertragenen Nachrichten, wie z. B. Kontaktnummer, Nachrichtentext, Nachrichtenstatus, Zeitstempel, Informationen zu übertragenen Dateien in Nachrichten usw. Die Datei 'msgstore.db' befindet sich entlang des Pfads: '/data/data/com.whatsapp/databases/' und hat die folgende Struktur:

Bild alt

Die interessantesten Tabellen in der Datei 'msgstore.db' fĂĽr den Forscher sind:

  • 'sqlite_sequence'
    Diese Tabelle enthält allgemeine Informationen zu dieser Datenbank, z. B. die Gesamtzahl der gespeicherten Nachrichten, die Gesamtzahl der Chats usw.

    Aussehen der Tabelle:

    Bild alt
  • 'message_fts_content'
    Enthält den Text der übertragenen Nachrichten.

    Aussehen der Tabelle:

    Bild alt
  • 'Nachrichten'
    Diese Tabelle enthält Informationen wie Kontaktnummer, Nachrichtentext, Nachrichtenstatus, Zeitstempel und Informationen zu den in den Nachrichten enthaltenen übertragenen Dateien.

    Aussehen der Tabelle:

    Bild alt

    Tabellenstruktur
    FeldnameWert
    _idSeriennummer aufzeichnen (in SQL-Tabelle)
    key_remote_jidWhatsApp-Kommunikationspartner-ID
    key_from_meNachrichtenrichtung: '0' - eingehend, '1' - ausgehend
    key_ideindeutige Kennung der Nachricht
    StatusNachrichtenstatus: '0' - zugestellt, '4' - auf dem Server warten, '5' - am Ziel empfangen, '6' - Kontrollnachricht, '13' - vom Empfänger geöffnete Nachricht (gelesen)
    need_pushhat den Wert '2', wenn es sich um eine Broadcast-Nachricht handelt, andernfalls enthält sie '0'
    DatenNachrichtentext (wenn der Parameter 'media_wa_type' '0' ist)
    ZeitstempelEnthält einen Zeitstempel im Unix Epoch Time (ms) -Format. Der Wert wird von der Uhr des Geräts übernommen
    media_urlenthält die URL der übertragenen Datei (wenn der Parameter 'media_wa_type' '1', '2', '3' ist)
    media_mime_typeMIME-Typ der ĂĽbertragenen Datei (wenn der Parameter 'media_wa_type' gleich '1', '2', '3' ist)
    media_wa_typeNachrichtentyp: '0' - Text, '1' - Bilddatei, '2' - Audiodatei, '3' - Videodatei, '4' - Kontaktkarte, '5' - Geodaten
    media_sizeDateiübertragungsgröße (wenn der Parameter 'media_wa_type' '1', '2', '3' ist)
    MediennameName der ĂĽbertragenen Datei (wenn der Parameter 'media_wa_type' '1', '2', '3' ist)
    media_captionEnthält die Wörter 'Audio', 'Video' für die entsprechenden Werte des Parameters 'media_wa_type' (wenn der Parameter 'media_wa_type' gleich '1', '3' ist)
    media_hashbase64-codierter Hash der ĂĽbertragenen Datei, berechnet nach dem HAS-256-Algorithmus (wenn der Parameter 'media_wa_type' '1', '2', '3' ist)
    MediendauerDauer in Sekunden fĂĽr die Mediendatei (wenn der Parameter 'media_wa_type' '1', '2', '3' ist)
    Herkunfthat den Wert '2', wenn es sich um eine Broadcast-Nachricht handelt, andernfalls enthält sie '0'
    BreitengradGeodaten: Breitengrad (wenn der Parameter 'media_wa_type' '5' ist)
    LängengradGeodaten: Längengrad (wenn der Parameter 'media_wa_type' '5' ist)
    thumb_imageServiceinformationen
    remote_recourceAbsender-ID (nur Gruppenchat)
    receive_timestampEmpfangszeit, enthält einen Zeitstempel im Unix Epoch Time (ms) -Format, der Wert wird von der Geräteuhr übernommen (wenn der Parameter 'key_from_me' '0', '-1' oder einen anderen Wert hat)
    send_timestampnicht verwendet, hat normalerweise den Wert '-1'
    Receipt_Server_TimestampDie vom zentralen Server empfangene Zeit enthält einen Zeitstempel im Unix Epoch Time (ms) -Format. Der Wert wird von der Uhr des Geräts übernommen (wenn der Parameter 'key_from_me' '1', '-1' oder einen anderen Wert hat
    Receipt_Device_TimestampDie Zeit, zu der die Nachricht von einem anderen Teilnehmer empfangen wurde, enthält einen Zeitstempel im Unix Epoch Time (ms) -Format. Der Wert wird der Uhr des Geräts entnommen (wenn der Parameter 'key_from_me' '1', '-1' oder einen anderen Wert hat
    read_device_timestampDie Zeit zum Öffnen (Lesen) der Nachricht enthält einen Zeitstempel im Format Unix Epoch Time (ms). Der Wert wird von der Uhr des Geräts übernommen
    play_device_timestampDie Nachrichtenwiedergabezeit enthält einen Zeitstempel im Format Unix Epoch Time (ms). Der Wert wird von der Uhr des Geräts übernommen
    raw_dataMiniaturansicht der ĂĽbertragenen Datei (wenn der Parameter 'media_wa_type' gleich '1' oder '3' ist)
    EmpfängerzahlAnzahl der Empfänger (für Broadcast-Nachrichten)
    teilnehmer_hashWird beim Senden von Nachrichten mit Geodaten verwendet
    starrteWird nicht benutzt
    quote_row_idunbekannt, enthält normalerweise den Wert '0'
    erwähnte_jidsWird nicht benutzt
    multicast_idWird nicht benutzt
    VersatzVerschiebung

    Diese Liste von Feldern ist nicht vollständig. Bei verschiedenen Versionen von WhatsApp sind möglicherweise einige Felder vorhanden oder nicht. Zusätzlich können die Felder 'media_enc_hash' , 'edit_version' , 'payment_transaction_id' usw. vorhanden sein.
  • 'messages_thumbnails'
    Diese Tabelle enthält Informationen zu übertragenen Bildern und Zeitstempeln. In der Spalte "Zeitstempel" ist die Zeit im Unix Epoch Time (ms) -Format.
  • 'chat_list'
    Diese Tabelle enthält Chat-Informationen.

    Aussehen der Tabelle:

    Bild alt

Wenn Sie WhatsApp auf einem mobilen Gerät mit Android untersuchen, müssen Sie außerdem die folgenden Dateien beachten:

  • Datei 'msgstore.db.cryptXX' (wobei XX eine oder zwei Ziffern von 0 bis 12 ist, z. B. msgstore.db.crypt12). Enthält eine verschlĂĽsselte Sicherung von WhatsApp-Nachrichten (Sicherung der Datei msgstore.db ). Die Datei ( en ) 'msgstore.db.cryptXX' befindet sich entlang des Pfads: '/ data / media / 0 / WhatsApp / Databases /' (virtuelle SD-Karte), '/ mnt / sdcard / WhatsApp / Databases / (physische SD-) Karte) '.
  • Die Datei ist 'SchlĂĽssel' . Enthält einen kryptografischen SchlĂĽssel. Es befindet sich entlang des Pfads: '/data/data/com.whatsapp/files/' . Wird zum EntschlĂĽsseln verschlĂĽsselter WhatsApp-Sicherungen verwendet.
  • Datei 'com.whatsapp_preferences.xml' . Enthält Informationen zum WhatsApp-Kontoprofil. Die Datei befindet sich im Pfad: '/data/data/com.whatsapp/shared_prefs/' .

    Dateiinhalts-Snippet
    <?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> (  ) … 
  • Datei 'register.RegisterPhone.xml' . Enthält Telefonnummerninformationen zu einem WhatsApp-Konto. Die Datei befindet sich im Pfad: '/data/data/com.whatsapp/shared_prefs/' .

    Dateiinhalt
     <?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> 
  • Datei 'axolotl.db' . Enthält kryptografische SchlĂĽssel und andere Daten, die zur Identifizierung des Kontoinhabers erforderlich sind. Es befindet sich entlang des Pfads: '/data/data/com.whatsapp/databases/' .
  • Datei 'chatsettings.db' . Enthält Informationen zur Anwendungskonfiguration.
  • Die Datei 'wa.db' . Enthält Kontaktdaten. Eine sehr interessante (forensische) und informative Datenbank. Darin finden Sie detaillierte Informationen zu gelöschten Kontakten.

Sie sollten auch die folgenden Verzeichnisse beachten:

  • Verzeichnis '/ data / media / 0 / WhatsApp / Media / WhatsApp Images /' . Enthält die ĂĽbertragenen Bilddateien.
  • Verzeichnis '/ data / media / 0 / WhatsApp / Media / WhatsApp Voice Notes /' . Enthält Sprachnachrichten in Dateien im OPUS-Format.
  • Verzeichnis '/data/data/com.whatsapp/cache/Profile Pictures /' . Enthält Grafikdateien - Bilder von Kontakten.
  • Verzeichnis '/data/data/com.whatsapp/files/Avatars/' . Enthält Bilddateien - Miniaturansichten von Kontaktbildern. Diese Dateien haben die Erweiterung '.j', sind jedoch Bilddateien im JPEG-Format (JPG).
  • Verzeichnis '/data/data/com.whatsapp/files/Avatars/' . Enthält Bilddateien - Bild und Miniaturansicht des Bildes, das vom Kontoinhaber als Avatar installiert wurde.
  • Verzeichnis '/data/data/com.whatsapp/files/Logs/' . Es enthält das Programmoperationsprotokoll (Datei 'whatsapp.log') und Sicherungskopien der Programmoperationsprotokolle (Dateien mit den Formatnamen whatsapp-yyyy-mm-dd.1.log.gz).

WhatsApp-Protokolldateien:

Bild alt

Zeitschriftenfragment
2017-01-10 09: 37: 09.757 LL_I D [524: WhatsApp Worker # 1] verpasste Anrufbenachrichtigung / Init-Anzahl: 0 Zeitstempel: 0
2017-01-10 09: 37: 09.758 LL_I D [524: WhatsApp Worker # 1] verpasste Anrufbenachrichtigung / Aktualisierungsabbruch wahr
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] Passwortdatei fehlt oder ist nicht lesbar
2017-01-10 09: 37: 09.782 LL_I D [1: main] -Statistik Textnachrichten: 59 gesendet, 82 empfangen / Mediennachrichten: 1 gesendet (0 Byte), 0 empfangen (9850158 Byte) / Offline-Nachrichten: 81 empfangen ( 19522 ms durchschnittliche Verzögerung) / Nachrichtendienst: 116075 gesendete Bytes, 211729 empfangene Bytes / Voip-Anrufe: 1 ausgehende Anrufe, 0 eingehende Anrufe, 2492 gesendete Bytes, 1530 empfangene Bytes / Google Drive: 0 gesendete Bytes, 0 empfangene Bytes / Roaming: 1524 gesendete Bytes, 1826 empfangene Bytes / Gesamtdaten: 118567 gesendete Bytes, 10063417 empfangene Bytes
2017-01-10 09: 37: 09.785 LL_I D [1: main] Medienstatus-Manager / Aktualisierungsmedienstatus / beschreibbare Medien
2017-01-10 09: 37: 09.806 LL_I D [1: main] App-Init / Initialisierung / 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 / database / 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 | Zeitaufwand: 8
2017-01-10 09: 37: 09.848 LL_I D [529: WhatsApp Worker # 3] Medienstatus-Manager / Aktualisierungs-Medienstatus / interner Speicher verfĂĽgbar: 1.345.622.016 insgesamt: 5.687.922.688

  • Verzeichnis '/ data / media / 0 / WhatsApp / Media / WhatsApp Audio /' . Enthält empfangene Audiodateien.
  • Verzeichnis '/ data / media / 0 / WhatsApp / Media / WhatsApp Audio / Sent /' . Enthält gesendete Audiodateien.
  • Verzeichnis '/ data / media / 0 / WhatsApp / Media / WhatsApp Images /' . Enthält empfangene Bilddateien.
  • Verzeichnis '/ data / media / 0 / WhatsApp / Media / WhatsApp Images / Sent /' . Enthält gesendete Bilddateien.
  • Verzeichnis '/ data / media / 0 / WhatsApp / Media / WhatsApp Video /' . Enthält empfangene Videodateien.
  • Verzeichnis '/ data / media / 0 / WhatsApp / Media / WhatsApp Video / Sent /' . Enthält hochgeladene Videodateien.
  • Verzeichnis '/ data / media / 0 / WhatsApp / Media / WhatsApp-Profilfotos /' . Enthält Bilddateien, die dem EigentĂĽmer des WhatsApp-Kontos zugeordnet sind.
  • Um Platz im Speicher des Android-Smartphones zu sparen, können einige der WhatsApp-Daten auf der SD-Karte gespeichert werden. Auf der SD-Karte befindet sich im Stammverzeichnis ein WhatsApp- Verzeichnis, in dem die folgenden Artefakte dieses Programms gefunden werden können:

    Bild alt
  • Verzeichnis '.Share' ( '/mnt/sdcard/WhatsApp/.Share/' ). Enthält Kopien von Dateien, die an andere WhatsApp-Benutzer ĂĽbertragen wurden.
  • Verzeichnis '.trash' ( '/mnt/sdcard/WhatsApp/.trash/' ). Enthält gelöschte Dateien.
  • Verzeichnis 'Datenbanken' ( '/ mnt / sdcard / WhatsApp / Databases /' ). Enthält verschlĂĽsselte Backups. Sie können bei Vorhandensein der SchlĂĽsseldatei entschlĂĽsselt werden, die aus dem Speicher des analysierten Geräts extrahiert wurde.

    Dateien im Unterverzeichnis 'Datenbanken' :

    Bild alt
  • Verzeichnis 'Medien' ( '/ mnt / sdcard / WhatsApp / Media /' ). Enthält die Unterverzeichnisse 'WallPaper' , 'WhatsApp Audio' , 'WhatsApp Images' , 'WhatsApp Profile Photos' , 'WhatsApp Video' , 'WhatsApp Voice Notes' , in denen die empfangenen und ĂĽbertragenen Multimediadateien (Bilddateien, Videodateien, Sprachnachrichten, Fotos im Zusammenhang mit dem WhatsApp-Kontoinhaberprofil, Hintergrundbild).
  • Verzeichnis 'Profilbilder' ( '/ mnt / sdcard / WhatsApp / Profilbilder /' ). Enthält Bilddateien, die dem WhatsApp-Kontoinhaberprofil zugeordnet sind.
  • Manchmal ist das Verzeichnis 'files' ( '/ mnt / sdcard / WhatsApp / Files /' ) auf der SD-Karte vorhanden. Dieses Verzeichnis enthält Dateien, in denen Programmeinstellungen und Benutzereinstellungen gespeichert sind.

Funktionen der Datenspeicherung in einigen Modellen mobiler Geräte


Auf einigen Android-Mobilgeräten können WhatsApp-Artefakte an anderer Stelle gespeichert werden. Dies ist auf eine Änderung des Speicherplatzes von Anwendungsdaten durch die Systemsoftware des Mobilgeräts zurückzuführen. So haben beispielsweise Xiaomi-Mobilgeräte die Funktion, einen zweiten Arbeitsbereich („SecondSpace“) zu erstellen. Wenn diese Funktion aktiviert ist, ändert sich der Speicherort der Daten. Wenn also auf einem normalen Mobilgerät mit Android-Betriebssystem Benutzerdaten im Verzeichnis '/ data / user / 0 /' gespeichert sind (was eine Verknüpfung zu den üblichen '/ data / data /' ist ), werden im zweiten Arbeitsbereich Anwendungsdaten im Verzeichnis gespeichert '/ data / user / 10 /' . Das ist zum Beispiel der Speicherort der Datei 'wa.db' :

  • in einem normalen Android-Smartphone: /data/user/0/com.whatsapp/databases/wa.db ' (entspricht ' /data/data/com.whatsapp/databases/wa.db ') ;
  • im zweiten Arbeitsbereich des Xiaomi-Smartphones: '/data/user/10/com.whatsapp/databases/wa.db' .

WhatsApp-Artefakte auf iOS-Geräten


Im Gegensatz zu Android OS werden WhatsApp-Anwendungsdaten in iOS auf eine Sicherungskopie (iTunes-Sicherung) übertragen. Das Extrahieren von Daten aus dieser Anwendung erfordert daher nicht das Extrahieren des Dateisystems oder das Erstellen eines physischen Speicherauszugs des untersuchten Geräts. Die meisten relevanten Informationen sind in der Datenbank 'ChatStorage.sqlite' enthalten , die sich entlang des Pfads befindet: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (in einigen Programmen wird dieser Pfad als 'AppDomainGroup' angezeigt -group.net.whatsapp.WhatsApp.shared ' ).

Die Struktur von 'ChatStorage.sqlite' :

Bild alt

Die informativsten in der ChatStorage.sqlite-Datenbank sind die Tabellen ZWAMESSAGE und ZWAMEDIAITEM .

Aussehen der Tabelle 'ZWAMESSAGE' :

Bild alt

Tabellenstruktur 'ZWAMESSAGE'
FeldnameWert
Z_PKSeriennummer aufzeichnen (in SQL-Tabelle)
Z_ENTTabellenkennung, Wert '9'
Z_OPTunbekannt, enthält normalerweise Werte von '1' bis '6'
ZCHILDMESSAGESDELIVEREDCOUNTunbekannt, enthält normalerweise den Wert '0'
ZCHILDMESSAGESPLAYEDCOUNTunbekannt, enthält normalerweise den Wert '0'
ZCHILDMESSAGESREADCOUNTunbekannt, enthält normalerweise den Wert '0'
ZDATAITEMVERSIONunbekannt, enthält normalerweise den Wert '3', wahrscheinlich einen SMS-Zeiger
ZDOCIDist unbekannt
ZENCRETRYCOUNTunbekannt, enthält normalerweise den Wert '0'
ZFILTEREDRECIPIENTCOUNTunbekannt, enthält normalerweise die Werte '0', '2', '256'
ZisfrommeNachrichtenrichtung: '0' - eingehend, '1' - ausgehend
ZMESSAGEERRORSTATUSStatus der NachrichtenĂĽbertragung. Wenn die Nachricht gesendet / empfangen wird, hat sie den Wert '0'.
ZMESSAGETYPENachrichtentyp
Zsortist unbekannt
ZSPOTLIGHSTATUSist unbekannt
ZSTARREDunbekannt nicht verwendet
Zchatsessionist unbekannt
ZGROUPMEMBERunbekannt nicht verwendet
ZLASTSESSIONist unbekannt
ZMEDIAITEMist unbekannt
ZMESSAGEINFOist unbekannt
ZPARENTMESSAGEunbekannt nicht verwendet
ZMESSAGEDATEZeitstempel fĂĽr die OS X-Epochenzeit
ZSENTDATESendezeit fĂĽr OS X Epoch Time-Nachrichten
ZFROMJIDWhatsApp Absender ID
ZMEDIASECTIONIDenthält das Jahr und den Monat des Sendens der Mediendatei
Zphashunbekannt nicht verwendet
ZPUSHPAMEName des Kontakts, der die UTF-8-Mediendatei gesendet hat
ZSTANZIDeindeutige Kennung der Nachricht
ZTEXTNachrichtentext
ZTOJIDWhatsApp ID Empfänger
OFFSETVerschiebung

Aussehen der Tabelle 'ZWAMEDIAITEM' :

Bild alt

Tabellenstruktur 'ZWAMEDIAITEM'
FeldnameWert
Z_PKSeriennummer aufzeichnen (in SQL-Tabelle)
Z_ENTTabellenkennung, Wert '8'
Z_OPTunbekannt, enthält normalerweise Werte von '1' bis '3'.
ZCLOUDSTATUSenthält den Wert '4', wenn die Datei hochgeladen wird.
ZFILESIZEenthält die Dateilänge (in Bytes) für heruntergeladene Dateien
ZMEDIAORIGINunbekannt, normalerweise '0'
ZMOVIEDURATIONDie Dauer der Mediendatei fĂĽr PDF-Dateien kann die Anzahl der Seiten des Dokuments enthalten
ZMESSAGEenthält eine Seriennummer (die Nummer unterscheidet sich von der in der Spalte 'Z_PK' angegebenen)
ZASPECTRATIOSeitenverhältnis, nicht verwendet, normalerweise auf '0' gesetzt
ZHACCURACYunbekannt, normalerweise '0'
ZLATTITUDEBreite in Pixel
ZLONGTITUDEHöhe in Pixel
ZMEDIAURLDATEZeitstempel fĂĽr die OS X-Epochenzeit
ZAUTHORNAMEAutor (fĂĽr Dokumente kann Dateiname enthalten)
ZCOLLECTIONNAMEWird nicht benutzt
ZMEDIALOCALPATHDateiname (mit Pfad) im Gerätedateisystem
ZMEDIAURLDie URL, unter der sich die Mediendatei befand. Wenn die Datei von einem Abonnenten auf einen anderen ĂĽbertragen wurde, wurde sie verschlĂĽsselt, und ihre Erweiterung wird als Erweiterung der ĂĽbertragenen Datei angegeben - .enc
ZTHUMBNAILLOCALPATHPfad zur Datei-Miniaturansicht im Gerätedateisystem
ZITITLEDateikopf
ZVCARDNAMEMediendatei-Hash: Beim Ăśbertragen einer Datei in eine Gruppe kann sie die Absender-ID enthalten
ZVCARDSTRINGenthält Informationen über den Dateityp, der übertragen wird (z. B. image / jpeg); beim Übertragen einer Datei in eine Gruppe kann sie die Empfänger-ID enthalten
ZXMPPTHUMBPATHPfad zur Datei-Miniaturansicht im Gerätedateisystem
ZMEDIAKEYunbekannt, enthält wahrscheinlich den Schlüssel zum Entschlüsseln der verschlüsselten Datei.
ZMETADATANachrichtenmetadaten
OffsetVerschiebung

Andere interessante 'ChatStorage.sqlite'- Datenbanktabellen sind:

  • 'ZWAPROFILEPUSHNAME' . Entspricht der WhatsApp-ID mit dem Namen des Kontakts.
  • 'ZWAPROFILEPICTUREITEM' . Korreliert die WhatsApp-ID mit dem Kontakt-Avatar.
  • 'Z_PRIMARYKEY' . Die Tabelle enthält allgemeine Informationen zu dieser Datenbank, z. B. die Gesamtzahl der gespeicherten Nachrichten, die Gesamtzahl der Chats usw.

Wenn Sie WhatsApp auf einem mobilen Gerät mit iOS untersuchen, müssen Sie außerdem die folgenden Dateien beachten:

  • Datei 'BackedUpKeyValue.sqlite' . Enthält kryptografische SchlĂĽssel und andere Daten, die zur Identifizierung des Kontoinhabers erforderlich sind. Es befindet sich entlang des Pfads: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ .
  • Datei 'ContactsV2.sqlite' . Es enthält Informationen zu den Kontakten des Benutzers, z. B. vollständiger Name, Telefonnummer, Kontaktstatus (in Form von Text), WhatsApp-ID usw. Es befindet sich entlang des Pfads: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ .
  • Datei 'consumer_version' . Enthält die Versionsnummer der installierten WhatsApp-Anwendung. Es befindet sich entlang des Pfads: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ .
  • Datei 'current_wallpaper.jpg' . Enthält das aktuelle WhatsApp-Hintergrundbild. Es befindet sich entlang des Pfads: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ . In älteren Versionen der Anwendung wird die Datei 'Hintergrundbild' verwendet , die sich entlang des Pfads befindet: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/' .
  • Datei 'blockiertcontacts.dat' . Enthält Informationen zu blockierten Kontakten. Es befindet sich entlang des Pfads: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/ .
  • Datei 'pw.dat' . Enthält ein verschlĂĽsseltes Passwort. Es befindet sich auf dem Weg: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/' .
  • Datei 'net.whatsapp.WhatsApp.plist' (oder Datei 'group.net.whatsapp.WhatsApp.shared.plist' ). Enthält Informationen zum WhatsApp-Kontoprofil. Die Datei befindet sich im Pfad: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/' .

Der Inhalt der Datei 'group.net.whatsapp.WhatsApp.shared.plist'
Bild alt

Sie sollten auch die folgenden Verzeichnisse beachten:

  • Verzeichnis '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/' . Es enthält Miniaturansichten von Kontakten, Gruppen (Dateien mit der Erweiterung .thumb ), Avatare von Kontakten und einen Avatar des Inhabers des WhatsApp-Kontos (Datei 'Photo.jpg' ).
  • Verzeichnis '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ Message / Media /' . Enthält Multimediadateien und deren Miniaturansichten
  • Verzeichnis '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/' . Es enthält das Protokoll des Programms (Datei 'calls.log' ) und Sicherungskopien der Protokolle des Programms (Datei 'calls.backup.log' ).
  • Katalog '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/' . Enthält Aufkleber (Dateien im '.webp'- Format).
  • Das Verzeichnis '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/' . Enthält Protokolle des Programms.

WhatsApp-Artefakte unter Windows


WhatsApp-Artefakte unter Windows kann an mehreren Stellen gefunden werden. Dies sind zunächst Verzeichnisse, die ausführbare Dateien und Zusatzdateien des Programms enthalten (für Windows 8/10):
  • 'C: \ Programme (x86) \ WhatsApp \'
  • 'C: \ Benutzer \% Benutzerprofil% \ AppData \ Local \ WhatsApp \'
  • 'C: \ Benutzer \% Benutzerprofil% \ AppData \ Local \ VirtualStore \ Programme (x86) \ WhatsApp \'

Im Verzeichnis 'C: \ Benutzer \% Benutzerprofil% \ AppData \ Local \ WhatsApp \' befindet sich die Protokolldatei 'SquirrelSetup.log' , die Informationen zum Suchen nach Updates und Installieren des Programms enthält.

Im Verzeichnis 'C: \ Benutzer \% Benutzerprofil% \ AppData \ Roaming \ WhatsApp \' gibt es mehrere Unterverzeichnisse:

Bild alt

Die Datei 'main-process.log' enthält Informationen zum Betrieb des WhatsApp-Programms.

Das Unterverzeichnis 'Datenbanken' enthält die Datei 'Databases.db' , diese Datei enthält jedoch keine Informationen zu Chats oder Kontakten.

Aus forensischer Sicht sind die Dateien im Verzeichnis 'Cache' am interessantesten. Grundsätzlich handelt es sich hierbei um Dateien mit den Namen 'f _ *******' (wobei * eine Zahl von 0 bis 9 ist), die verschlüsselte Multimediadateien und -dokumente enthalten, darunter jedoch auch unverschlüsselte Dateien. Von besonderem Interesse sind die Dateien 'data_0' , 'data_1' , 'data_2' , 'data_3', die sich im selben Unterverzeichnis befinden. Die Dateien 'data_0' , 'data_1' , 'data_3' enthalten externe Links zu übertragenen verschlüsselten Multimediadateien und -dokumenten.

Beispielinformationen in der Datei 'data_1'
Bild alt

Die Datei 'data_3' kann auch Bilddateien enthalten.

Die Datei 'data_2' enthält Kontaktavatare (kann durch Durchsuchen der Dateikopfzeilen wiederhergestellt werden).

In der Datei 'data_2' enthaltene Avatare:

Bild alt

Daher können die Chats selbst nicht im Speicher des Computers gefunden werden, aber Sie können Folgendes finden:

  • Multimediadateien;
  • Mit WhatsApp ĂĽbertragene Dokumente
  • Informationen zu den Kontakten des Kontoinhabers.

WhatsApp-Artefakte unter MacOS


Unter MacOS finden Sie WhatsApp-Artefakttypen, die denen unter Windows ähneln.

Programmdateien befinden sich in Verzeichnissen:

  • 'C: \ Applications \ WhatsApp.app \'
  • 'C: \ Anwendungen \ ._ WhatsApp.app \'
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Einstellungen \'
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Protokolle \ WhatsApp \'
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Gespeicherter Anwendungsstatus \ WhatsApp.savedState \'
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Anwendungsskripte \'
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ AnwendungsunterstĂĽtzung \ CloudDocs \'
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ AnwendungsunterstĂĽtzung \ WhatsApp.ShipIt \'
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Container \ com.rockysandstudio.app-for-whatsapp \'
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Mobile Dokumente \ <Textvariable> WhatsApp \ Accounts'
    Dieses Verzeichnis enthält Unterverzeichnisse, deren Namen Telefonnummern sind, die dem Eigentümer des WhatsApp-Kontos zugeordnet sind.
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Caches \ WhatsApp.ShipIt \'
    Dieses Verzeichnis enthält Informationen zur Installation des Programms.
  • 'C: \ Benutzer \% Benutzerprofil% \ Bilder \ iPhoto.photolibrary Library \ Masters \' , 'C: \ Benutzer \% Benutzerprofil% \ Bilder \ iPhoto.photolibrary Bibliothek \ Foto \ Miniaturansichten \'
    Diese Verzeichnisse enthalten Dienstprogrammdateien fĂĽr das Programm, einschlieĂźlich Fotos und Miniaturansichten von WhatsApp-Kontakten.
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Caches \ WhatsApp \'
    Dieses Verzeichnis enthält mehrere SQLite-Datenbanken, die zum Zwischenspeichern von Daten verwendet werden.
  • 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ AnwendungsunterstĂĽtzung \ WhatsApp \'
    Dieses Verzeichnis enthält mehrere Unterverzeichnisse:

    Bild alt

    Das Verzeichnis 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Anwendungsunterstützung \ WhatsApp \ Cache \' enthält die Dateien 'Daten_0' , 'Daten_1' , 'Daten_2' , 'Daten_3' und die Dateien mit den Namen 'f _ **** *** ' (wobei * eine Zahl von 0 bis 9 ist). Informationen darüber, welche Informationen diese Dateien enthalten, finden Sie im Abschnitt „WhatsApp Windows-Artefakte“.

    Das Verzeichnis 'C: \ Benutzer \% Benutzerprofil% \ Bibliothek \ Anwendungsunterstützung \ WhatsApp \ IndexedDB \' enthält möglicherweise Multimediadateien (Dateien haben keine Erweiterungen).

    Die Datei 'main-process.log' enthält Informationen zum Betrieb des WhatsApp-Programms.

Quellen
  1. Forensische Analyse von WhatsApp Messenger auf Android-Smartphones, von Cosimo Anglano, 2014.
  2. WhatsApp Forensics: Eksplorasi sistem berkas dan Basisdaten pada aplikasi Android dan iOS von Ahmad Pratama, 2014.



Die folgenden Artikel in dieser Reihe:

EntschlĂĽsselung verschlĂĽsselter WhatsApp-Datenbanken
Ein Artikel mit Informationen zur Generierung des WhatsApp-VerschlĂĽsselungsschlĂĽssels sowie praktische Beispiele zum EntschlĂĽsseln der verschlĂĽsselten Datenbanken dieser Anwendung.

Extrahieren Sie WhatsApp-Daten aus dem Cloud-Speicher
Ein Artikel, in dem wir beschreiben, welche WhatsApp-Daten in den Clouds gespeichert sind, und Methoden zum Extrahieren dieser Daten aus dem Cloud-Speicher beschreiben.

WhatsApp-Datenextraktion: Fallstudien
In einem Artikel wird Schritt für Schritt beschrieben, welche Programme und wie WhatsApp-Daten von verschiedenen Geräten extrahiert werden.


Group-IB weiß alles über Cyberkriminalität, erzählt aber die interessantesten Dinge.

Der actionreiche Telegrammkanal (https://t.me/Group_IB) zu Informationssicherheit, Hackern und Cyberangriffen, Hacktivisten und Internetpiraten. Schrittweise Untersuchung sensationeller Cyberkriminalität, praktische Fälle mit Group-IB-Technologien und natürlich Empfehlungen, wie man vermeiden kann, im Internet Opfer zu werden.

YouTube Channel Group-IB
Group-IB Photowire auf Instagram www.instagram.com/group_ib
Twitter Kurznachrichten twitter.com/GroupIB

Group-IB ist einer der führenden Entwickler von Lösungen zur Erkennung und Verhinderung von Cyberangriffen, zur Aufdeckung von Betrug und zum Schutz des geistigen Eigentums in einem Netzwerk mit Hauptsitz in Singapur.

Source: https://habr.com/ru/post/de447592/


All Articles