Kurzfassung: Die Keychain ist der zentrale Passwortspeicher von macOS. Angreifer lesen sie am häufigsten über das Bordwerkzeug security aus (dump-keychain, find-generic-password -g) oder ziehen die Keychain-Datenbankdatei ab, um sie offline zu knacken. Der belastbare Anker ist der security-Prozessaufruf im Endpoint Security Framework (ESF) und der Zugriff auf die Keychain-Dateien. Dieser Beitrag baut auf macOS-Sicherheitsmonitoring auf, benennt den API-Blindspot ehrlich und bringt drei sigma-cli-validierte Regeln. Serie "Angriff erkennen".
Wer unter macOS an Zugangsdaten will, kommt an der Keychain kaum vorbei: Sie speichert Passwörter, Zertifikate und Schlüssel von System und Apps. Für Angreifer ist sie das lohnende Ziel nach dem ersten Zugriff. Dieser Beitrag bleibt auf der Erkennungsseite und zeigt, woran sich der Keychain-Zugriff erkennen lässt, welche macOS-Telemetrie das trägt und wo die Technik unsichtbar bleibt. Er setzt die Grundlagen aus macOS-Sicherheitsmonitoring voraus. Der Anker ist nicht eine Event-ID, sondern der security-Prozess und die Keychain-Datei.
Einordnung in ATT&CK: Credentials from Password Stores: Keychain (T1555.001), eine Sub-Technik von Credentials from Password Stores (T1555), in ATT&CK v19 unter der Taktik Credential Access; in dieser Serie steht der Beitrag in der Spalte Credential Access und ist mit attack.credential-access getaggt. Zugangsdaten aus Browser-Speichern sind eine eigene Sub-Technik (T1555.003) und nicht Gegenstand dieses Beitrags.
Was der Angreifer tut
Es gibt zwei Grundwege, an die Keychain-Inhalte zu kommen: sie auf dem System auslesen oder die Datei abziehen. Bewusst auf der Ebene des Prinzips, nicht als Anleitung:
- Mit security auslesen. Das Bordwerkzeug security kann die Keychain komplett ausgeben (dump-keychain) oder gezielt ein gespeichertes Passwort im Klartext zeigen (find-generic-password oder find-internet-password mit -g). Das setzt voraus, dass die Keychain entsperrt ist oder das Passwort bekannt ist.
- Die Datei abziehen. Die Keychain liegt als Datenbankdatei unter ~/Library/Keychains (login.keychain-db). Wird sie kopiert und mitgenommen, lässt sie sich offline angreifen - allerdings nur mit dem Login-Passwort, das zum Entschlüsseln nötig ist.
- Über die Schnittstelle greifen. Ein Programm kann die Keychain direkt über die Security-Schnittstelle abfragen, ohne das Werkzeug security zu starten - leiser, aber ohne den verräterischen Prozess.
Für die Erkennung heißt das: Die ersten beiden Wege laufen über einen Prozess (security, ein Kopierwerkzeug) und sind belastbar sichtbar. Der dritte Weg ist der ehrliche Blindspot, auf den dieser Beitrag unten gesondert eingeht.
Welche Telemetrie die Technik zeigt
- Endpoint Security Framework (ESF). Die tragende Echtzeit-Quelle über
eslogger, Red Canary Mac Monitor oder EDR. Belastbar sind die Prozessereignisse von security und von Kopier- oder Archivwerkzeugen mit ihren Argumenten - die Grundlage aller drei Regeln. ESF kennt zusätzlich Dateiöffnungs-Ereignisse, mit denen sich der lesende Zugriff auf die Keychain-Datei erfassen lässt; die liefert aber nur eine ESF-auswertende EDR aus. - Dateisystem- und Artefaktsicht. Die Keychain-Dateien unter ~/Library/Keychains sind das greifbare Artefakt. Ein Zugriff auf sie, eine Kopie an einem ungewöhnlichen Ort oder ein Keychain-Export sind auch nachträglich auffindbar.
- Unified Log. Die Entsperrung und Nutzung der Keychain läuft über securityd und die Authentifizierung; das Unified Log hält zugehörige Ereignisse fest. Für die forensische Rekonstruktion nützlich, für die laufende Regelarbeit zu unspezifisch.
- OpenBSM/audit. Die ältere BSM-Audit-Spur zeigt den Prozessstart von security als Rückfallebene, wenn keine ESF-Quelle vorhanden ist.
Das Muster
Das stärkste Signal ist security dump-keychain: Das vollständige Auslesen der Keychain hat auf einem Endpunkt praktisch nie einen legitimen Grund. Fast ebenso deutlich ist find-generic-password oder find-internet-password mit -g, also die Klartextausgabe eines einzelnen Passworts. Das dritte Signal ist der Abzug der Keychain-Datei mit einem Kopier- oder Archivwerkzeug, besonders an einen Temp- oder Netzwerkpfad. Keines ist für sich ein Vollbeweis, weil Admin- und Migrationsskripte dieselben Werkzeuge nutzen. Belastbar wird der Fall aus dem Kontext: Wer ruft security auf, von wo kommt der Aufruf, und was geschieht mit dem Ergebnis.
Drei Sigma-Regeln
Die Regeln sind mit sigma-cli geprüft und setzen auf der Prozess-Logquelle auf (ESF-gespeist). Die erste nimmt das vollständige Auslesen, die zweite die Klartextausgabe eines Passworts, die dritte den Abzug der Keychain-Datei.
1. Keychain mit security ausgelesen (T1555.001). Das vollständige Auslesen, auf level: high.
title: Keychain mit dem security-Werkzeug ausgelesen
id: bcab3247-0d91-4d85-81bf-0dba636ad72e
status: experimental
description: |
Erkennt das Werkzeug security beim Auslesen der Keychain (dump-keychain). Damit
lassen sich die in der Keychain gespeicherten Zugangsdaten ausgeben (Credentials
from Password Stores: Keychain). Auf einem Endpunkt gibt es dafuer fast nie einen
legitimen Grund, der Aufruf ist ein starkes Signal.
references:
- https://attack.mitre.org/techniques/T1555/001/
author: blue-team.net
date: 2026-10-07
tags:
- attack.credential-access
- attack.t1555.001
logsource:
product: macos
category: process_creation
detection:
sel_img:
Image|endswith: '/security'
sel_cmd:
CommandLine|contains: 'dump-keychain'
condition: sel_img and sel_cmd
falsepositives:
- Sehr selten in Diagnose- oder Migrationsskripten - auf Endpunkten als Alarm behandeln
level: high
2. Passwort im Klartext aus der Keychain ausgegeben (T1555.001). Die gezielte Abfrage mit -g, auf level: high.
title: security gibt ein Passwort aus der Keychain im Klartext aus
id: 6010fccf-63a7-4b03-b1a3-baeaf39edf24
status: experimental
description: |
Erkennt security beim Abfragen eines gespeicherten Passworts mit der Ausgabe im
Klartext (find-generic-password oder find-internet-password mit dem Schalter -g).
Angreifer lesen so gezielt einzelne Zugangsdaten aus der Keychain (Credentials from
Password Stores: Keychain). Skripte nutzen find ohne -g haeufig legitim, erst die
Klartextausgabe macht den Aufruf auffaellig.
references:
- https://attack.mitre.org/techniques/T1555/001/
author: blue-team.net
date: 2026-10-07
tags:
- attack.credential-access
- attack.t1555.001
logsource:
product: macos
category: process_creation
detection:
sel_img:
Image|endswith: '/security'
sel_find:
CommandLine|contains:
- 'find-generic-password'
- 'find-internet-password'
sel_print:
CommandLine|contains: ' -g'
condition: sel_img and sel_find and sel_print
falsepositives:
- Einzelne Admin- und Migrationsskripte lesen Passwoerter legitim aus - bekannte Skripte und Konten als Baseline ausnehmen
level: high
3. Keychain-Datei abgezogen (T1555.001). Der Dateiabzug mit einem Kopier- oder Archivwerkzeug, auf level: high.
title: Keychain-Datenbankdatei mit einem Kopier- oder Archivwerkzeug abgezogen
id: 644d9ac4-10f0-4d33-b05b-e69a88c68b3e
status: experimental
description: |
Erkennt das Kopieren oder Einpacken der Keychain-Datenbank (login.keychain-db bzw.
Dateien unter ~/Library/Keychains) mit einem Kopier- oder Archivwerkzeug. Angreifer
ziehen die Keychain-Datei ab, um sie offline zu knacken (Credentials from Password
Stores: Keychain). Zum Entschluesseln brauchen sie zusaetzlich das Login-Passwort,
der Abzug selbst ist aber bereits ein starkes Vorbereitungssignal.
references:
- https://attack.mitre.org/techniques/T1555/001/
author: blue-team.net
date: 2026-10-07
tags:
- attack.credential-access
- attack.t1555.001
logsource:
product: macos
category: process_creation
detection:
sel_tool:
Image|endswith:
- '/cp'
- '/ditto'
- '/rsync'
- '/tar'
- '/scp'
- '/curl'
sel_path:
CommandLine|contains:
- '/Keychains/'
- 'login.keychain'
condition: sel_tool and sel_path
falsepositives:
- Backup- und Migrationswerkzeuge sichern die Keychain legitim - bekannte Backup-Prozesse und Zielpfade als Baseline ausnehmen
level: high
Grenzen der Erkennung
- Der API-Weg ist nur für EDR sichtbar. Ein Programm kann die Keychain direkt über die Security-Schnittstelle (SecItemCopyMatching und verwandte Aufrufe) abfragen, ohne das Werkzeug security zu starten. Dann gibt es keinen security-Prozess, und nur eine EDR, die die Security-Framework-Aufrufe oder die Dateiöffnung der Keychain erfasst, sieht es - die Regeln hier nicht.
- Das Lesen der Datei ist kein Dateiereignis im klassischen Sinn. Ein reiner Lesezugriff auf die Keychain-Datei erscheint nicht als Anlege- oder Änderungsereignis. Nur das ESF-Dateiöffnungs-Ereignis einer EDR macht ihn sichtbar; Regel 3 greift erst, wenn die Datei mit einem Werkzeug kopiert wird.
- Der Abzug allein ist nicht der Diebstahl. Die Keychain-Datei ist verschlüsselt; ohne das Login-Passwort bleibt sie unbrauchbar. Ein Treffer von Regel 3 zeigt die Vorbereitung, nicht zwingend den erfolgreichen Zugriff.
- Sichtbarkeit ist produktabhängig. Ohne ESF-Quelle gibt es kein Echtzeitsignal. Die Felder setzen voraus, dass die Quelle Prozessstart mit Befehlszeile liefert.
Fehlalarme und Tuning
- security find ist Alltag. Viele Skripte lesen einzelne Einträge mit find-generic-password - aber ohne -g, also ohne Klartextausgabe. Regel 2 verlangt bewusst das -g; die bekannten Skripte, die es legitim nutzen, als Baseline aufnehmen.
- Backups berühren die Keychain. Sicherungs- und Migrationswerkzeuge kopieren die Keychain legitim. Die bekannten Backup-Prozesse und ihre Zielpfade für Regel 3 ausnehmen.
- dump-keychain ist fast immer ein Alarm. Regel 1 sollte nicht getunt, sondern untersucht werden - der legitime Bedarf ist verschwindend gering.
- Kette schlägt Einzeltreffer. security-Aufruf kurz nach einem frischen Zugriff, gefolgt von einer ausgehenden Verbindung, ist weit aussagekräftiger als ein Treffer allein.
Analysten-Checkliste
- Welcher Aufruf liegt vor - dump-keychain, find mit -g oder ein Dateiabzug mit Kopier- oder Archivwerkzeug?
- Welcher Prozess und welches Konto haben security aufgerufen, und passt das zu einem bekannten Admin- oder Migrationsablauf?
- Wohin ging das Ergebnis - in eine Datei, an einen Temp- oder Netzwerkpfad, in eine ausgehende Verbindung?
- Wurde die Keychain-Datei an einen ungewöhnlichen Ort kopiert, und gibt es Hinweise, dass auch das Login-Passwort erbeutet wurde?
- Gab es davor einen Erstzugriff oder eine Rechteausweitung, in deren Kontext der Keychain-Zugriff passt?
- Liegt der Verdacht auf dem API-Weg (kein security-Prozess), zeigt nur die EDR-Telemetrie oder die Folgeaktivität etwas?
Härtung
- Keychain gesperrt halten. Die automatische Sperre der Keychain bei Inaktivität und beim Ruhezustand aktivieren, damit ein entsperrter Speicher nicht einfach ausgelesen werden kann.
- ESF-Quelle bereitstellen. eslogger, Red Canary Mac Monitor oder eine EDR aktivieren und die Prozessereignisse - möglichst samt der Keychain-Dateiöffnungen - zentral ins SIEM bringen.
- Erstzugriff und Rechteausweitung verhindern. Da das Auslesen eine entsperrte Keychain oder das Login-Passwort voraussetzt, zahlt jede Maßnahme gegen Phishing, Rechteausweitung und Passwortdiebstahl direkt auf den Keychain-Schutz ein.
- Starke, einmalige Login-Passwörter. Weil die abgezogene Keychain-Datei nur mit dem Login-Passwort zu entschlüsseln ist, erschwert ein starkes, nirgends wiederverwendetes Passwort das Offline-Knacken erheblich.
Der Test im Lab
Die Erkennung lässt sich auf einem Test-Mac mit aktivem eslogger oder Red Canary Mac Monitor gefahrlos prüfen, mit einer eigens angelegten Test-Keychain:
- Für Regel 1
security dump-keychainauf eine Test-Keychain ausführen und prüfen, dass das ESF-Prozessereignis den Aufruf zeigt. - Für Regel 2 ein Testpasswort mit
security add-generic-passwordanlegen und mitfind-generic-password -gauslesen; den Treffer kontrollieren. - Für Regel 3 die Test-Keychain mit
cpin ein Temp-Verzeichnis kopieren und prüfen, dass der Pfad im Ereignis auftaucht. - Breiter wird der Test mit den macOS-Fällen zu T1555.001 aus Atomic Red Team.
Fazit
Der Keychain-Zugriff ist unter macOS der direkte Weg zu Zugangsdaten, und auf dem System ist er gut zu fassen: security dump-keychain, find mit Klartextausgabe und der Abzug der Keychain-Datei sind belastbare Prozesssignale. Die drei Regeln nehmen genau diese Aufrufe. Ehrlich bleibt die Grenze: Der Zugriff über die Security-Schnittstelle startet keinen security-Prozess und ist nur für eine EDR sichtbar, und der bloße Dateiabzug ist ohne das Login-Passwort noch kein fertiger Diebstahl. Die wirksamste Härtung ist, die Keychain gesperrt zu halten und Erstzugriff wie Rechteausweitung zu verhindern. Die Grundlagen stehen unter macOS-Sicherheitsmonitoring; die übrigen Beiträge dieser macOS-Reihe behandeln die LaunchAgents- und LaunchDaemons-Persistenz, die Gatekeeper- und Quarantine-Umgehung, den AppleScript- und osascript-Missbrauch, die TCC-Manipulation und das Dylib-Hijacking.