Wenn Sie wissen möchten, welche Arten von forensischen WhatsApp-Artefakten auf verschiedenen Betriebssystemen existieren und wo genau diese zu finden sind, dann sind Sie hier genau richtig. Dieser Artikel stammt von einem Spezialisten des Group-IB Computer Forensics Laboratory Igor Michailow beginnt eine Reihe von Beiträgen über WhatsApp-Forensik und welche Informationen aus der Analyse des Geräts gewonnen werden können.
Beachten wir sofort, dass verschiedene Betriebssysteme unterschiedliche Arten von WhatsApp-Artefakten speichern. Wenn ein Forscher bestimmte Arten von WhatsApp-Daten von einem Gerät extrahieren kann, bedeutet dies nicht, dass ähnliche Datentypen von einem anderen Gerät extrahiert werden können. Wenn beispielsweise eine Systemeinheit mit Windows-Betriebssystem entfernt wird, werden WhatsApp-Chats wahrscheinlich nicht auf ihren Festplatten gefunden (mit Ausnahme von Sicherungskopien von iOS-Geräten, die auf denselben Laufwerken zu finden sind). Die Beschlagnahmung von Laptops und Mobilgeräten wird ihre eigenen Merkmale haben. Lassen Sie uns ausführlicher darüber sprechen.
WhatsApp-Artefakte auf einem Android-Gerät
Um WhatsApp-Artefakte von einem Android-Gerät zu extrahieren, muss der Forscher über Superuser-Rechte verfügen ('Wurzel') auf dem untersuchten Gerät oder auf andere Weise in der Lage sein, einen physischen Speicherauszug des Geräts oder seines Dateisystems zu extrahieren (z. B. mithilfe von Softwareschwachstellen eines bestimmten Mobilgeräts).
Anwendungsdateien befinden sich im Speicher des Telefons in dem Bereich, in dem Benutzerdaten gespeichert werden. In der Regel wird dieser Abschnitt benannt 'Benutzerdaten'. Entlang des Pfades liegen Unterverzeichnisse und Programmdateien: '/data/data/com.whatsapp/'.
Die wichtigsten Dateien, die forensische WhatsApp-Artefakte im Android-Betriebssystem enthalten, sind Datenbanken 'wa.db' и 'msgstore.db'.
In der Datenbank 'wa.db' enthält die vollständige Kontaktliste eines WhatsApp-Benutzers, einschließlich Telefonnummer, Anzeigename, Zeitstempel und alle anderen Informationen, die bei der Registrierung für WhatsApp angegeben wurden. Datei 'wa.db' Entlang des Weges gelegen: '/data/data/com.whatsapp/databases/' und hat folgenden Aufbau:
Die interessantesten Tabellen in der Datenbank 'wa.db' Für den Forscher sind:
- 'wa_contacts'
Diese Tabelle enthält Kontaktinformationen: WhatsApp-Kontakt-ID, Statusinformationen, Benutzeranzeigename, Zeitstempel usw.Tischauftritt:
TabellenstrukturFeldname Wert _id Datensatzsequenznummer (in der SQL-Tabelle) jid WhatsApp-Kontakt-ID, geschrieben im Format <Telefonnummer>@s.whatsapp.net is_whatsapp_user enthält „1“, wenn der Kontakt einem tatsächlichen WhatsApp-Benutzer entspricht, andernfalls „0“. Status enthält den im Kontaktstatus angezeigten Text status_timestamp enthält einen Zeitstempel im Unix Epoch Time (ms)-Format Anzahl Telefonnummer, die dem Kontakt zugeordnet ist raw_contact_id Seriennummer kontaktieren display_name Anzeigename des Kontakts Telefon-Typ Telefon-Typ phone_label Etikett, das der Kontaktnummer zugeordnet ist unseen_msg_count Anzahl der Nachrichten, die von einem Kontakt gesendet, aber vom Empfänger nicht gelesen wurden photo_ts enthält einen Zeitstempel im Unix Epoch Time-Format thumb_ts enthält einen Zeitstempel im Unix Epoch Time-Format photo_id_timestamp enthält einen Zeitstempel im Unix Epoch Time (ms)-Format Vorname Der Feldwert stimmt mit „display_name“ für jeden Kontakt überein wa_name WhatsApp-Kontaktname (der im Profil des Kontakts angegebene Name wird angezeigt) sort_name Kontaktname, der bei Sortiervorgängen verwendet wird Spitzname Spitzname des Kontakts in WhatsApp (der im Profil des Kontakts angegebene Spitzname wird angezeigt) Unternehmen Unternehmen (es wird das im Profil des Kontakts angegebene Unternehmen angezeigt) Titel Titel (Frau/Herr; im Kontaktprofil konfigurierter Titel wird angezeigt) Offset Verschiebung - 'sqlite_sequence'
Diese Tabelle enthält Informationen über die Anzahl der Kontakte; - 'android_metadata'
Diese Tabelle enthält Informationen zur WhatsApp-Sprachlokalisierung.
In der Datenbank 'msgstore.db' Enthält Informationen zu gesendeten Nachrichten, wie z. B. Kontaktnummer, Nachrichtentext, Nachrichtenstatus, Zeitstempel, Details zu den in Nachrichten enthaltenen übertragenen Dateien usw. Datei 'msgstore.db' Entlang des Weges gelegen: '/data/data/com.whatsapp/databases/' und hat folgenden Aufbau:
Die interessantesten Tabellen in der Datei 'msgstore.db' Für den Forscher sind:
- 'sqlite_sequence'
Diese Tabelle enthält allgemeine Informationen zu dieser Datenbank, wie z. B. die Gesamtzahl der gespeicherten Nachrichten, die Gesamtzahl der Chats usw.Tischauftritt:
- 'message_fts_content'
Enthält den Text gesendeter Nachrichten.Tischauftritt:
- 'Mitteilungen'
Diese Tabelle enthält Informationen wie Kontaktnummer, Nachrichtentext, Nachrichtenstatus, Zeitstempel und Informationen zu übertragenen Dateien, die in Nachrichten enthalten sind.Tischauftritt:
TabellenstrukturFeldname Wert _id Datensatzsequenznummer (in der SQL-Tabelle) key_remote_jid WhatsApp-ID des Kommunikationspartners key_from_me Nachrichtenrichtung: „0“ – eingehend, „1“ – ausgehend key_id eindeutige Nachrichtenkennung Status Nachrichtenstatus: „0“ – zugestellt, „4“ – auf dem Server wartend, „5“ – am Ziel empfangen, „6“ – Kontrollnachricht, „13“ – vom Empfänger geöffnete Nachricht (gelesen) need_push hat den Wert '2', wenn es sich um eine Broadcast-Nachricht handelt, andernfalls enthält es '0' technische Daten Nachrichtentext (wenn der Parameter „media_wa_type“ „0“ ist) Zeitstempel enthält einen Zeitstempel im Unix Epoch Time (ms)-Format, der Wert wird von der Geräteuhr übernommen media_url enthält die URL der übertragenen Datei (wenn der Parameter „media_wa_type“ „1“, „2“, „3“ ist) media_mime_type MIME-Typ der übertragenen Datei (wenn der Parameter „media_wa_type“ gleich „1“, „2“, „3“ ist) media_wa_type Nachrichtentyp: „0“ – Text, „1“ – Grafikdatei, „2“ – Audiodatei, „3“ – Videodatei, „4“ – Kontaktkarte, „5“ – Geodaten media_size Größe der übertragenen Datei (wenn der Parameter „media_wa_type“ „1“, „2“, „3“ ist) Medienname Name der übertragenen Datei (wenn der Parameter „media_wa_type“ „1“, „2“, „3“ ist) media_caption Enthält die Wörter „Audio“, „Video“ für die entsprechenden Werte des Parameters „media_wa_type“ (wenn der Parameter „media_wa_type“ „1“, „3“ ist). media_hash Base64-codierter Hash der übertragenen Datei, berechnet mit dem HAS-256-Algorithmus (wenn der Parameter „media_wa_type“ gleich „1“, „2“, „3“ ist) media_duration Dauer in Sekunden für die Mediendatei (wenn „media_wa_type“ „1“, „2“, „3“ ist) Herkunft hat den Wert '2', wenn es sich um eine Broadcast-Nachricht handelt, andernfalls enthält es '0' Breite Geodaten: Breitengrad (wenn der Parameter „media_wa_type“ „5“ ist) Länge Geodaten: Längengrad (wenn der Parameter „media_wa_type“ „5“ ist) thumb_image Service Information remote_resource Absender-ID (nur für Gruppenchats) empfangener_Zeitstempel Zeitpunkt des Empfangs, enthält einen Zeitstempel im Format Unix Epoch Time (ms), der Wert wird von der Geräteuhr übernommen (wenn der Parameter „key_from_me“ „0“, „-1“ oder einen anderen Wert hat) send_timestamp nicht verwendet, hat normalerweise den Wert '-1' Empfangsserver_Zeitstempel Die vom zentralen Server empfangene Zeit enthält einen Zeitstempel im Format Unix Epoch Time (ms). Der Wert wird von der Geräteuhr übernommen (wenn der Parameter „key_from_me“ „1“, „-1“ oder einen anderen Wert hat quittungsgerät_zeitstempel Zeitpunkt, zu dem die Nachricht von einem anderen Abonnenten empfangen wurde, enthält einen Zeitstempel im Unix Epoch Time (ms)-Format. Der Wert wird von der Geräteuhr übernommen (wenn der Parameter „key_from_me“ „1“, „-1“ oder einen anderen Wert hat read_device_timestamp Zeitpunkt des Öffnens (Lesens) der Nachricht, enthält einen Zeitstempel im Unix Epoch Time (ms)-Format, der Wert wird von der Geräteuhr übernommen Abgespielter_Geräte_Zeitstempel Nachrichtenwiedergabezeit, enthält einen Zeitstempel im Unix Epoch Time (ms)-Format, der Wert wird von der Geräteuhr übernommen Rohdaten Miniaturansicht der übertragenen Datei (wenn der Parameter „media_wa_type“ „1“ oder „3“ ist) Empfänger_Anzahl Anzahl der Empfänger (für Broadcast-Nachrichten) Teilnehmer_Hash Wird bei der Übermittlung von Nachrichten mit Geodaten verwendet Lieblings Wird nicht benutzt quoted_row_id unbekannt, enthält normalerweise den Wert '0' erwähnte_jids Wird nicht benutzt multicast_id Wird nicht benutzt Offset Verschiebung Diese Liste der Felder ist nicht vollständig. Bei verschiedenen Versionen von WhatsApp können einige Felder vorhanden sein oder fehlen. Zusätzlich können Felder vorhanden sein 'media_enc_hash', 'edit_version', 'zahlungstransaktions_id' usw.
- 'messages_thumbnails'
Diese Tabelle enthält Informationen zu übertragenen Bildern und Zeitstempeln. In der Spalte „Zeitstempel“ wird die Zeit im Unix Epoch Time-Format (ms) angegeben. - 'chat_list'
Diese Tabelle enthält Informationen zu Chats.Tischauftritt:
Wenn Sie WhatsApp auf einem mobilen Gerät mit Android untersuchen, sollten Sie außerdem auf die folgenden Dateien achten:
- Datei 'msgstore.db.cryptXX' (wobei XX eine oder zwei Ziffern von 0 bis 12 ist, zum Beispiel msgstore.db.crypt12). Enthält eine verschlüsselte Sicherung von WhatsApp-Nachrichten (Sicherungsdatei msgstore.db). Datei(en) 'msgstore.db.cryptXX' Entlang des Weges gelegen: '/data/media/0/WhatsApp/Databases/' (virtuelle SD-Karte), '/mnt/sdcard/WhatsApp/Databases/ (physische SD-Karte)‘.
- Datei 'Schlüssel'. Enthält einen kryptografischen Schlüssel. Entlang des Weges gelegen: '/data/data/com.whatsapp/files/'. Wird zum Entschlüsseln verschlüsselter WhatsApp-Backups verwendet.
- Datei 'com.whatsapp_preferences.xml'. Enthält Informationen zu Ihrem WhatsApp-Kontoprofil. Die Datei befindet sich im Pfad: '/data/data/com.whatsapp/shared_prefs/'.
Dateiinhaltsfragment
<?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 'registration.RegisterPhone.xml'. Enthält Informationen über die mit dem WhatsApp-Konto verknüpfte Telefonnummer. Die Datei befindet sich im Pfad: '/data/data/com.whatsapp/shared_prefs/'.
Dateiinhalte
<?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. Entlang des Weges gelegen: '/data/data/com.whatsapp/databases/'.
- Datei 'chatsettings.db'. Enthält Informationen zur Anwendungskonfiguration.
- Datei 'wa.db'. Enthält Kontaktdaten. Eine (forensisch gesehen) sehr interessante und informative Datenbank. Es kann detaillierte Informationen zu gelöschten Kontakten enthalten.
Sie müssen außerdem auf die folgenden Verzeichnisse achten:
- Verzeichnis '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Enthält übertragene Grafikdateien.
- Verzeichnis '/data/media/0/WhatsApp/Media/WhatsApp Sprachnotizen/'. 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 Grafikdateien – Miniaturbilder von Kontakten. Diese Dateien haben die Erweiterung „.j“, sind aber dennoch JPEG-Bilddateien (JPG).
- Verzeichnis '/data/data/com.whatsapp/files/Avatars/'. Enthält Grafikdateien – ein Bild und eine Miniaturansicht des Bildes, das vom Kontoinhaber als Avatar festgelegt wurde.
- Verzeichnis '/data/data/com.whatsapp/files/Logs/'. Enthält das Programmbetriebsprotokoll (Datei „whatsapp.log“) und Sicherungskopien der Programmbetriebsprotokolle (Dateien mit Namen im Format whatsapp-jjjj-mm-tt.1.log.gz).
WhatsApp-Protokolldateien:
Tagebuchfragment2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] failedcallnotification/init count:0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] failedcallnotification/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] Passwortdatei fehlt oder ist nicht lesbar
2017-01-10 09:37:09.782 LL_I D [1:main] Statistiken Textnachrichten: 59 gesendet, 82 empfangen / Mediennachrichten: 1 gesendet (0 Bytes), 0 empfangen (9850158 Bytes) / Offline-Nachrichten: 81 empfangen ( 19522 ms durchschnittliche Verzögerung) / Nachrichtendienst: 116075 Bytes gesendet, 211729 Bytes empfangen / VoIP-Anrufe: 1 ausgehender Anruf, 0 eingehende Anrufe, 2492 Bytes gesendet, 1530 Bytes empfangen / Google Drive: 0 Bytes gesendet, 0 Bytes empfangen / 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] 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 | Zeitaufwand:8
2017 01:10:09 LL_I D [37:WhatsApp Worker #09.848] media-state-manager/refresh-media-state/internal-storage available:529 total:3
- Verzeichnis '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Enthält die empfangenen Audiodateien.
- Verzeichnis '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Enthält gesendete Audiodateien.
- Verzeichnis '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Enthält die resultierenden Grafikdateien.
- Verzeichnis '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Enthält gesendete Grafikdateien.
- Verzeichnis '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Enthält empfangene Videodateien.
- Verzeichnis '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Enthält gesendete Videodateien.
- Verzeichnis '/data/media/0/WhatsApp/Media/WhatsApp-Profilfotos/'. Enthält Grafikdateien, die dem Besitzer des WhatsApp-Kontos zugeordnet sind.
- Um Speicherplatz auf Ihrem Android-Smartphone zu sparen, können einige WhatsApp-Daten auf einer SD-Karte gespeichert werden. Auf der SD-Karte befindet sich im Stammverzeichnis ein Verzeichnis „WhatsApp“, wo die folgenden Artefakte dieses Programms zu finden sind:
- Verzeichnis '.Aktie' ('/mnt/sdcard/WhatsApp/.Share/'). Enthält Kopien von Dateien, die mit anderen WhatsApp-Benutzern geteilt wurden.
- Verzeichnis '.Müll' ('/mnt/sdcard/WhatsApp/.trash/'). Enthält gelöschte Dateien.
- Verzeichnis 'Datenbanken' ('/mnt/sdcard/WhatsApp/Databases/'). Enthält verschlüsselte Backups. Sie können entschlüsselt werden, wenn die Datei vorhanden ist 'Schlüssel', extrahiert aus dem Speicher des analysierten Geräts.
Dateien, die sich in einem Unterverzeichnis befinden 'Datenbanken':
- Verzeichnis 'Halb' ('/mnt/sdcard/WhatsApp/Media/'). Enthält Unterverzeichnisse 'Hintergrund', „WhatsApp-Audio“, „WhatsApp-Bilder“, „WhatsApp-Profilfotos“, „WhatsApp-Video“, „WhatsApp-Sprachnotizen“, die empfangene und übertragene Multimediadateien (Grafikdateien, Videodateien, Sprachnachrichten, Fotos, die mit dem Profil des WhatsApp-Kontoinhabers verknüpft sind, Hintergrundbilder) enthalten.
- Verzeichnis 'Profilbilder' ('/mnt/sdcard/WhatsApp/Profile Pictures/'). Enthält Grafikdateien, die mit dem Profil des WhatsApp-Kontoinhabers verknüpft sind.
- Manchmal ist auf der SD-Karte ein Verzeichnis vorhanden 'Dateien' ('/mnt/sdcard/WhatsApp/Files/'). Dieses Verzeichnis enthält Dateien, in denen Programmeinstellungen und Benutzereinstellungen gespeichert sind.
Funktionen der Datenspeicherung in einigen Modellen mobiler Geräte
Bei einigen Modellen mobiler Geräte mit Android-Betriebssystem werden WhatsApp-Artefakte möglicherweise an einem anderen Ort gespeichert. Dies ist auf Änderungen des Speicherplatzes der Anwendungsdaten durch die Systemsoftware des Mobilgeräts zurückzuführen. Beispielsweise verfügen Xiaomi-Mobilgeräte über eine Funktion zum Erstellen eines zweiten Arbeitsbereichs („SecondSpace“). Bei Aktivierung dieser Funktion ändert sich der Speicherort der Daten. Wenn also auf einem normalen Mobilgerät mit Android-Betriebssystem Benutzerdaten im Verzeichnis gespeichert werden '/data/user/0/' (was eine Anspielung auf das Übliche ist '/Daten/Daten/'), dann werden im zweiten Arbeitsbereich Anwendungsdaten im Verzeichnis gespeichert '/data/user/10/'. Das heißt, am Beispiel des Dateispeicherorts 'wa.db':
- in einem normalen Smartphone mit Android-Betriebssystem: /data/user/0/com.whatsapp/databases/wa.db' (was gleichbedeutend ist '/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 zum Android-Betriebssystem werden WhatsApp-Anwendungsdaten in iOS in eine Sicherungskopie (iTunes-Backup) übertragen. Daher ist zum Extrahieren von Daten aus dieser Anwendung weder das Extrahieren des Dateisystems noch das Erstellen eines physischen Speicherabzugs des untersuchten Geräts erforderlich. Die meisten relevanten Informationen sind in der Datenbank enthalten 'ChatStorage.sqlite', die sich entlang des Weges befindet: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (In einigen Programmen erscheint dieser Pfad als „AppDomainGroup-group.net.whatsapp.WhatsApp.shared“).
Struktur 'ChatStorage.sqlite':
Die informativsten Tabellen in der Datenbank „ChatStorage.sqlite“ sind 'ZWAMESSAGE' и 'ZWAMEDIAITEM'.
Tischauftritt 'ZWAMESSAGE':
Struktur der Tabelle 'ZWAMESSAGE'
Feldname | Wert |
---|---|
Z_PK | Datensatzsequenznummer (in der SQL-Tabelle) |
Z_ENT | Tabellenkennung, hat den Wert '9' |
Z_OPT | unbekannt, enthält normalerweise Werte von '1' bis '6' |
ZCHILDMESSAGESDELIVEREDCOUNT | unbekannt, enthält normalerweise den Wert '0' |
ZCHILDMESSAGESPLAYEDCOUNT | unbekannt, enthält normalerweise den Wert '0' |
ZCHILDMESSAGESREADCOUNT | unbekannt, enthält normalerweise den Wert '0' |
ZDATAITEMVERSION | unbekannt, enthält normalerweise den Wert „3“, wahrscheinlich ein SMS-Indikator |
ZDOCID | unbekannt |
ZENCRETRYCOUNT | unbekannt, enthält normalerweise den Wert '0' |
ZFILTEREDRECIPIENTCOUNT | unbekannt, enthält normalerweise die Werte '0', '2', '256' |
ZISFROMME | Nachrichtenrichtung: „0“ – eingehend, „1“ – ausgehend |
ZMESSAGEERRORSTATUS | Status der Nachrichtenübertragung. Wenn die Nachricht gesendet/empfangen wird, hat sie den Wert „0“ |
ZMESSAGETYPE | Art der übermittelten Nachricht |
ZSORT | unbekannt |
ZSPOTLIGHTSTATUS | unbekannt |
ZSTARRED | unbekannt, nicht verwendet |
ZCHATSESSION | unbekannt |
ZGROUPMEMBER | unbekannt, nicht verwendet |
ZLASTSESSION | unbekannt |
ZMEDIAITEM | unbekannt |
ZMESSAGEINFO | unbekannt |
ZPARENTMESSAGE | unbekannt, nicht verwendet |
ZMESSAGEDATE | Zeitstempel im OS X Epoch Time-Format |
ZSENTDATE | Uhrzeit, zu der die Nachricht im OS X Epoch Time-Format gesendet wurde |
ZFROMJID | WhatsApp-Absender-ID |
ZMEDIASECTIONID | enthält das Jahr und den Monat, in dem die Mediendatei gesendet wurde |
ZPHASH | unbekannt, nicht verwendet |
ZPUSHPAME | Name des Kontakts, der die Mediendatei im UTF-8-Format gesendet hat |
ZSTANZID | eindeutige Nachrichtenkennung |
ZTEXT | Nachrichtentext |
ZTOJID | WhatsApp-ID des Empfängers |
OFFSET | Verschiebung |
Tischauftritt 'ZWAMEDIAITEM':
Struktur der Tabelle 'ZWAMEDIAITEM'
Feldname | Wert |
---|---|
Z_PK | Datensatzsequenznummer (in der SQL-Tabelle) |
Z_ENT | Tabellenkennung, hat den Wert '8' |
Z_OPT | unbekannt, enthält normalerweise Werte von '1' bis '3'. |
ZCLOUDSTATUS | enthält den Wert „4“, wenn die Datei geladen ist. |
ZFILESIZE | enthält die Dateilänge (in Bytes) für heruntergeladene Dateien |
ZMEDIAORIGIN | unbekannt, hat normalerweise den Wert '0' |
ZMOVIEDAUER | Dauer der Mediendatei, bei PDF-Dateien kann die Anzahl der Seiten des Dokuments enthalten sein |
ZNACHRICHT | enthält eine Seriennummer (die Nummer unterscheidet sich von der in der Spalte „Z_PK“ angegebenen) |
ZASPECTRATIO | Seitenverhältnis, nicht verwendet, normalerweise auf '0' gesetzt |
ZHAGENAUIGKEIT | unbekannt, hat normalerweise den Wert '0' |
ZLATTITUDE | Breite in Pixel |
ZLONGTITUDE | Höhe in Pixel |
ZMEDIAURLDATE | Zeitstempel im OS X Epoch Time-Format |
ZAUTHORNAME | Autor (kann bei Dokumenten den Dateinamen enthalten) |
ZCOLLECTIONNAME | Wird nicht benutzt |
ZMEDIALOCALPATH | Dateiname (einschließlich Pfad) im Gerätedateisystem |
ZMEDIAURL | Die URL, unter der sich die Mediendatei befand. Wenn eine Datei von einem Abonnenten an einen anderen übertragen wurde, wurde sie verschlüsselt und ihre Erweiterung wird als Erweiterung der übertragenen Datei angezeigt – .enc |
ZTHUMBNAILLOCALPATH | Pfad zur Miniaturansicht der Datei im Dateisystem des Geräts |
ZTITEL | Dateikopf |
ZVCARDNAME | Hash der Mediendatei; bei der Übertragung der Datei an eine Gruppe kann dieser die Absenderkennung enthalten |
ZVCARDSTRING | enthält Informationen über den Typ der übertragenen Datei (z. B. Bild/JPEG); bei der Übertragung einer Datei an eine Gruppe kann sie die Kennung des Empfängers enthalten |
ZXMPPTHUMBPATH | Pfad zur Miniaturansicht der Datei im Dateisystem des Geräts |
ZMEDIAKEY | unbekannt, enthält wahrscheinlich den Schlüssel zum Entschlüsseln der verschlüsselten Datei. |
ZMETADATA | Metadaten der übermittelten Nachricht |
Offsetdruck | Verschiebung |
Weitere interessante Datenbanktabellen 'ChatStorage.sqlite' sind:
- 'ZWAPROFILEPUSHNAME'. Ordnet WhatsApp-ID dem Kontaktnamen zu;
- 'ZWAPROFILEPICTUREITEM'. Ordnet WhatsApp-ID dem Kontakt-Avatar zu;
- 'Z_PRIMARYKEY'. Die Tabelle enthält allgemeine Informationen zu dieser Datenbank, wie z. B. die Gesamtzahl der gespeicherten Nachrichten, die Gesamtzahl der Chats usw.
Wenn Sie WhatsApp auf einem Mobilgerät mit iOS untersuchen, sollten Sie außerdem auf die folgenden Dateien achten:
- Datei 'BackedUpKeyValue.sqlite'. Enthält kryptografische Schlüssel und andere Daten, die zur Identifizierung des Kontoinhabers erforderlich sind. Entlang des Weges gelegen: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Datei 'KontakteV2.sqlite'. Enthält Informationen zu den Kontakten des Benutzers, wie z. B. vollständiger Name, Telefonnummer, Kontaktstatus (in Textform), WhatsApp-ID usw. Entlang des Weges gelegen: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Datei 'consumer_version'. Enthält die Versionsnummer der installierten WhatsApp-Anwendung. Entlang des Weges gelegen: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Datei 'aktuelles_Hintergrundbild.jpg'. Enthält das aktuelle WhatsApp-Hintergrundbild. Entlang des Weges gelegen: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Ältere Versionen der Anwendung verwenden die Datei 'Hintergrund', die sich entlang des Weges befindet: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
- Datei 'blockedcontacts.dat'. Enthält Informationen zu blockierten Kontakten. Entlang des Weges gelegen: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
- Datei 'pw.dat'. Enthält ein verschlüsseltes Passwort. Entlang des Weges gelegen: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
- Datei 'net.whatsapp.WhatsApp.plist' (oder Datei 'group.net.whatsapp.WhatsApp.shared.plist'). Enthält Informationen zu Ihrem WhatsApp-Kontoprofil. Die Datei befindet sich im Pfad: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.
Inhalt der Datei „group.net.whatsapp.WhatsApp.shared.plist“
Sie müssen außerdem auf die folgenden Verzeichnisse achten:
- Verzeichnis '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Enthält Miniaturansichten von Kontakten, Gruppen (Dateien mit der Erweiterung .Daumen), Kontakt-Avatare, Avatar des WhatsApp-Kontoinhabers (Datei 'Foto.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/'. Enthält das Programmbetriebsprotokoll (Datei 'Anrufe.log') und Sicherungskopien der Programmbetriebsprotokolle (Datei 'calls.backup.log').
- Verzeichnis '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Enthält Aufkleber (Dateien im Format '.webp').
- Verzeichnis '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Enthält Programmbetriebsprotokolle.
WhatsApp-Artefakte unter Windows
WhatsApp-Artefakte unter Windows können an mehreren Stellen gefunden werden. Dies sind zunächst Verzeichnisse, die ausführbare Dateien und Hilfsdateien des Programms enthalten (für Windows 8/10):
- „C:Programme (x86)WhatsApp“
- 'C:Benutzer%Benutzerprofil% AppDataLocalWhatsApp'
- „C:Benutzer%Benutzerprofil% AppDataLocalVirtualStore-Programmdateien (x86)WhatsApp“
Im Katalog 'C:Benutzer%Benutzerprofil% AppDataLocalWhatsApp' Die Protokolldatei befindet sich 'SquirrelSetup.log', das Informationen zur Suche nach Updates und zur Installation des Programms enthält.
Im Katalog 'C:Benutzer%Benutzerprofil% AppDataRoamingWhatsApp' Es gibt mehrere Unterverzeichnisse:
Datei 'main-process.log' enthält Informationen zur Funktionsweise des WhatsApp-Programms.
Unterverzeichnis 'Datenbanken' enthält eine Datei 'Datenbanken.db', aber diese Datei enthält keine Informationen über Chats oder Kontakte.
Aus forensischer Sicht am interessantesten sind die Dateien, die sich im Verzeichnis befinden 'Zwischenspeicher'. Dabei handelt es sich grundsätzlich um Dateien mit dem Namen 'F_*******' (wobei * eine Zahl von 0 bis 9 ist), die verschlüsselte Multimediadateien und Dokumente enthält, darunter aber auch unverschlüsselte Dateien. Von besonderem Interesse sind die Akten 'data_0', 'data_1', 'data_2', 'data_3', befindet sich im selben Unterverzeichnis. Dateien 'data_0', 'data_1', 'data_3' enthalten externe Links zu übertragenen verschlüsselten Multimediadateien und Dokumenten.
Beispiel für Informationen in der Datei „data_1“
Auch Datei 'data_3' kann Grafikdateien enthalten.
Datei 'data_2' enthält Kontakt-Avatare (kann durch Suche nach Dateikopfzeilen wiederhergestellt werden).
In der Datei enthaltene Avatare 'data_2':
Daher sind die Chats selbst nicht im Speicher des Computers zu finden, Sie finden jedoch:
- Multimediadateien;
- Über WhatsApp übermittelte Dokumente;
- Informationen zu den Kontakten des Kontoinhabers.
WhatsApp-Artefakte unter MacOS
Unter MacOS finden Sie Arten von WhatsApp-Artefakten, die denen im Windows-Betriebssystem ähneln.
Die Programmdateien befinden sich in folgenden Verzeichnissen:
- „C:ApplicationsWhatsApp.app“
- „C:Anwendungen._WhatsApp.app“
- 'C:Benutzer%Benutzerprofil%LibraryPreferences'
- 'C:Benutzer%Benutzerprofil%LibraryLogsWhatsApp'
- 'C:Users%Benutzerprofil%LibrarySaved Application StateWhatsApp.savedState'
- 'C:Benutzer%Benutzerprofil%LibraryApplication Scripts'
- 'C:Benutzer%Benutzerprofil%LibraryApplication SupportCloudDocs'
- 'C:Benutzer%Benutzerprofil%LibraryApplication SupportWhatsApp.ShipIt'
- „C:Benutzer%Benutzerprofil%LibraryContainerscom.rockysandstudio.app-for-whatsapp“
- „C:Benutzer%Benutzerprofil% Bibliothek Mobile Dokumente <Textvariable> WhatsApp-Konten“
Dieses Verzeichnis enthält Unterverzeichnisse, deren Namen Telefonnummern sind, die mit dem Besitzer des WhatsApp-Kontos verknüpft sind. - 'C:Benutzer%Benutzerprofil%LibraryCachesWhatsApp.ShipIt'
Dieses Verzeichnis enthält Informationen zur Installation des Programms. - 'C:Benutzer%Benutzerprofil%PicturesiPhoto Library.photolibraryMasters', 'C:Benutzer%Benutzerprofil%PicturesiPhoto Library.photolibraryThumbnails'
Diese Verzeichnisse enthalten Servicedateien des Programms, darunter Fotos und Miniaturansichten von WhatsApp-Kontakten. - 'C:Benutzer%Benutzerprofil%LibraryCachesWhatsApp'
Dieses Verzeichnis enthält mehrere SQLite-Datenbanken, die für das Daten-Caching verwendet werden. - „C:Benutzer%Benutzerprofil%LibraryApplication SupportWhatsApp“
Dieses Verzeichnis enthält mehrere Unterverzeichnisse:
Im Katalog „C:Benutzer%Benutzerprofil%LibraryApplication SupportWhatsAppCache“ Es gibt Dateien 'data_0', 'data_1', 'data_2', 'data_3' und Dateien mit Namen 'F_*******' (wobei * eine Zahl von 0 bis 9 ist). Informationen darüber, welche Informationen diese Dateien enthalten, finden Sie unter WhatsApp-Artefakte unter Windows.Im Katalog 'C:Benutzer%Benutzerprofil%LibraryApplication SupportWhatsAppIndexedDB' kann Multimediadateien enthalten (Dateien haben keine Erweiterungen).
Datei 'main-process.log' enthält Informationen zur Funktionsweise des WhatsApp-Programms.
Quellen
- Forensische Analyse von WhatsApp Messenger auf Android-Smartphones, von Cosimo Anglano, 2014.
- Whatsapp Forensics: Eksplorasi System Berkas und Basisdaten für Android und iOS von Ahmad Pratama, 2014.
In den folgenden Artikeln dieser Reihe:
Entschlüsselung verschlüsselter WhatsApp-DatenbankenEin Artikel mit Informationen zur Generierung des WhatsApp-Verschlüsselungsschlüssels und praktischen Beispielen, die zeigen, wie die verschlüsselten Datenbanken dieser Anwendung entschlüsselt werden.
Extrahieren von WhatsApp-Daten aus dem Cloud-SpeicherEin Artikel, in dem wir Ihnen sagen, welche WhatsApp-Daten in den Clouds gespeichert sind und Methoden zum Abrufen dieser Daten aus Cloud-Speichern beschreiben.
WhatsApp-Datenextraktion: Praktische BeispieleEin Artikel, der Schritt für Schritt beschreibt, welche Programme und wie WhatsApp-Daten von verschiedenen Geräten extrahiert werden.
Source: habr.com