
Möchten Sie erfahren, welche Arten von forensischen Artefakten von WhatsApp in verschiedenen Betriebssystemen existieren und wo diese genau gefunden werden können? Dann sind Sie hier genau richtig. In diesem Artikel eröffnet ein Spezialist aus dem Computerforensik-Labor von Group-IB. Igor Michailow beginnt eine Serie von Veröffentlichungen ĂŒber die forensische Untersuchung von WhatsApp und welche Informationen bei der Analyse eines GerĂ€ts gewonnen werden können.
Es ist wichtig zu beachten, dass in verschiedenen Betriebssystemen unterschiedliche Arten von WhatsApp-Artefakten gespeichert werden. Wenn ein Forscher aus einem GerÀt bestimmte Typen von WhatsApp-Daten extrahieren kann, bedeutet das keineswegs, dass Àhnliche Daten aus einem anderen GerÀt gewonnen werden können. Zum Beispiel wird bei der Beschlagnahme eines Desktop-Computers mit Windows-Betriebssystem wahrscheinlich kein WhatsApp-Chat auf seinen Festplatten gefunden (ausgenommen sind iOS-GerÀtesicherungen, die sich möglicherweise auf denselben Speichern befinden). Bei der Analyse von Laptops und mobilen GerÀten gibt es eigene Besonderheiten. Lassen Sie uns das nÀher betrachten.
WhatsApp-Artefakte auf Android-GerÀten
Um WhatsApp-Artefakte von einem Android-GerĂ€t zu extrahieren, muss der Forscher ĂŒber Superuser-Rechte ('root') auf dem untersuchten GerĂ€t verfĂŒgen oder in der Lage sein, auf andere Weise ein physisches Memory-Dump des GerĂ€ts oder sein Dateisystem zu extrahieren (z.B. durch Ausnutzen von Software-Schwachstellen des spezifischen MobilgerĂ€ts).
Die Anwendungsdateien befinden sich im Speicher des Telefons in einem Bereich, in dem die Benutzerdaten gespeichert sind. In der Regel trÀgt dieser Bereich den Namen 'userdata'. Die Unterverzeichnisse und Dateien der Anwendung befinden sich im Pfad: '/data/data/com.whatsapp/'.

Die Hauptdateien, die forensische Artefakte von WhatsApp auf Android enthalten, sind die Datenbanken 'wa.db' und 'msgstore.db'.
In der Datenbank 'wa.db' befindet sich eine vollstĂ€ndige Liste der WhatsApp-Kontakte des Benutzers, einschlieĂlich Telefonnummer, angezeigtem Namen, Zeitstempeln und allen anderen Informationen, die bei der Registrierung bei WhatsApp angegeben wurden. Die Datei 'wa.db' befindet sich im folgenden Pfad: '/data/data/com.whatsapp/databases/' und hat folgende Struktur:

Die fĂŒr den Forscher interessantesten Tabellen in der Datenbank sind: 'wa.db' 'wa_contacts'
- âwa_contactsâ
Diese Tabelle enthÀlt Informationen zu Kontakten: die Kontakt-ID in WhatsApp, Statusinformationen, den angezeigten Benutzernamen, Zeitstempel usw.Darstellung der Tabelle:

TabellenstrukturFeldname Bedeutung _id Reihenfolge der DatensĂ€tze (in SQL-Tabelle) jid WhatsApp-ID des Kontakts, aufgezeichnet im Format @s.whatsapp.net is_whatsapp_user enthĂ€lt '1', wenn der Kontakt einem aktiven WhatsApp-Nutzer entspricht, '0' andernfalls status enthĂ€lt den Text, der im Status des Kontakts angezeigt wird status_timestamp enthĂ€lt den Zeitstempel im Format Unix Epoch Time (ms) number Telefonnummer, die mit dem Kontakt assoziiert ist raw_contact_id Reihenfolge des Kontakts display_name angezeigter Name des Kontakts phone_type Telefontyp phone_label Bezeichnung, die mit der Kontakt nummer verknĂŒpft ist unseen_msg_count Anzahl der Nachrichten, die vom Kontakt gesendet wurden, aber nicht vom EmpfĂ€nger gelesen wurden photo_ts enthĂ€lt den Zeitstempel im Unix Epoch Time-Format thumb_ts enthĂ€lt den Zeitstempel im Unix Epoch Time-Format photo_id_timestamp enthĂ€lt den Zeitstempel im Format Unix Epoch Time (ms) given_name Wert des Feldes entspricht 'display_name' fĂŒr jeden Kontakt wa_name Name des Kontakts in WhatsApp (angezeigter Name, der im Profil des Kontakts angegeben ist) sort_name Kontaktname, der bei Sortieroperationen verwendet wird nickname Kontaktname in WhatsApp (angezeigt wird der im Kontaktprofil angegebene Name) Firma Unternehmen (angezeigt wird das im Kontaktprofil angegebene Unternehmen) Anrede Anrede (Frau/Herr; angezeigt wird die im Kontaktprofil eingestellte Anrede) offset Versatz - âsqlite_sequenceâ
Diese Tabelle enthĂ€lt Informationen ĂŒber die Anzahl der Kontakte; - âandroid_metadataâ
Diese Tabelle enthÀlt Informationen zur sprachlichen Lokalisierung von WhatsApp.
In der Datenbank 'msgstore.db' enthĂ€lt Informationen ĂŒber gesendete Nachrichten, wie z.B. die Kontaktnummer, den Nachrichtentext, den Nachrichtenstatus, Zeitstempel, Details zu ĂŒbermittelten Dateien, die in Nachrichten enthalten sind, usw. Datei 'msgstore.db' befindet sich im folgenden Pfad: '/data/data/com.whatsapp/databases/' und hat folgende Struktur:

Die interessantesten Tabellen in der Datei 'msgstore.db' 'wa_contacts'
- âsqlite_sequenceâ
Diese Tabelle enthÀlt allgemeine Informationen zu dieser Datenbank, wie die Gesamtzahl der gespeicherten Nachrichten, die Gesamtzahl der Chats usw.Darstellung der Tabelle:

- âmessage_fts_contentâ
EnthÀlt den Text der gesendeten Nachrichten.Darstellung der Tabelle:

- âmessagesâ
Diese Tabelle enthĂ€lt Informationen wie die Kontaktnummer, den Nachrichtentext, den Nachrichtenstatus, Zeitstempel, Details zu ĂŒbermittelten Dateien, die in Nachrichten enthalten sind.Darstellung der Tabelle:

TabellenstrukturFeldname Bedeutung _id Reihenfolge der DatensĂ€tze (in SQL-Tabelle) key_remote_jid WhatsApp-ID des Kommunikationspartners key_from_me Richtung der Nachricht: â0â â eingehend, â1â â ausgehend key_id eindeutiger Nachrichtenidentifikator status Nachrichtenstatus: â0â â zugestellt, â4â â wartet auf Server, â5â â am Zielort empfangen, â6â â Kontrollnachricht, â13â â Nachricht vom EmpfĂ€nger geöffnet (gelesen) need_push hat den Wert â2â, wenn es sich um eine Broadcast-Nachricht handelt, andernfalls enthĂ€lt es â0â data Nachrichtentext (wenn der Parameter âmedia_wa_typeâ â0â betrĂ€gt) timestamp enthĂ€lt einen Zeitstempel im Unix Epoch Time-Format (ms), der Wert stammt von der GerĂ€teuhr media_url enthĂ€lt die URL der ĂŒbermittelten Datei (wenn der Parameter âmedia_wa_typeâ â1â, â2â oder â3â betrĂ€gt) media_mime_type MIME-Typ der ĂŒbermittelten Datei (wenn der Parameter âmedia_wa_typeâ â1â, â2â oder â3â betrĂ€gt) media_wa_type Nachrichtentyp: â0â â Text, â1â â Grafikdatei, â2â â Audiodatei, â3â â Videodatei, â4â â Visitenkarte, â5â â Standortdaten media_size GröĂe der ĂŒbermittelten Datei (wenn der Parameter âmedia_wa_typeâ â1â, â2â oder â3â betrĂ€gt) media_name Name der ĂŒbermittelten Datei (wenn der Parameter âmedia_wa_typeâ â1â, â2â oder â3â betrĂ€gt) 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â oder â3â betrĂ€gt) media_hash Base64-kodierter Hash der ĂŒbergebenen Datei, berechnet nach dem Algorithmus HAS-256 (wenn der Parameter 'media_wa_type' gleich '1', '2', '3' ist) media_duration Dauer in Sekunden fĂŒr die Mediendatei (wenn der Parameter 'media_wa_type' gleich '1', '2', '3' ist) origin hat den Wert â2â, wenn es sich um eine Broadcast-Nachricht handelt, andernfalls enthĂ€lt es â0â latitude Geo-Daten: Breite (wenn der Parameter 'media_wa_type' gleich '5' ist) longitude Geo-Daten: LĂ€nge (wenn der Parameter 'media_wa_type' gleich '5' ist) thumb_image Metainformation remote_recource ID des Absenders (nur fĂŒr Gruppen-Chats) received_timestamp Empfangszeit, enthĂ€lt einen Zeitstempel im Unix-Epoch-Zeitformat (ms), der Wert stammt von der Uhr des GerĂ€ts (wenn der Parameter 'key_from_me' den Wert '0', '-1' oder einen anderen Wert hat) send_timestamp wird nicht verwendet, hat normalerweise den Wert '-1' receipt_server_timestamp Empfangszeit beim zentralen Server dem Server durch, enthĂ€lt einen Zeitstempel im Unix-Epoch-Zeitformat (ms), der Wert stammt von der Uhr des GerĂ€ts (wenn der Parameter 'key_from_me' den Wert '1', '-1' oder einen anderen Wert hat) receipt_device_timestamp Empfangszeit der Nachricht durch ein anderes GerĂ€t, enthĂ€lt einen Zeitstempel im Unix-Epoch-Zeitformat (ms), der Wert stammt von der Uhr des GerĂ€ts (wenn der Parameter 'key_from_me' den Wert '1', '-1' oder einen anderen Wert hat) read_device_timestamp Zeitstempel (Lesen) der Nachricht, enthĂ€lt einen Zeitstempel im Unix Epoch Time-Format (ms), der von der Uhr des GerĂ€ts abgerufen wird played_device_timestamp Zeitstempel der Wiedergabe der Nachricht, enthĂ€lt einen Zeitstempel im Unix Epoch Time-Format (ms), der von der Uhr des GerĂ€ts abgerufen wird raw_data Miniaturansicht der ĂŒbermittelten Datei (wenn der Parameter âmedia_wa_typeâ gleich â1â oder â3â ist) recipient_count Anzahl der EmpfĂ€nger (fĂŒr Broadcast-Nachrichten) participant_hash wird beim Senden von Nachrichten mit Geodaten verwendet starred nicht verwendet quoted_row_id unbekannt, enthĂ€lt normalerweise den Wert â0â mentioned_jids nicht verwendet multicast_id nicht verwendet offset Versatz Diese Liste von Feldern ist nicht abschlieĂend. In verschiedenen WhatsApp-Versionen können einige Felder vorhanden oder nicht vorhanden sein. Es können zusĂ€tzlich Felder vorhanden sein âmedia_enc_hashâ, âedit_versionâ, âpayment_transaction_idâ usw.
- âmessages_thumbnailsâ
Diese Tabelle enthĂ€lt Informationen zu ĂŒbermittelten Bildern und Zeitstempeln. In der Spalte âtimestampâ ist die Zeit im Unix Epoch Time-Format (ms) angegeben. - âchat_listâ
Diese Tabelle enthÀlt Informationen zu Chats.Darstellung der Tabelle:

Beim Untersuchen von WhatsApp auf einem Android-MobilgerÀt sollten auch folgende Dateien beachtet werden:
- Die Datei âmsgstore.db.cryptXXâ (wobei XX eine oder zwei Ziffern von 0 bis 12 sein können, z.B. msgstore.db.crypt12). EnthĂ€lt eine verschlĂŒsselte Sicherungskopie der WhatsApp-Nachrichten (Dateisicherung) msgstore.db). Die Datei (oder Dateien) âmsgstore.db.cryptXXâ befindet sich im folgenden Pfad: '/data/media/0/WhatsApp/Databases/' (virtuelle SD-Karte), '/mnt/sdcard/WhatsApp/Databases/' (physische SD-Karte).
- Die Datei 'key'. EnthĂ€lt den kryptografischen SchlĂŒssel. Befindet sich unter dem Pfad: '/data/data/com.whatsapp/files/'. Wird verwendet, um verschlĂŒsselte WhatsApp-Sicherungen zu entschlĂŒsseln.
- Die Datei 'com.whatsapp_preferences.xml'. EnthÀlt Informationen zum WhatsApp-Benutzerprofil. Die Datei befindet sich unter dem Pfad: '/data/data/com.whatsapp/shared_prefs/'.
Ausschnitt aus dem Dateiinhalte
⊠9123456789 (Telefonnummer, die mit dem WhatsApp-Konto verknĂŒpft ist) ⊠2.17.395 (WhatsApp-Version) ⊠Hey there! I am using WhatsApp. (Nachricht, die im Status des Kontos angezeigt wird) ⊠Alex (Name des Kontoinhabers) ⊠- Die Datei 'registration.RegisterPhone.xml'. EnthĂ€lt Informationen zur Telefonnummer, die mit dem WhatsApp-Konto verknĂŒpft ist. Die Datei befindet sich unter dem Pfad: '/data/data/com.whatsapp/shared_prefs/'.
Inhalt der Datei
- Die Datei âaxolotl.dbâ. EnthĂ€lt kryptografische SchlĂŒssel und andere Daten, die zur Identifizierung des Kontoinhabers erforderlich sind. Befindet sich unter folgendem Pfad: '/data/data/com.whatsapp/databases/'.
- Die Datei âchatsettings.dbâ. EnthĂ€lt Informationen zur Konfiguration der Anwendung.
- Die Datei 'wa.db'. Beinhaltet Details zu Kontakten. Eine sehr interessante (aus forensischer Sicht) und informative Datenbank. Hier kann detaillierte Informationen zu gelöschten Kontakten gefunden werden.
Es ist auch wichtig, auf die folgenden Verzeichnisse zu achten:
- Verzeichnis â/data/media/0/WhatsApp/Media/WhatsApp Images/â. EnthĂ€lt ĂŒbertragene Grafikdateien.
- Verzeichnis â/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/â. EnthĂ€lt Sprachnachrichten in .OPUS-Dateiformaten.
- Verzeichnis â/data/data/com.whatsapp/cache/Profile Pictures/â. EnthĂ€lt Grafikdateien â Bilder von Kontakten.
- Verzeichnis â/data/data/com.whatsapp/files/Avatars/â. EnthĂ€lt Grafikdateien â Vorschaubilder von Kontakten. Diese Dateien haben die Erweiterung â.jâ, sind jedoch Grafikdateien im JPEG-Format (JPG).
- Verzeichnis â/data/data/com.whatsapp/files/Avatars/â. EnthĂ€lt Grafikdateien â das Bild und das Vorschaubild, die als Avatar vom Kontoinhaber festgelegt wurden.
- Verzeichnis â/data/data/com.whatsapp/files/Logs/â. EnthĂ€lt das Programmprotokoll (Datei âwhatsapp.logâ) und Sicherungskopien der Programmprotokolle (Dateien im Format whatsapp-jjjj-mm-tt.1.log.gz).
WhatsApp-Protokolldateien:

Protokollabschnitt2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] missedcallnotification/init count:0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] missedcallnotification/update cancel true
2017-01-10 09:37:09.768 LL_I D [1:main] app-init/load-me
2017-01-10 09:37:09.772 LL_I D [1:main] Passwortdatei fehlt oder ist unlesbar
2017-01-10 09:37:09.782 LL_I D [1:main] Statistiken Textnachrichten: 59 gesendet, 82 erhalten / Mediennachrichten: 1 gesendet (0 Bytes), 0 erhalten (9850158 Bytes) / Offline-Nachrichten: 81 erhalten (19522 ms durchschnittliche Verzögerung) / Nachrichtendienst: 116075 Bytes gesendet, 211729 Bytes erhalten / VoIP-Anrufe: 1 ausgehender Anruf, 0 eingehende Anrufe, 2492 Bytes gesendet, 1530 Bytes erhalten / Google Drive: 0 Bytes gesendet, 0 Bytes erhalten / Roaming: 1524 Bytes gesendet, 1826 Bytes erhalten / Gesamtdaten: 118567 Bytes gesendet, 10063417 Bytes erhalten
2017-01-10 09:37:09.785 LL_I D [1:main] media-state-manager/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:main] app-init/initialize/timer/stop: 24
2017-01-10 09:37:09.811 LL_I D [1:main] msgstore/checkhealth
2017-01-10 09:37:09.817 LL_I D [1:main] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkdb/data/data/com.whatsapp/databases/msgstore.db
2017-01-10 09:37:09.819 LL_I D [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_I D [1:main] msgstore/checkdb/list msgstore.db 540672 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-wal 0 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-shm 32768 drw=011
2017-01-10 09:37:09.824 LL_I D [1:main] msgstore/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_I D [1:main] msgstore/checkdb/version 1
2017-01-10 09:37:09.839 LL_I D [1:main] msgstore/canquery
2017-01-10 09:37:09.846 LL_I D [1:main] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery 517 | time spent:8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-state-manager/refresh-media-state/internal-storage 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 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 Profile Photos/'. EnthĂ€lt Grafikdateien, die mit dem WhatsApp-Profil des Nutzers verknĂŒpft sind.
- Um Speicherplatz auf Android-Smartphones zu sparen, können einige WhatsApp-Daten auf der SD-Karte gespeichert werden. Auf der SD-Karte befindet sich im Stammverzeichnis der Ordner 'WhatsApp', in dem die folgenden Artefakte dieses Programms zu finden sind:

- Verzeichnis '.Share' ('/mnt/sdcard/WhatsApp/.Share/'). EnthÀlt Kopien von Dateien, die an andere WhatsApp-Nutzer gesendet wurden.
- Verzeichnis '.trash' ('/mnt/sdcard/WhatsApp/.trash/'). EnthÀlt gelöschte Dateien.
- Verzeichnis 'Databases' ('/mnt/sdcard/WhatsApp/Databases/'). EnthĂ€lt verschlĂŒsselte Backups. Diese können entschlĂŒsselt werden, wenn die passende Datei vorhanden ist. 'key', aus dem Speicher des analysierten GerĂ€ts extrahiert.
Dateien, die sich im Unterverzeichnis 'Databases':

- Verzeichnis âMediaâ (â/mnt/sdcard/WhatsApp/Media/â). EnthĂ€lt Unterverzeichnisse âWallPaperâ, âWhatsApp Audioâ, âWhatsApp Imagesâ, âWhatsApp Profile Photosâ, âWhatsApp Videoâ, âWhatsApp Voice Notesâ, in denen empfangene und gesendete Multimedia-Dateien (Grafikdateien, Video-, Sprachnachrichten, Fotos, die mit dem Profil des WhatsApp-Kontos verknĂŒpft sind, Hintergrundbilder) gespeichert sind.
- Verzeichnis âProfile Picturesâ (â/mnt/sdcard/WhatsApp/Profile Pictures/â). EnthĂ€lt Grafikdateien, die mit dem Profil des WhatsApp-Kontoinhabers verknĂŒpft sind.
- Manchmal kann das SD-Karte ein Verzeichnis âfilesâ (â/mnt/sdcard/WhatsApp/Files/â). In diesem Verzeichnis befinden sich Dateien, in denen Programmeinstellungen und Benutzervorlieben gespeichert sind.
Besonderheiten der Datenspeicherung in einigen Modellen von MobilgerÀten.
In einigen Modellen von MobilgerĂ€ten mit Android-Betriebssystem ist es möglich, WhatsApp-Artefakte an einem anderen Ort zu speichern. Dies ist auf die Ănderungen im Speichersystem des mobilen GerĂ€ts durch die Systemsoftware zurĂŒckzufĂŒhren. Beispielsweise verfĂŒgt Xiaomi ĂŒber eine Funktion zur Erstellung eines zweiten Arbeitsbereichs (âSecondSpaceâ). Wenn diese Funktion aktiviert ist, Ă€ndert sich der Speicherort der Daten. In einem herkömmlichen MobilgerĂ€t mit Android-Betriebssystem werden die Benutzerdaten im Verzeichnis â/data/user/0/â (was einem bekannten Pfad entspricht, â/data/data/â), werden die Anwendungsdaten im zweiten Arbeitsbereich im Verzeichnis â/data/user/10/âgespeichert. Zum Beispiel ist der Speicherort der Datei 'wa.db':
- in einem herkömmlichen Smartphone mit Android-Betriebssystem: /data/user/0/com.whatsapp/databases/wa.dbâ (was Ă€quivalent ist zu â/data/data/com.whatsapp/databases/wa.dbâ);
- im zweiten Arbeitsbereich des Xiaomi-Smartphones: â/data/user/10/com.whatsapp/databases/wa.dbâ.
WhatsApp-Artefakte auf einem iOS-GerÀt
Im Gegensatz zu Android werden in iOS die Daten der WhatsApp-Anwendung in einem Backup (iTunes-Backup) gespeichert. Daher erfordert das Extrahieren von Daten dieser Anwendung nicht das Durchsuchen des Dateisystems oder das Erstellen eines physischen Speicherabbilds des untersuchten GerĂ€ts. Der GroĂteil der relevanten Informationen befindet sich in der Datenbank. âChatStorage.sqliteâ, die sich unter folgendem Pfad befindet: â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/â (in einigen Programmen wird dieser Pfad als angezeigt âAppDomainGroup-group.net.whatsapp.WhatsApp.sharedâ).
Struktur âChatStorage.sqliteâ:

Die informativsten Tabellen in der Datenbank âChatStorage.sqliteâ sind âZWAMESSAGEâ und âZWAMEDIAITEMâ.
Das Aussehen der Tabelle âZWAMESSAGEâ:

Die Struktur der Tabelle âZWAMESSAGEâ
| Feldname | Bedeutung |
|---|---|
| Z_PK | Reihenfolge der DatensÀtze (in SQL-Tabelle) |
| Z_ENT | Die Tabellen-ID hat den Wert â9â |
| Z_OPT | unbekannt, enthĂ€lt normalerweise Werte zwischen â1â und â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â, vermutlich ein Hinweis auf die Textnachricht |
| ZDOCID | unbekannt |
| ZENCRETRYCOUNT | unbekannt, enthĂ€lt normalerweise den Wert â0â |
| ZFILTEREDRECIPIENTCOUNT | unbekannt, enthĂ€lt normalerweise die Werte â0â, â2â, â256â |
| ZISFROMME | Richtung der Nachricht: â0â â eingehend, â1â â ausgehend |
| ZMESSAGEERRORSTATUS | Ăbertragungsstatus der Nachricht. Wenn die Nachricht gesendet/empfangen wurde, hat sie den Wert â0â |
| ZMESSAGETYPE | Typ der ĂŒbermittelten Nachricht |
| ZSORT | unbekannt |
| ZSPOTLIGHSTATUS | 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 | Zeit der NachrichtenĂŒbermittlung im OS X Epoch Time Format |
| ZFROMJID | WhatsApp-ID des Absenders |
| ZMEDIASECTIONID | enthĂ€lt Jahr und Monat der MedienĂŒbertragung |
| ZPHASH | unbekannt, nicht verwendet |
| ZPUSHPAME | Name des Kontakts, der die Mediendatei im UTF-8-Format gesendet hat |
| ZSTANZID | eindeutiger Nachrichtenidentifikator |
| ZTEXT | Text der Nachricht |
| ZTOJID | WhatsApp-ID des EmpfÀngers |
| OFFSET | Versatz |
Das Aussehen der Tabelle âZWAMEDIAITEMâ:

Struktur der Tabelle âZWAMEDIAITEMâ
| Feldname | Bedeutung |
|---|---|
| Z_PK | Reihenfolge der DatensÀtze (in SQL-Tabelle) |
| Z_ENT | Tabellenidentifikator, hat den Wert â8â |
| Z_OPT | unbekannt, enthĂ€lt normalerweise Werte zwischen â1â und â3â. |
| ZCLOUDSTATUS | enthĂ€lt den Wert â4â, wenn die Datei hochgeladen wurde. |
| ZFILESIZE | enthĂ€lt die DateigröĂe (in Byte) fĂŒr hochgeladene Dateien |
| ZMEDIAORIGIN | unbekannt, hat normalerweise den Wert â0â |
| ZMOVIEDURATION | Dauer der Mediendatei, kann fĂŒr PDF-Dokumente die Anzahl der Seiten enthalten |
| ZMESSAGE | enthĂ€lt die fortlaufende Nummer (unterscheidet sich von der in der Spalte âZ_PKâ angegebenen Nummer) |
| ZASPECTRATIO | SeitenverhĂ€ltnis, nicht verwendet, hat normalerweise den Wert â0â |
| ZHACCURACY | 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 (fĂŒr Dokumente, kann den Dateinamen enthalten) |
| ZCOLLECTIONNAME | nicht verwendet |
| ZMEDIALOCALPATH | Dateiname (mit Pfadangabe) im Dateisystem des GerÀts |
| ZMEDIAURL | URL, unter dem die Mediendatei verfĂŒgbar war. Falls die Datei von einem Abonnenten an einen anderen ĂŒbertragen wurde, wurde sie verschlĂŒsselt, und ihre Erweiterung wird als die des ĂŒbertragene Datei angegeben â .enc |
| ZTHUMBNAILLOCALPATH | Pfad zur Miniaturansicht der Datei im Dateisystem des GerÀts |
| ZTITLE | Titel der Datei |
| ZVCARDNAME | Hash der Mediendatei, kann beim Ăbertragen der Datei in eine Gruppe die Sender-ID enthalten. |
| ZVCARDSTRING | enthĂ€lt Informationen ĂŒber den Typ der ĂŒbertragene Datei (z.B. image/jpeg), kann beim Ăbertragen der Datei in eine Gruppe die EmpfĂ€nger-ID enthalten. |
| ZXMPPTHUMBPATH | Pfad zur Miniaturansicht der Datei im Dateisystem des GerÀts |
| ZMEDIAKEY | unbekannt, enthĂ€lt vermutlich den SchlĂŒssel zur EntschlĂŒsselung der verschlĂŒsselten Datei. |
| ZMETADATA | Metadaten der ĂŒbertragene Nachricht |
| Offset | Versatz |
Andere interessante Datenbanktabellen âChatStorage.sqliteâ sind:
- âZWAPROFILEPUSHNAMEâ. VerknĂŒpft die WhatsApp-ID mit dem Kontaktnamen;
- âZWAPROFILEPICTUREITEMâ. VerknĂŒpft die WhatsApp-ID mit dem Profilbild des Kontakts;
- âZ_PRIMARYKEYâ. Die Tabelle enthĂ€lt allgemeine Informationen ĂŒber diese Datenbank, wie die Gesamtzahl der gespeicherten Nachrichten, die Gesamtzahl der Chats usw.
Beim Untersuchen von WhatsApp auf einem iOS-GerÀt sollten Sie auf die folgenden Dateien achten:
- Die Datei âBackedUpKeyValue.sqliteâ. EnthĂ€lt kryptografische SchlĂŒssel und andere Daten, die zur Identifizierung des Kontoinhabers erforderlich sind. Befindet sich unter folgendem Pfad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Die Datei . EnthĂ€lt Informationen ĂŒber die Kontakte des Nutzers, wie Name, Telefonnummer, Kontaktstatus (in Textform), WhatsApp-ID usw. Befindet sich unter folgendem Pfad:. EnthĂ€lt Informationen zu den Kontakten des Benutzers, wie Name, Telefonnummer, Kontaktstatus (in Textform), WhatsApp ID usw. Befindet sich unter folgendem Pfad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Die Datei âconsumer_versionâ. EnthĂ€lt die Versionsnummer der installierten WhatsApp-Anwendung. Befindet sich unter folgendem Pfad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Die Datei âcurrent_wallpaper.jpgâ. EnthĂ€lt das aktuelle Hintergrundbild der WhatsApp-App. Befindet sich unter folgendem Pfad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. In Ă€lteren Versionen der App wird die Datei âwallpaperâ, verwendet, die sich unter folgendem Pfad befindet: â/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/â.
- Die Datei âblockedcontacts.datâ. EnthĂ€lt Informationen ĂŒber blockierte Kontakte. Befindet sich unter folgendem Pfad: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
- Die Datei âpw.datâ. EnthĂ€lt das verschlĂŒsselte Passwort. Befindet sich unter folgendem Pfad: â/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/â.
- Die Datei ânet.whatsapp.WhatsApp.plistâ (oder die Datei âgroup.net.whatsapp.WhatsApp.shared.plistâ). EnthĂ€lt Informationen zum WhatsApp-Konto-Profil. Die Datei befindet sich unter folgendem Pfad: â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/â.
Der Inhalt der Datei âgroup.net.whatsapp.WhatsApp.shared.plistâ
Es ist auch wichtig, auf die folgenden Verzeichnisse zu achten:
- Verzeichnis â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/â. EnthĂ€lt Miniaturansichten von Kontakten, Gruppen (Dateien mit der Erweiterung .thumb), Avatare von Kontakten, das Avatar des WhatsApp-Konteninhabers (Datei âPhoto.jpgâ).
- Verzeichnis â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/â. EnthĂ€lt Mediendateien und deren Miniaturansichten
- Verzeichnis â/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/â. EnthĂ€lt das Programmprotokoll (Datei âcalls.logâ) und Sicherungskopien des Protokolls (Datei âcalls.backup.logâ).
- Verzeichnis â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/â. EnthĂ€lt Sticker (Dateien im Format â.webpâ).
- Verzeichnis â/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/â. EnthĂ€lt Protokolle der ProgrammaktivitĂ€t.
WhatsApp-Artefakte unter Windows
WhatsApp-Artefakte in Windows befinden sich an mehreren Orten. ZunĂ€chst sind dies Verzeichnisse, die ausfĂŒhrbare und unterstĂŒtzende Dateien des Programms enthalten (fĂŒr Windows 8/10):
- âC:Program Files (x86)WhatsAppâ
- âC:Users%User profile%AppDataLocalWhatsAppâ
- âC:Users%User profile%AppDataLocalVirtualStoreProgram Files (x86)WhatsAppâ
Im Verzeichnis âC:Users%User profile%AppDataLocalWhatsAppâ Die Protokolldatei befindet sich in âSquirrelSetup.logâ, die Informationen zur ĂberprĂŒfung von Updates und zur Installation des Programms enthĂ€lt.
Im Verzeichnis âC:Users%User profile%AppDataRoamingWhatsAppâ enthĂ€lt mehrere Unterverzeichnisse:
Die Datei âmain-process.logâ enthĂ€lt Informationen ĂŒber die AktivitĂ€t des WhatsApp-Programms.
Das Unterverzeichnis âdatabasesâ enthĂ€lt die Datei âDatabases.dbâ, aber diese Datei enthĂ€lt keine Informationen ĂŒber Chats oder Kontakte.
Die interessantesten Dateien aus kriminaltechnischer Sicht befinden sich im Verzeichnis âCacheâ. In der Regel handelt es sich um Dateien mit den Namen âf_*******â (wobei * eine Zahl von 0 bis 9 ist), die verschlĂŒsselte Multimedia-Dateien und Dokumente enthalten, wobei auch unverschlĂŒsselte Dateien darunter sind. Besonders interessant sind die Dateien âdata_0â, âdata_1â, âdata_2â, âdata_3â, die sich im gleichen Unterverzeichnis befinden. Die Dateien âdata_0â, âdata_1â, âdata_3â enthalten externe Links zu ĂŒbertragenen verschlĂŒsselten Multimedia-Dateien und Dokumenten.
Ein Beispiel fĂŒr Informationen, die in der Datei âdata_1â enthalten sind,
Die Datei âdata_3â kann auch grafische Dateien enthalten.
Die Datei âdata_2â enthĂ€lt Avatare von Kontakten (die durch Suchen nach den Dateititeln wiederhergestellt werden können).
Die Avatare, die in der Datei âdata_2â:

Daher sind die Chats im Computer nicht auffindbar, aber man kann Folgendes finden:
- Multimedia-Dateien;
- Dokumente, die ĂŒber WhatsApp gesendet wurden;
- Informationen ĂŒber die Kontakte des Kontoinhabers.
WhatsApp-Artefakte in MacOS
In MacOS findet man Arten von WhatsApp-Artefakten, die denen in Windows Àhneln.
Die Programmdateien befinden sich in den Verzeichnissen:
- âC:ApplicationsWhatsApp.appâ
- âC:Applications._WhatsApp.appâ
- âC:Users%User profile%LibraryPreferencesâ
- âC:Users%User profile%LibraryLogsWhatsAppâ
- âC:Users%User profile%LibrarySaved Application StateWhatsApp.savedStateâ
- âC:Users%User profile%LibraryApplication Scriptsâ
- âC:Users%User profile%LibraryApplication SupportCloudDocsâ
- âC:Users%User profile%LibraryApplication SupportWhatsApp.ShipItâ
- âC:Users%User profile%LibraryContainerscom.rockysandstudio.app-for-whatsappâ
- âC:Users%User profile% Library Mobile Documents WhatsApp Accountsâ
In diesem Verzeichnis befinden sich Unterverzeichnisse, deren Namen mit den Telefonnummern ĂŒbereinstimmen, die mit dem WhatsApp-Account des Nutzers verbunden sind. - âC:Users%User profile%LibraryCachesWhatsApp.ShipItâ
In diesem Verzeichnis befinden sich Informationen zur Installation des Programms. - âC:Users%User profile%PicturesMediateka iPhoto.photolibraryMastersâ, âC:Users%User profile%PicturesMediateka iPhoto.photolibraryThumbnailsâ
In diesen Verzeichnissen befinden sich unterstĂŒtzende Dateien des Programms, einschlieĂlich Fotos und Miniaturansichten von WhatsApp-Kontakten. - âC:Users%User profile%LibraryCachesWhatsAppâ
In diesem Verzeichnis gibt es mehrere SQLite-Datenbanken, die zur Speicherung von Daten im Cache verwendet werden. - âC:Users%User profile%LibraryApplication SupportWhatsAppâ
In diesem Verzeichnis gibt es mehrere Unterverzeichnisse:
Im Verzeichnis âC:Users%User profile%LibraryApplication SupportWhatsAppCacheâ liegen 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 Daten diese Dateien enthalten, sind im Abschnitt âWhatsApp-Artefakte in Windowsâ beschrieben.Im Verzeichnis âC:Usersnutzerprofil%LibraryApplication SupportWhatsAppIndexedDBâ können Multimediadateien enthalten (Dateien haben keine Erweiterungen).
Die Datei âmain-process.logâ enthĂ€lt Informationen ĂŒber die AktivitĂ€t des WhatsApp-Programms.
Quellen
- Forensische Analyse von WhatsApp Messenger auf Android-Smartphones, von Cosimo Anglano, 2014.
- Whatsapp Forensik: Erforschung von Dateisystemen und Datenbanken der Anwendungen Android und iOS von Ahmad Pratama, 2014.
In den folgenden Artikeln dieser Reihe:
Dekodierung verschlĂŒsselter WhatsApp-DatenbankenEin Artikel, der Informationen darĂŒber bietet, wie der VerschlĂŒsselungsschlĂŒssel von WhatsApp generiert wird, sowie praktische Beispiele, die zeigen, wie man die verschlĂŒsselten Daten dieser Anwendung dekodiert.
Datenextraktion von WhatsApp aus Cloud-SpeichernEin Artikel, in dem wir beschreiben, welche Daten von WhatsApp in der Cloud gespeichert werden und die Methoden zur Extraktion dieser Daten aus Cloud-Speichern erlÀutern.
Datenextraktion von WhatsApp: praktische BeispieleEin Artikel, der Schritt fĂŒr Schritt beschreibt, mit welchen Programmen und wie die Extraktion von WhatsApp-Daten von verschiedenen GerĂ€ten durchgefĂŒhrt werden kann.
Quelle: habr.com








