Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SharpDPAPI — SharpDPAPI ist ein C#-Port von einigen Mimikatz DPAPI-Funktionen. | Kitploit
Tools/GitHubGitHub/ghostpack/sharpdpapi
Passwort-CrackingVerschlüsselungs-/EntschlüsselungstoolsPersistenzmechanismenExploitationDatenexfiltrationPost-ExploitationPenetrationstestsRed TeamingTop in Persistenzmechanismen Nr.8
1.4k24922vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
ghostpack/sharpdpapi

SharpDPAPI

SharpDPAPI ist ein C#-Port von einigen Mimikatz DPAPI-Funktionen.

Repository anzeigen

SharpDPAPI


SharpDPAPI ist ein C#-Port einiger DPAPI-Funktionen aus dem Mimikatz-Projekt von @gentilkiwi.

Ich habe diese Logik nicht entwickelt, es handelt sich lediglich um einen Port von Mimikatz, um den Prozess besser zu verstehen und ihn für unseren Workflow zu operationalisieren.

Das Unterprojekt SharpChrome ist eine Adaption der Arbeiten von @gentilkiwi und @djhohnstein, insbesondere seines SharpChrome-Projekts. Diese Version von SharpChrome verwendet jedoch eine andere Version der C# SQL-Bibliothek, die das sperrfreie Öffnen unterstützt. SharpChrome wird aufgrund der Größe der verwendeten SQLite-Bibliothek als separates Projekt innerhalb von SharpDPAPI erstellt.

Sowohl Chrome als auch neuere Chromium-basierte Edge-Browser können mit SharpChrome durchsucht werden.

SharpChrome verwendet außerdem eine minimierte Version von @AArnott's BCrypt P/Invoke-Code, der unter der MIT-Lizenz veröffentlicht wurde.

Wenn Sie mit DPAPI nicht vertraut sind, lesen Sie diesen Beitrag für weitere Hintergrundinformationen. Für weitere Informationen zu Anmeldeinformationen und Tresoren in Bezug auf DPAPI lesen Sie Benjamins Wiki-Eintrag zu diesem Thema.

@harmj0y ist der Hauptautor dieses Ports.

SharpDPAPI ist unter der BSD-3-Clause-Lizenz lizenziert.

Inhaltsverzeichnis

  • SharpDPAPI
    • Inhaltsverzeichnis
    • Hintergrund
      • SharpDPAPI-Befehlszeilenverwendung
      • SharpChrome-Befehlszeilenverwendung
      • Operative Nutzung
        • SharpDPAPI
        • SharpChrome
    • SharpDPAPI-Befehle
      • Benutzer-Triage
        • masterkeys
        • credentials
        • vaults
        • rdg
        • keepass
        • certificates
        • triage
      • Maschinen-Triage
        • machinemasterkeys
        • machinecredentials
        • machinevaults
        • certificates /machine
        • machinetriage
      • Sonstiges
        • ps
        • blob
        • backupkey
        • search
        • SCCM
    • SharpChrome-Befehle
      • logins
      • cookies
      • statekeys
      • backupkey
    • Kompilieranweisungen
      • Andere .NET-Versionen anvisieren
      • Nebenbei: Ausführen von SharpDPAPI über PowerShell
        • Nebenbei Nebenbei: Ausführen von SharpDPAPI über PSRemoting

Hintergrund

SharpDPAPI-Befehlszeilenverwendung

  __                 _   _       _ ___
 (_  |_   _. ._ ._  | \ |_) /\  |_) |
 __) | | (_| |  |_) |_/ |  /--\ |  _|_
                |
  v1.20.0

Abrufen des DPAPI-Backup-Schlüssels eines Domänencontrollers, optional mit Angabe eines DC und einer Ausgabedatei:

  SharpDPAPI backupkey [/nowrap] [/server:SERVER.domain] [/file:key.pvk]


Der *search*-Befehl durchsucht nach potenziellen DPAPI-Blobs in der Registry, in Dateien, Ordnern und Base64-Blobs:

    search /type:registry [/path:HKLM\path\to\key] [/showErrors]
    search /type:folder /path:C:\path\to\folder [/maxBytes:<numOfBytes>] [/showErrors]
    search /type:file /path:C:\path\to\file [/maxBytes:<numOfBytes>]
    search /type:base64 [/base:<base64 string>]


Maschinen-/SYSTEM-Triage:

    machinemasterkeys       -   Durchsucht alle erreichbaren Maschinen-Masterkey-Dateien (erhöht Rechte auf SYSTEM, um das DPAPI_SYSTEM LSA-Geheimnis abzurufen)
    machinecredentials      -   Verwendet 'machinemasterkeys' und durchsucht dann Maschinen-Anmeldeinformationsdateien
    machinevaults           -   Verwendet 'machinemasterkeys' und durchsucht dann Maschinen-Tresore
    machinetriage           -   Führt die Befehle 'machinecredentials' und 'machinevaults' aus


Benutzer-Triage:

    Argumente für den Befehl 'masterkeys':

        /target:FILE/folder     -   Durchsucht einen bestimmten Masterkey oder einen Ordner voller Masterkeys (andernfalls werden lokale Masterkeys durchsucht)
        /pvk:BASE64...          -   Verwendet eine base64-kodierte DPAPI-Domänen-Private-Key-Datei, um zuerst erreichbare Benutzer-Masterkeys zu entschlüsseln
        /pvk:key.pvk            -   Verwendet eine DPAPI-Domänen-Private-Key-Datei, um zuerst erreichbare Benutzer-Masterkeys zu entschlüsseln
        /password:X             -   Entschlüsselt die Masterkeys des Zielbenutzers mit einem Klartext-Passwort (funktioniert remote)
        /ntlm:X                 -   Entschlüsselt die Masterkeys des Zielbenutzers mit einem NTLM-Hash (funktioniert remote)
        /credkey:X              -   Entschlüsselt die Masterkeys des Zielbenutzers mit einem DPAPI-Credkey (Domänen- oder lokaler SHA1, funktioniert remote)
        /rpc                    -   Entschlüsselt die Masterkeys des Zielbenutzers, indem der Domänencontroller darum gebeten wird
        /server:SERVER          -   Durchsucht einen entfernten Server, unter der Annahme von Administratorzugriff
        /hashes                 -   Gibt die 'Hashes' der Benutzer-Masterkey-Datei im JTR/Hashcat-Format aus (keine Entschlüsselung)


    Argumente für die Befehle credentials|vaults|rdg|keepass|triage|blob|ps:

        Entschlüsselung:
            /unprotect          -   Erzwingt die Verwendung von CryptUnprotectData() für die Befehle 'ps', 'rdg' oder 'blob'
            /pvk:BASE64...      -   Verwendet eine base64-kodierte DPAPI-Domänen-Private-Key-Datei, um zuerst erreichbare Benutzer-Masterkeys zu entschlüsseln
            /pvk:key.pvk        -   Verwendet eine DPAPI-Domänen-Private-Key-Datei, um zuerst erreichbare Benutzer-Masterkeys zu entschlüsseln
            /password:X         -   Entschlüsselt die Masterkeys des Zielbenutzers mit einem Klartext-Passwort (funktioniert remote)
            /ntlm:X             -   Entschlüsselt die Masterkeys des Zielbenutzers mit einem NTLM-Hash (funktioniert remote)
            /credkey:X          -   Entschlüsselt die Masterkeys des Zielbenutzers mit einem DPAPI-Credkey (Domänen- oder lokaler SHA1, funktioniert remote)
            /rpc                -   Entschlüsselt die Masterkeys des Zielbenutzers, indem der Domänencontroller darum gebeten wird
            GUID1:SHA1 ...      -   Verwendet einen oder mehrere GUID:SHA1-Masterkeys zur Entschlüsselung
            /mkfile:FILE        -   Verwendet eine Datei mit einem oder mehreren GUID:SHA1-Masterkeys zur Entschlüsselung

        Zielsetzung:
Tool herunterladen