
Möchten Sie erfahren, welche Arten von forensischen Artefakten von WhatsApp in verschiedenen Betriebssystemen existieren und wo genau sie entdeckt werden können â dann sind Sie hier richtig. In diesem Artikel eröffnet ein Spezialist des Computerforensiklabors Group-IB Igor Michailow eine Reihe von Veröffentlichungen zur forensischen Untersuchung von WhatsApp und darĂŒber, welche Informationen bei der Analyse des GerĂ€ts gewonnen werden können.
Wir möchten sofort darauf hinweisen, dass in verschiedenen Betriebssystemen unterschiedliche Arten von WhatsApp-Artefakten gespeichert werden, und wenn ein Forscher von einem GerÀt bestimmte Arten von WhatsApp-Daten extrahieren kann, bedeutet das nicht unbedingt, dass Àhnliche Datentypen von einem anderen GerÀt extrahiert werden können. Zum Beispiel, wenn ein Systemblock unter Windows-Betriebssystem beschlagnahmt wird, werden wahrscheinlich keine WhatsApp-Chats auf dessen Festplatten gefunden (Ausnahmen bilden iOS-GerÀtesicherungen, die auf denselben Speichermedien gefunden werden können). Beim Beschlagnahmen von Laptops und mobilen GerÀten gibt es eigene Besonderheiten. Lassen Sie uns das etwas genauer besprechen.
WhatsApp-Artefakte auf Android-GerÀten
Um WhatsApp-Artefakte von einem GerĂ€t mit dem Betriebssystem Android 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 Abbild des Speicherinhalts des GerĂ€ts oder dessen Dateisystem zu extrahieren (zum Beispiel durch Ausnutzung spezifischer Softwareverwundbarkeiten des MobilgerĂ€ts).
Die Anwendungsdateien befinden sich im Speicher des Telefons in dem Abschnitt, in dem Benutzerdaten gespeichert werden. In der Regel trÀgt dieser Abschnitt den Namen 'userdata'. Unterverzeichnisse und Programmdaten befinden sich im Pfad: '/data/data/com.whatsapp/'.

Die wichtigsten Dateien, die forensische Artefakte von WhatsApp im Android-Betriebssystem 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 jeder anderen Information, die bei der Registrierung bei WhatsApp angegeben wurde. Die Datei 'wa.db' befindet sich im Pfad: '/data/data/com.whatsapp/databases/' und hat folgende Struktur:

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

TabellenstrukturFeldname Wert _id fortlaufende Nummer des Eintrags (in der SQL-Tabelle) jid WhatsApp-ID des Kontakts, im Format @s.whatsapp.net gespeichert is_whatsapp_user enthĂ€lt '1', wenn der Kontakt ein tatsĂ€chlicher WhatsApp-Benutzer ist, '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 verknĂŒpft ist raw_contact_id fortlaufende Nummer des Kontakts display_name angezeigter Name des Kontakts phone_type Telefontyp phone_label Bezeichnung, die mit der Kontaktnummer verknĂŒpft ist unseen_msg_count Anzahl der Nachrichten, die vom Kontakt gesendet wurden, aber vom EmpfĂ€nger nicht gelesen wurden photo_ts enthĂ€lt den Zeitstempel im Format Unix Epoch Time thumb_ts enthĂ€lt den Zeitstempel im Format Unix Epoch Time photo_id_timestamp enthĂ€lt den Zeitstempel im Format Unix Epoch Time (ms) given_name Der Wert des Feldes entspricht dem 'display_name' fĂŒr jeden Kontakt wa_name Name des Kontakts in WhatsApp (angezeigter Name im Profil des Kontakts) sort_name Name des Kontakts, der bei SortiervorgĂ€ngen verwendet wird nickname Nickname des Kontakts in WhatsApp (angezeigter Nickname im Profil des Kontakts) company Unternehmen (angezeigtes Unternehmen im Profil des Kontakts) title Anrede (Frau/Herr; angezeigte Anrede, die im Profil des Kontakts eingestellt ist) offset Offset - '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 ĂŒbertragene Nachrichten, wie Kontaktnummer, Nachrichtentext, Nachrichtenstatus, Zeitstempel, Informationen zu ĂŒbertragene Dateien, die in Nachrichten enthalten sind usw. Datei 'msgstore.db' befindet sich im Pfad: '/data/data/com.whatsapp/databases/' und hat folgende Struktur:

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

- 'message_fts_content'
EnthĂ€lt den Text der ĂŒbermittelten Nachrichten.Aussehen der Tabelle:

- 'messages'
Diese Tabelle enthĂ€lt Informationen wie Kontaktnummer, Nachrichtentext, Nachrichtenstatus, Zeitstempel, Informationen zu ĂŒbertragene Dateien, die in Nachrichten enthalten sind.Aussehen der Tabelle:

TabellenstrukturFeldname Wert _id fortlaufende Nummer des Eintrags (in der SQL-Tabelle) key_remote_jid WhatsApp-ID des Kommunikationspartners key_from_me Richtung der Nachricht: '0' â eingehend, '1' â ausgehend key_id eindeutige Identifikationsnummer der Nachricht status Status der Nachricht: '0' â zugestellt, '4' â wartet auf Server, '5' â am Zielort erhalten, '6' â Kontrollnachricht, '13' â Nachricht wurde 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' gleich '0' ist) timestamp enthĂ€lt einen Zeitstempel im Format Unix Epoch Time (ms), der Wert wird von der Uhr des GerĂ€ts genommen media_url enthĂ€lt die URL der ĂŒbertragenen Datei (wenn der Parameter 'media_wa_type' gleich '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' gleich '1', '2', '3' ist) media_name Name der ĂŒbertragenen Datei (wenn der Parameter 'media_wa_type' gleich '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' gleich '1', '3' ist) media_hash base64-kodierter Hash der ĂŒbertragenen 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 Geodaten: Breite (wenn der Parameter 'media_wa_type' gleich '5' ist) longitude Geodaten: LĂ€nge (wenn der Parameter 'media_wa_type' gleich '5' ist) thumb_image Systeminformationen remote_recource ID des Absenders (nur fĂŒr Gruppenchats) received_timestamp Zeitpunkt des Empfangs, enthĂ€lt einen Zeitstempel im Format Unix Epoch Time (ms), der Wert wird von der Uhr des GerĂ€ts genommen (wenn der Parameter 'key_from_me' '0', '-1' oder einen anderen Wert hat) send_timestamp wird nicht verwendet, hat normalerweise den Wert '-1' receipt_server_timestamp Zeitpunkt des Empfangs durch den Server Server, enthĂ€lt einen Zeitstempel im Format Unix Epoch Time (ms), der Wert wird von der Uhr des GerĂ€ts genommen (wenn der Parameter 'key_from_me' '1', '-1' oder einen anderen Wert hat receipt_device_timestamp Zeitpunkt des Empfangs der Nachricht durch einen anderen EmpfĂ€nger, enthĂ€lt einen Zeitstempel im Format Unix Epoch Time (ms), der Wert wird von der Uhr des GerĂ€ts genommen (wenn der Parameter 'key_from_me' '1', '-1' oder einen anderen Wert hat read_device_timestamp Die Ăffnungszeit (Lesen) der Nachricht enthĂ€lt einen Zeitstempel im Unix-Epoch-Zeitformat (ms), der Wert stammt von der Uhr des GerĂ€ts. played_device_timestamp Die Wiedergabezeit der Nachricht enthĂ€lt einen Zeitstempel im Unix-Epoch-Zeitformat (ms), der Wert stammt von der Uhr des GerĂ€ts. 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 Ăbertragen von Nachrichten mit Geodaten verwendet. starred nicht verwendet quoted_row_id Unbekannt, normalerweise enthĂ€lt es den Wert â0â. mentioned_jids nicht verwendet multicast_id nicht verwendet offset Offset Diese Liste ist nicht vollstĂ€ndig. In verschiedenen Versionen von WhatsApp können einige Felder vorhanden oder nicht vorhanden sein. ZusĂ€tzlich können Felder vorhanden sein. âmedia_enc_hashâ, âedit_versionâ, âpayment_transaction_idâ usw.
- âmessages_thumbnailsâ
Diese Tabelle enthĂ€lt Informationen ĂŒber ĂŒbertragene Bilder und Zeitstempel. In der Spalte âtimestampâ ist die Zeit im Unix-Epoch-Zeitformat (ms) angegeben. - âchat_listâ
Diese Tabelle enthĂ€lt Informationen ĂŒber Chats.Aussehen der Tabelle:

Auch beim Untersuchen von WhatsApp auf einem Android-GerÀt sollten die folgenden Dateien beachtet werden:
- Die Datei âmsgstore.db.cryptXXâ (wobei XX eine oder zwei Ziffern von 0 bis 12 ist, z.B. msgstore.db.crypt12). EnthĂ€lt ein verschlĂŒsseltes Backup von WhatsApp-Nachrichten (Backup-Datei msgstore.db). Die Datei (oder Dateien) âmsgstore.db.cryptXXâ befindet sich im 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 zur EntschlĂŒsselung von verschlĂŒsselten WhatsApp-Backups verwendet.
- Die Datei âcom.whatsapp_preferences.xmlâ. EnthĂ€lt Informationen ĂŒber das WhatsApp-Konto. Die Datei befindet sich unter dem Pfad: â/data/data/com.whatsapp/shared_prefs/â.
Fragment des Inhalts der Datei
⊠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 ĂŒber die 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â. Es enthĂ€lt kryptografische SchlĂŒssel und andere Daten, die notwendig sind, um den Besitzer des Kontos zu identifizieren. Zu finden unter dem Pfad: '/data/data/com.whatsapp/databases/'.
- Die Datei âchatsettings.dbâ. Es enthĂ€lt Informationen ĂŒber die Konfiguration der Anwendung.
- Die Datei 'wa.db'. Es enthĂ€lt Details zu Kontakten. Eine sehr interessante (aus kriminalistischer Sicht) und informative Datenbank. Sie kann detaillierte Informationen ĂŒber gelöschte Kontakte enthalten.
Es sollte auch auf folgende Verzeichnisse geachtet werden:
- Verzeichnis â/data/media/0/WhatsApp/Media/WhatsApp Images/â. Es enthĂ€lt ĂŒbertragene Grafikdateien.
- Verzeichnis â/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/â. Es enthĂ€lt Sprachnachrichten in .OPUS-Dateien.
- Verzeichnis â/data/data/com.whatsapp/cache/Profile Pictures/â. Es enthĂ€lt Grafikdateien â Bilder von Kontakten.
- Verzeichnis â/data/data/com.whatsapp/files/Avatars/â. Es enthĂ€lt Grafikdateien â Miniaturansichten von Kontakten. Diese Dateien haben die Endung â.jâ, sind jedoch Grafikdateien im JPEG-Format (JPG).
- Verzeichnis â/data/data/com.whatsapp/files/Avatars/â. Es enthĂ€lt Grafikdateien â das Bild und die Miniaturansicht des Bildes, das als Avatar vom Kontoinhaber festgelegt wurde.
- Verzeichnis â/data/data/com.whatsapp/files/Logs/â. Es enthĂ€lt ein Protokoll der Programmarbeit (Datei âwhatsapp.logâ) und Sicherungskopien der Protokolle der Programmarbeit (Dateien mit dem Namensformat whatsapp-jjjj-mm-tt.1.log.gz).
WhatsApp-Protokolldateien:

Protokollausschnitt2017-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] password file missing or unreadable
2017-01-10 09:37:09.782 LL_I D [1:main] statistics Text Messages: 59 gesendet, 82 empfangen / Media Messages: 1 gesendet (0 Bytes), 0 empfangen (9850158 Bytes) / Offline Messages: 81 empfangen (19522 msec durchschnittliche Verzögerung) / Message Service: 116075 Bytes gesendet, 211729 Bytes empfangen / Voip Calls: 1 abgehende Anrufe, 0 eingehende Anrufe, 2492 Bytes gesendet, 1530 Bytes empfangen / Google Drive: 0 Bytes gesendet, 0 Bytes empfangen / Roaming: 1524 Bytes gesendet, 1826 Bytes empfangen / Gesamte Daten: 118567 Bytes gesendet, 10063417 Bytes empfangen
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: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-Kontoinhaber verbunden sind.
- Um Speicherplatz auf dem Android-Smartphone zu sparen, können Teile der WhatsApp-Daten auf der SD-Karte gespeichert werden. Im Root-Verzeichnis der SD-Karte befindet sich das Verzeichnis âWhatsAppâ, in dem die folgenden Artefakte dieses Programms gefunden werden können:

- Verzeichnis â.Shareâ (â/mnt/sdcard/WhatsApp/.Share/â). EnthĂ€lt Kopien von Dateien, die an andere WhatsApp-Nutzer ĂŒbertragen 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 Datei vorhanden ist âkeyâ, die aus dem Speicher des analysierten GerĂ€ts extrahiert wurde.
Dateien, die sich im Unterverzeichnis befinden. âDatabasesâ:

- Verzeichnis âMediaâ (â/mnt/sdcard/WhatsApp/Media/â). EnthĂ€lt Unterverzeichnisse âWallPaperâ, âWhatsApp Audioâ, âWhatsApp Bilderâ, âWhatsApp Profilfotosâ, âWhatsApp Videoâ, âWhatsApp Sprachnachrichtenâ, in denen die empfangenen und gesendeten Multimedia-Dateien (Grafikdateien, Videodateien, Sprachnachrichten, Fotos, die mit dem Profil des WhatsApp-Kontoinhabers verbunden sind, HintergrĂŒnde) gespeichert sind.
- Verzeichnis âProfilbilderâ (â/mnt/sdcard/WhatsApp/Profilbilder/â). EnthĂ€lt Grafikdateien, die mit dem Profil des WhatsApp-Kontoinhabers verbunden sind.
- Manchmal kann auf der SD-Karte ein Verzeichnis vorhanden sein âfilesâ (â/mnt/sdcard/WhatsApp/Files/â). In diesem Verzeichnis sind Dateien gespeichert, in denen die Programmeinstellungen und Benutzervoreinstellungen gespeichert sind.
Besonderheiten der Datenspeicherung in einigen Modellen mobiler GerÀte
In einigen Modellen mobiler GerĂ€te, die mit Android OS betrieben werden, kann die Speicherung von WhatsApp-Artifacts an einem anderen Ort erfolgen. Dies liegt an der Ănderung des Speicherorts der Anwendungsdaten durch die Systemsoftware des mobilen GerĂ€ts. So haben beispielsweise MobilgerĂ€te von Xiaomi eine Funktion zur Erstellung eines zweiten Arbeitsbereichs (âSecondSpaceâ). Bei Aktivierung dieser Funktion verĂ€ndert sich der Speicherort der Daten. Bei einem normalen Android-MobilgerĂ€t werden die Benutzerdaten im Verzeichnis â/data/user/0/â (was auf die gewohnten â/data/data/â) verweist, werden die Anwendungsdaten im zweiten Arbeitsbereich im Verzeichnis gespeichert â/data/user/10/â. Das heiĂt, am Beispiel des Speicherorts der Datei 'wa.db':
- auf einem normalen Android-Smartphone: /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-Artifacts auf iOS-GerÀt
Im Gegensatz zu Android OS werden die Daten der WhatsApp-Anwendung in ein Backup (iTunes-Backup) ĂŒbertragen. Daher erfordert das Extrahieren von Daten dieser Anwendung nicht das Extrahieren des Dateisystems oder das Erstellen eines physischen Speicherdumps des untersuchten GerĂ€ts. Der gröĂte 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 âAppDomainGroup-group.net.whatsapp.WhatsApp.sharedâ).
Struktur âChatStorage.sqliteâ:

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

Die Struktur der Tabelle 'ZWAMESSAGE'
| Feldname | Wert |
|---|---|
| Z_PK | fortlaufende Nummer des Eintrags (in der SQL-Tabelle) |
| Z_ENT | Tabellenkennung, hat den Wert '9' |
| Z_OPT | unbekannt, enthÀlt normalerweise Werte von '1' bis '6' |
| ZCHILDMESSAGESDELIVEREDCOUNT | Unbekannt, normalerweise enthĂ€lt es den Wert â0â. |
| ZCHILDMESSAGESPLAYEDCOUNT | Unbekannt, normalerweise enthĂ€lt es den Wert â0â. |
| ZCHILDMESSAGESREADCOUNT | Unbekannt, normalerweise enthĂ€lt es den Wert â0â. |
| ZDATAITEMVERSION | unbekannt, enthÀlt normalerweise den Wert '3', wahrscheinlich ein Zeiger auf die Textnachricht |
| ZDOCID | unbekannt |
| ZENCRETRYCOUNT | Unbekannt, normalerweise enthĂ€lt es den Wert â0â. |
| ZFILTEREDRECIPIENTCOUNT | unbekannt, enthÀlt normalerweise die Werte '0', '2', '256' |
| ZISFROMME | Richtung der Nachricht: '0' â eingehend, '1' â ausgehend |
| ZMESSAGEERRORSTATUS | Status der NachrichtenĂŒbertragung. Wenn die Nachricht gesendet/empfangen wurde, hat sie den Wert '0' |
| ZMESSAGETYPE | Typ der ĂŒbermittelten Nachricht |
| ZSORT | unbekannt |
| ZSPOTLIGHSTATUS | unbekannt |
| ZSTARRED | unbekannt, wird nicht verwendet |
| ZCHATSESSION | unbekannt |
| ZGROUPMEMBER | unbekannt, wird nicht verwendet |
| ZLASTSESSION | unbekannt |
| ZMEDIAITEM | unbekannt |
| ZMESSAGEINFO | unbekannt |
| ZPARENTMESSAGE | unbekannt, wird 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 ĂŒbermittelten Mediendatei |
| ZPHASH | unbekannt, wird nicht verwendet |
| ZPUSHPAME | Name des Kontakts, der die Mediendatei im UTF-8-Format gesendet hat |
| ZSTANZID | eindeutige Identifikationsnummer der Nachricht |
| ZTEXT | Text der Nachricht |
| ZTOJID | WhatsApp-ID des EmpfÀngers |
| OFFSET | Offset |
Aussehen der Tabelle âZWAMEDIAITEMâ:

Die Struktur der Tabelle 'ZWAMEDIAITEM'
| Feldname | Wert |
|---|---|
| Z_PK | fortlaufende Nummer des Eintrags (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 hochgeladen wurde. |
| ZFILESIZE | enthĂ€lt die DateilĂ€nge (in Bytes) fĂŒr hochgeladene Dateien |
| ZMEDIAORIGIN | unbekannt, hat normalerweise den Wert '0' |
| ZMOVIEDURATION | Dauer der Mediendatei, bei PDF-Dateien kann sie die Seitenanzahl des Dokuments enthalten |
| ZMESSAGE | enthÀlt eine fortlaufende Nummer (die Nummer unterscheidet sich von der in der Spalte 'Z_PK') |
| ZASPECTRATIO | SeitenverhÀltnis, wird nicht verwendet, hat normalerweise den Wert '0' |
| ZHACCURACY | unbekannt, hat normalerweise den Wert '0' |
| ZLATTITUDE | Breite in Pixeln |
| ZLONGTITUDE | Höhe in Pixeln |
| 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 der die Mediendatei verfĂŒgbar war. Wenn die Datei von einem Abonnenten an einen anderen ĂŒbermittelt wurde, wurde sie verschlĂŒsselt, und die Erweiterung wird als die ĂŒbertragene Datei - .enc |
| ZTHUMBNAILLOCALPATH | Pfad zur Miniaturansicht der Datei im Dateisystem des GerÀts |
| ZTITLE | Dateititel |
| ZVCARDNAME | Hash der Mediendatei, beim Ăbertragen einer Datei in eine Gruppe kann sie die Absender-ID enthalten |
| ZVCARDSTRING | enthĂ€lt Informationen ĂŒber den Typ der ĂŒbermittelten Datei (z. B. image/jpeg), beim Ăbertragen einer Datei in eine Gruppe kann sie die EmpfĂ€nger-ID enthalten |
| ZXMPPTHUMBPATH | Pfad zur Miniaturansicht der Datei im Dateisystem des GerÀts |
| ZMEDIAKEY | Unbekannt, wahrscheinlich enthĂ€lt es den SchlĂŒssel zur EntschlĂŒsselung der verschlĂŒsselten Datei. |
| ZMETADATA | Metadaten der ĂŒbermittelten Nachricht |
| Offset | Offset |
Andere interessante Datenbanktabellen âChatStorage.sqliteâ sind:
- âZWAPROFILEPUSHNAMEâ. VerknĂŒpft die WhatsApp-ID mit dem Namen des Kontakts;
- âZWAPROFILEPICTUREITEMâ. VerknĂŒpft die WhatsApp-ID mit dem Profilbild des Kontakts;
- âZ_PRIMARYKEYâ. Die Tabelle enthĂ€lt allgemeine Informationen zu dieser Datenbank, wie die Gesamtzahl der gespeicherten Nachrichten, die Gesamtzahl der Chats usw.
AuĂerdem sollte bei der Untersuchung von WhatsApp auf einem iOS-basierten MobilgerĂ€t auf folgende Dateien geachtet werden:
- Die Datei âBackedUpKeyValue.sqliteâ. Es enthĂ€lt kryptografische SchlĂŒssel und andere Daten, die notwendig sind, um den Besitzer des Kontos zu identifizieren. Zu finden unter dem Pfad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Die Datei âContactsV2.sqliteâ. EnthĂ€lt Informationen zu den Kontakten des Benutzers, wie Name, Telefonnummer, Status des Kontakts (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-Anwendung. Befindet sich unter folgendem Pfad: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. In Ă€lteren Versionen der Anwendung 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-Kontoprofil. 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 sollte auch auf folgende Verzeichnisse geachtet werden:
- 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 und das Profilbild des WhatsApp-Kontoinhabers (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 Protokoll der ProgrammaktivitĂ€t (Datei âcalls.logâ) und Sicherungskopien von Protokolldateien (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 die Protokolle der ProgrammaktivitĂ€t.
WhatsApp-Artefakte in Windows
WhatsApp-Artefakte in Windows können an mehreren Orten gefunden werden. ZunĂ€chst sind dies Verzeichnisse, die die ausfĂŒhrbaren und Hilfsdateien des Programms enthalten (fĂŒr Windows 8/10):
- âC:Program Files (x86)WhatsAppâ
- 'C:Benutzernutzerprofil%AppDataLocalWhatsApp'
- 'C:Benutzernutzerprofil%AppDataLocalVirtualStoreProgram Files (x86)WhatsApp'
Im Verzeichnis 'C:Benutzernutzerprofil%AppDataLocalWhatsApp' liegt die Protokolldatei 'SquirrelSetup.log', die Informationen ĂŒber die ĂberprĂŒfung von Updates und die Installation der Software enthĂ€lt.
Im Verzeichnis 'C:Benutzernutzerprofil%AppDataRoamingWhatsApp' enthÀlt mehrere Unterverzeichnisse:
Die Datei 'main-process.log' enthĂ€lt Informationen ĂŒber den Betrieb der WhatsApp-Anwendung.
Unterverzeichnis 'databases' enthĂ€lt die Datei 'Databases.db', aber diese Datei enthĂ€lt keine Informationen ĂŒber Chats oder Kontakte.
Die aus kriminalistischer Sicht interessantesten Dateien befinden sich im Verzeichnis 'Cache'. Es handelt sich hauptsĂ€chlich um Dateien mit den Namen 'f_*******' (wo * eine Zahl von 0 bis 9 ist), die verschlĂŒsselte Multimedia-Dateien und Dokumente enthalten, aber darunter gibt es auch unverschlĂŒsselte Dateien. Besonders interessant 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 ĂŒbermittelten verschlĂŒsselten Multimedia-Dateien und Dokumenten.
Beispiel fĂŒr Informationen, die in der Datei 'data_1' enthalten sind
Die Datei 'data_3' kann auch Bilddateien enthalten.
Die Datei 'data_2' enthÀlt Avatare von Kontakten (diese können durch die Dateiköpfe wiederhergestellt werden).
Avatare, die in der Datei enthalten sind 'data_2':

Somit lassen sich die Chats selbst im Computer nicht finden, aber es können gefunden werden:
- Multimedia-Dateien;
- Dokumente, die ĂŒber WhatsApp gesendet wurden;
- Informationen ĂŒber die Kontakte des Kontoinhabers.
WhatsApp-Artefakte in MacOS
In MacOS finden sich Arten von WhatsApp-Artefakten, Àhnlich denen, die in Windows vorhanden sind.
Die Programmdateien befinden sich in den Verzeichnissen:
- 'C:ApplicationsWhatsApp.app'
- 'C:Applications._WhatsApp.app'
- 'C:Benutzernutzerprofil%LibraryPreferences'
- 'C:Benutzernutzerprofil%LibraryLogsWhatsApp'
- 'C:Benutzernutzerprofil%LibrarySaved Application StateWhatsApp.savedState'
- 'C:Benutzernutzerprofil%LibraryApplication Scripts'
- 'C:Benutzernutzerprofil%LibraryApplication SupportCloudDocs'
- 'C:Benutzernutzerprofil%LibraryApplication SupportWhatsApp.ShipIt'
- 'C:Benutzernutzerprofil%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
- 'C:Benutzernutzerprofil%LibraryMobile Documents WhatsApp Accounts'
In diesem Verzeichnis befinden sich Unterverzeichnisse, deren Namen die mit dem WhatsApp-Kontoinhaber verbundenen Telefonnummern darstellen. - 'C:Benutzernutzerprofil%LibraryCachesWhatsApp.ShipIt'
In diesem Verzeichnis befinden sich Informationen zur Installation der Software. - 'C:Benutzernutzerprofil%PicturesMediathek iPhoto.photolibraryMasters', 'C:Benutzernutzerprofil%PicturesMediathek iPhoto.photolibraryThumbnails'
In diesen Katalogen befinden sich Systemdateien des Programms, einschlieĂlich Fotos und Miniaturansichten von WhatsApp-Kontakten. - 'C:Users%User profile%LibraryCachesWhatsApp'
In diesem Verzeichnis befinden sich mehrere SQLite-Datenbanken, die zum Caching von Daten verwendet werden. - 'C:Users%User profile%LibraryApplication SupportWhatsApp'
In diesem Verzeichnis gibt es mehrere Unterverzeichnisse:
Im Verzeichnis 'C:Users%User profile%LibraryApplication SupportWhatsAppCache' es befinden sich Dateien 'data_0', 'data_1', 'data_2', 'data_3' und Dateien mit den Namen 'f_*******' (wo * â 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:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB' könnten Multimediadateien enthalten (Dateien haben keine Erweiterungen).
Die Datei 'main-process.log' enthĂ€lt Informationen ĂŒber den Betrieb der WhatsApp-Anwendung.
Quellen
- Forensische Analyse von WhatsApp Messenger auf Android-Smartphones, von Cosimo Anglano, 2014.
- Whatsapp Forensics: Eksplorasi sistem berkas dan basis data pada aplikasi Android und iOS von Ahmad Pratama, 2014.
In den folgenden Artikeln dieser Reihe:
EntschlĂŒsselung verschlĂŒsselter WhatsApp-DatenbankenEin Artikel, der Informationen darĂŒber liefert, wie der VerschlĂŒsselungsschlĂŒssel von WhatsApp erzeugt wird, und praktische Beispiele gibt, die zeigen, wie man die verschlĂŒsselten Datenbanken dieser Anwendung entschlĂŒsseln kann.
Datenextraktion von WhatsApp aus Cloud-SpeichernEin Artikel, in dem wir erlÀutern, welche WhatsApp-Daten in den Cloud gespeichert werden und Methoden zur Extraktion dieser Daten aus Cloud-Speichern beschreiben.
Datenextraktion von WhatsApp: praktische BeispieleEin Artikel, in dem Schritt fĂŒr Schritt beschrieben wird, mit welchen Programmen und wie Daten von WhatsApp von verschiedenen GerĂ€ten extrahiert werden können.
Quelle: habr.com








