Cybersecurity

Das iPhone-Backup als Beweisquelle

Was steckt in einem iPhone-Backup, warum ist das verschlüsselte Backup forensisch wertvoller als das unverschlüsselte, und wie wertest du es systematisch aus? In diesem Teil ziehen wir zwei Backups vom selben Gerät, vergleichen sie Datei für Datei und lassen ein Open-Source-Werkzeug die Auswertung übernehmen.

Was steckt in einem iPhone-Backup, warum ist das verschlüsselte Backup forensisch wertvoller als das unverschlüsselte, und wie wertest du es systematisch aus? In diesem Teil ziehen wir zwei Backups vom selben Gerät, vergleichen sie Datei für Datei und lassen ein Open-Source-Werkzeug die Auswertung übernehmen.

*Teil 2 von 12 der Serie „Mobile Forensik“. Die Übersicht aller Teile findest du am Ende des Artikels.*

Rechtlicher Hinweis: Dieser Artikel ist keine Rechtsberatung. Ein iPhone-Backup enthält höchstpersönliche Daten: Nachrichten, Fotos, Standorte, Gesundheitsdaten, Passwörter. Selbst ein Backup des eigenen Geräts enthält Daten Dritter (Kontakte, Chatverläufe). Ohne Einwilligung oder richterlichen Beschluss darf niemand ein fremdes Gerät sichern. Im betrieblichen Umfeld gelten zusätzlich DSGVO und Mitbestimmungsrechte. Im Zweifel: zuerst den Rechtsbeistand fragen, dann das Backup ziehen. Alle Beispiele stammen von meinem Zweit-iPhone, das ich im Alltag nutze. Telefonnummern, Gerätekennungen und App-Namen sind geschwärzt.

Was du brauchst

  • Einen Mac mit macOS 26 (oder neuer)
  • Ein iPhone mit USB-Kabel (Lightning oder USB-C)
  • libimobiledevice (brew install libimobiledevice)
  • pymobiledevice3 (pip install pymobiledevice3)
  • iLEAPP (https://github.com/abrignoni/iLEAPP)
  • MVT (pip install mvt) für die Entschlüsselung
  • DB Browser for SQLite (brew install --cask db-browser-for-sqlite)
  • Etwa 15 GB freien Speicher für zwei Backups und die Auswertung

Gerät anschließen und identifizieren

Verbinde das iPhone per USB mit dem Mac. Beim ersten Mal fragt das iPhone „Diesem Computer vertrauen?“. Tippe auf „Vertrauen“ und gib den Gerätecode ein. Dieser Schritt hinterlässt eine Spur: Der Mac legt ein Pairing-Record unter /var/db/lockdown/ an. Wer später den Mac untersucht, sieht, welche Geräte jemals verbunden waren.

iPhone mit dem Dialog Diesem Computer vertrauen, der Mac heißt MacBook Neo von Peter, Knöpfe Vertrauen und Nicht vertrauen
Der Vertrauensdialog nennt den Namen des Computers. Wer hier auf „Vertrauen“ tippt, gibt dem Mac Zugriff auf Einstellungen und Daten.
iPhone-Bildschirm Gerätecode eingeben, um diesem Computer zu vertrauen, mit Zahlenfeld
Ohne den Gerätecode keine Kopplung. Genau deshalb ist ein unbekannter Code für Ermittler die größte Hürde.

Unter macOS 26 ist dieses Verzeichnis durch System Integrity Protection geschützt. Selbst mit sudo bekommst du keinen Zugriff, ohne dem Terminal vorher „Voller Festplattenzugriff“ in den Systemeinstellungen zu geben. Ein Detail, das in der Praxis überrascht.

Ist das Gerät verbunden, fragst du es mit libimobiledevice ab:

idevice_id -l

Die Ausgabe ist die UDID des Geräts, eine 24-stellige Kennung. Mit ideviceinfo holst du mehr:

ideviceinfo -k ProductType
ideviceinfo -k ProductVersion
ideviceinfo -k SerialNumber

Auf meinem Zweit-iPhone, einem iPhone 17 Pro (Gerätekennung iPhone18,1), läuft iOS 26.5.1. pymobiledevice3 liefert dieselben Informationen in einem anderen Format:

pymobiledevice3 usbmux list

Die Ausgabe ist JSON und enthält Modell, iOS-Version, Verbindungstyp (USB) und UDID. Für Skripte praktischer als die zeilenweise Ausgabe von libimobiledevice.

Schon ohne Backup verrät das Gerät also: Modell, iOS-Version, Seriennummer, UDID, IMEI, MAC-Adressen von WLAN und Bluetooth, Netzbetreiber und Zeitzone. Das reicht, um ein Gerät eindeutig zuzuordnen.

Das unverschlüsselte Backup

Ein iPhone-Backup über USB ziehst du mit einem einzigen Befehl:

time idevicebackup2 backup --full ~/forensik/backups/unverschluesselt/

Das Gerät muss entsperrt sein. Der Befehl wartet auf die Passcodeeingabe, falls der Bildschirm gesperrt ist. time davor misst die Dauer.

Auf meinem Zweit-iPhone mit etwa 3 GB Daten dauerte das Backup 4 Minuten und 57 Sekunden. Es landeten 6.315 Dateien mit zusammen 3,2 GB auf der Platte.

Terminal: idevicebackup2 erkennt das iPhone und zieht ein unverschlüsseltes Backup mit 6.315 Dateien in knapp fünf Minuten
Das unverschlüsselte Backup per idevicebackup2. Darstellung nachgebaut, Werte aus meinem Durchlauf, Kennungen geschwärzt.

Aufbau des Backups

Das Backup liegt in einem Ordner, der nach der UDID benannt ist. Darin:

DateiInhalt
Info.plistGeräteinformationen: Modell, iOS-Version, IMEI, Seriennummer, installierte Apps
Manifest.plistBackup-Metadaten: Verschlüsselungsstatus, BackupKeyBag
Manifest.dbSQLite-Datenbank mit dem Verzeichnis aller gesicherten Dateien
Status.plistBackup-Status: Zeitstempel, Version, Zustand
00/ bis ff/256 Unterordner mit den eigentlichen Dateien, benannt nach SHA-1-Hash

Die Dateien in den Hash-Ordnern tragen keine lesbaren Namen. Ihr Originalname und -pfad steckt in der Manifest.db. Du findest eine bestimmte Datei per SQL:

sqlite3 Manifest.db "SELECT fileID, domain, relativePath
  FROM Files
  WHERE relativePath = 'NoteStore.sqlite'
  AND domain = 'AppDomainGroup-group.com.apple.notes';"

Die Ausgabe ist der SHA-1-Hash der Datei. Die ersten zwei Zeichen sind der Unterordner. In meinem Backup lag die Notizen-Datenbank unter 4f/4f98687d…. Die Datei lässt sich direkt mit DB Browser for SQLite oder sqlite3 öffnen.

Die Manifest.db enthielt 14.313 Einträge. 8.001 davon sind Verzeichniseinträge (flag=2), die restlichen 6.312 sind Dateien, was fast genau der Zahl der Dateien auf der Platte entspricht.

Was steckt in welcher Domain?

Das Backup ist in Domains organisiert. Die zehn größten in meinem Backup:

DomainEinträge
HomeDomain4.560
CameraRollDomain3.425
AppDomain-com.apple.PosterBoard226
AppDomain-[App A]147
AppDomainGroup-group.com.apple.stocks135
MediaDomain111
KeychainDomain2

HomeDomain enthält Kontakte, Kalender, Notizen, Safari-Lesezeichen und Systemeinstellungen. CameraRollDomain sind Fotos und Videos. Jede installierte App bekommt eine eigene AppDomain mit ihren lokalen Daten. Die KeychainDomain ist im unverschlüsselten Backup fast leer: nur eine Plist-Datei, keine Passwörter.

Terminal: Abfrage der Manifest.db mit sqlite3, Zahl der Einträge und die größten Domains
Die Manifest.db ist das Inhaltsverzeichnis des Backups. Darstellung nachgebaut, Zählwerte aus meinem Durchlauf, Hashwerte beispielhaft.

Das verschlüsselte Backup

Backup-Verschlüsselung aktivierst du über iTunes, den Finder oder per Befehl. Im Finder ist es ein Haken unter „Backups“:

macOS-Finder mit verbundenem iPhone 17 Pro, Bereich Backups mit gesetztem Haken bei Lokales Backup verschlüsseln
Der Haken im Finder schaltet die Verschlüsselung für alle künftigen lokalen Backups ein. Gerätename geschwärzt.

Auf der Kommandozeile:

idevicebackup2 encryption on "DEIN-PASSWORT"

Das Passwort wird auf dem Gerät gespeichert, nicht auf dem Mac. Es bleibt aktiv, bis du es explizit ausschaltest. Vergiss es nicht: ohne Passwort kein Zugriff auf das Backup.

Das verschlüsselte Backup ziehst du genauso wie das unverschlüsselte:

time idevicebackup2 backup --full ~/forensik/backups/verschluesselt/

Dauer: 4 Minuten 52 Sekunden, fast identisch. Aber das Ergebnis ist anders.

Der Unterschied

KennzahlUnverschlüsseltVerschlüsselt
Größe3,2 GB3,5 GB
Dateien6.3156.377
Manifest.db-Einträge14.31314.423
Manifest.db lesbarjanein (verschlüsselt)

Das verschlüsselte Backup ist 300 MB größer und enthält 62 zusätzliche Dateien und 110 zusätzliche Manifest-Einträge. Der Grund: Apple sichert bei aktivierter Verschlüsselung zusätzliche, besonders sensible Datenquellen mit, die im unverschlüsselten Backup fehlen.

Die Manifest.db selbst ist verschlüsselt. file Manifest.db zeigt nur „data“, sqlite3 meldet „file is not a database“. Ohne das Passwort ist das Backup nicht einmal inventarisierbar.

Entschlüsselung mit MVT

MVT (Mobile Verification Toolkit) von Amnesty International kann verschlüsselte Backups entschlüsseln:

mvt-ios decrypt-backup -p "DEIN-PASSWORT" \
  -d backups/entschluesselt/ \
  backups/verschluesselt/XXXX-XXXXXXXXXXXX/

Auf dem Testbackup dauerte das 11,8 Sekunden. Danach liegt ein vollständig lesbares Backup im Zielordner, mit offener Manifest.db und allen Dateien im Klartext.

Was das verschlüsselte Backup mehr enthält

Hier wird es forensisch interessant. Ich habe beide Backups mit iLEAPP ausgewertet (dazu gleich mehr) und die Ergebnisse verglichen. Das verschlüsselte Backup lieferte 32 zusätzliche Artefakt-Kategorien:

Kommunikation:

  • Anrufverlauf mit Zeitstempeln und Dauer
  • Letzte Kontakte (InteractionC)
  • Apple Recents

Standorte und Bewegung:

  • Fitness-Workouts mit GPS-Koordinaten
  • Personalisierte Standorte

Gesundheit:

  • Herzfrequenz und Ruheherzfrequenz
  • Schritte und Gehstrecke
  • Workouts
  • Kopfhörer-Lautstärke
  • Achievements und Quellgeräte (welche Apple Watch, welches iPhone)

Netzwerk:

  • Bekannte WLAN-Netzwerke mit Verbindungszeiten
  • Gescannte WLAN-Netzwerke (auch solche, mit denen nie verbunden)
  • BSS-Liste (Basisstationen in der Nähe)

Smart Home und Geräte:

  • HomeKit-Geräte, Häuser und Benutzer
  • Verbundene Geräte mit Betriebssystem-Historie

Browser:

  • Safari-Verlauf (nur im verschlüsselten Backup!)
  • Offene Safari-Tabs

Das ist der wichtigste Punkt dieses Artikels: Wer forensisch arbeitet, braucht das verschlüsselte Backup. Das unverschlüsselte enthält Fotos, Kontakte, Notizen und App-Daten. Das verschlüsselte enthält zusätzlich den Anrufverlauf, den Safari-Verlauf, Gesundheitsdaten, WLAN-Profile und den Schlüsselbund. In vielen Untersuchungen sind genau diese Daten relevant.

Auswertung mit iLEAPP

iLEAPP (iOS Logs Events And Plists Parser) ist ein Open-Source-Werkzeug, das ein Backup systematisch durchgeht und einen HTML-Bericht erzeugt. Es kennt über 1.300 Artefakttypen.

python3 iLEAPP/ileapp.py -t itunes \
  -i backups/unverschluesselt/XXXX-XXXXXXXXXXXX \
  -o auswertung/ileapp-unverschluesselt

Der Schalter -t itunes sagt iLEAPP, dass es ein iTunes/Finder-Backup ist (im Gegensatz zu einem Dateisystem-Abbild). Die Laufzeit auf meinem Backup:

UnverschlüsseltVerschlüsselt
Laufzeit1 Min 34 Sek2 Min 17 Sek
Berichte (HTML)92124
Exporte (TSV)87119
Berichtsgröße5,0 GB6,0 GB

Der Bericht öffnet sich im Browser. Die Startseite zeigt eine Übersicht aller Kategorien. Jede Kategorie hat eine eigene HTML-Seite mit Tabellen, Zeitstempeln und, wo vorhanden, eingebetteten Bildern. Die Foto-Auswertung extrahiert EXIF-Daten und erzeugt eine KML-Datei, die sich in Google Earth öffnen lässt.

iLEAPP-Bericht: Fotos mit Ortsangaben, Datum, gerundete Koordinaten und Ortsnamen wie Kitzbühel, Meran, Phuket, Macau und Bayreuth
Acht von 983 Fotos mit Ortsangabe. Darstellung nachgebaut, Werte aus meinem Durchlauf, Koordinaten auf zwei Nachkommastellen gerundet.

Auf meinem Zweit-iPhone hatten 983 Fotos eine Ortsangabe. Daraus lassen sich Reisen der letzten Jahre mit Datum ablesen: Kitzbühel im März 2023, Meran im Sommer, Phuket und Macau im Frühjahr 2024. Noch aufschlussreicher ist die Häufung. 318 Fotos stammen von ein und demselben Ort, und das ist erfahrungsgemäß das eigene Zuhause. Diesen Ort zeige ich nicht. Für eine Ermittlung reicht diese eine Zahl, um einen Wohnort einzugrenzen, auch ohne Adressbuch.

iLEAPP-Bericht, Startseite mit Geräteangaben, Seriennummer und IMEI geschwärzt
Startseite des iLEAPP-Berichts zum verschlüsselten Backup. Darstellung nachgebaut, Werte aus meinem Durchlauf, Kennungen geschwärzt.
iLEAPP-Bericht: Anrufverlauf mit Zeitpunkt, Richtung und Dauer, Telefonnummern geschwärzt
Der Anrufverlauf steht nur im verschlüsselten Backup. Darstellung nachgebaut: Die Gesamtzahl von 467 Einträgen stammt aus meinem Durchlauf, die gezeigten Zeilen sind Beispiele.

In meinem Fall umfasste der Anrufverlauf 467 Einträge von Mitte Juli bis Anfang November 2026: 460 Telefonate und 7 FaceTime-Anrufe, 270 eingehend und 197 ausgehend. Für jeden Eintrag stehen Zeitpunkt, Dauer, Richtung und Gegenstelle im Bericht. Eine solche Liste ist für Ermittler oft wertvoller als jedes Foto.

iLEAPP exportiert parallel TSV-Dateien (Tab-getrennt), die sich in Excel oder LibreOffice Calc öffnen lassen. Für die maschinelle Weiterverarbeitung gibt es eine SQLite-Datenbank (_lava_artifacts.db) mit allen Ergebnissen.

Beweissicherung: Hashwerte

Vor jeder Analyse gehört ein Hashwert über das Originalmaterial:

shasum -a 256 Manifest.db Info.plist Status.plist Manifest.plist

Die Hashwerte dokumentierst du zusammen mit dem Zeitstempel. Wenn du später nachweisen musst, dass du nichts verändert hast, vergleichst du die Hashwerte erneut. Noch besser: das gesamte Backup-Verzeichnis hashen, bevor du es anfasst.

In der Praxis sicherst du das Original auf einen schreibgeschützten Datenträger und arbeitest nur auf einer Kopie. Bei einem USB-Stick mit Hardware-Schreibschutz oder einer WORM-Festplatte ist das einfach. Bei einem Backup direkt vom Gerät gibt es kein „Original“ im klassischen Sinn: jedes Backup ist ein frischer Abzug. Dokumentiere deshalb den Zeitpunkt, die Methode und die Hashwerte.

Stolperfallen

Pairing-Record-Zugriff: Unter macOS 26 ist /var/db/lockdown/ durch SIP geschützt. Du siehst die Pairing-Records nur, wenn du dem Terminal „Voller Festplattenzugriff“ gibst. In der Forensik ein bekanntes Problem.

Gerät gesperrt: Ist der Bildschirm aus, wartet idevicebackup2 auf die Passcodeeingabe. Nach 5 Minuten bricht es mit Error 208 ab. Entsperre das Gerät, bevor du den Befehl startest.

Manifest.db verschlüsselt: Im verschlüsselten Backup ist die Manifest.db selbst verschlüsselt. sqlite3 kann sie nicht öffnen. Erst nach der Entschlüsselung mit MVT (oder einem kommerziellen Werkzeug) wird sie lesbar.

iLEAPP und iOS-Versionen: iLEAPP wird ständig aktualisiert, weil Apple mit jeder iOS-Version Datenbankschemata ändert. Bei meinem Durchlauf mit iOS 26.5.1 funktionierten die meisten Artefakte, aber einige Parser meldeten „No file found“. Das ist normal und bedeutet, dass entweder die Datenquelle auf dem Gerät nicht existiert oder der Parser die neue Schemaversion noch nicht kennt.

Backup-Größe: Ein iPhone mit vielen Fotos und Videos kann leicht ein Backup von 50 bis 100 GB erzeugen. Plane genug Speicher ein. Das verschlüsselte Backup ist etwas größer als das unverschlüsselte, weil zusätzliche Datenquellen enthalten sind.

Zusammenfassung

UnverschlüsseltVerschlüsselt
Aufwandein Befehlein Befehl + Passwort
Fotos, Kontakte, Notizenjaja
Anrufverlaufneinja
Safari-Verlaufneinja
Health-Datenneinja
WLAN-Profileteilweiseja
Schlüsselbundneinja
Manifest.db lesbarsoforterst nach Entschlüsselung

Für eine forensische Untersuchung gibt es keinen Grund, ein unverschlüsseltes Backup zu ziehen. Das verschlüsselte enthält alles, was das unverschlüsselte enthält, plus die Daten, die in vielen Fällen den Unterschied machen: Anrufverläufe, Browserverlauf, Gesundheitsdaten und Netzwerkprofile.

Im nächsten Teil schauen wir uns an, was das iPhone über sich selbst protokolliert, ohne dass ein Backup nötig ist: sysdiagnose und die Unified Logs.

Alle Teile der Serie

1. Mobile Forensik verstehen 2. Das iPhone-Backup als Beweisquelle (dieser Artikel) 3. sysdiagnose und Unified Logs 4. Spyware-Suche mit MVT 5. iOS-Apps unter der Lupe 6. ADB als Forensik-Werkzeug (folgt) 7. Stalkerware auf Android finden (folgt) 8. APKs zerlegen mit Apktool und jadx (folgt) 9. Dynamische Analyse mit Frida (folgt) 10. Von der Extraktion zur Zeitachse (folgt) 11. Was Behörden können und wie du dein Telefon schützt (folgt) 12. Mobile Forensik im Unternehmen (folgt)