Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SharpDPAPI — SharpDPAPI è un porting in C# di alcune funzionalità DPAPI di Mimikatz. | Kitploit
Strumenti/GitHubGitHub/ghostpack/sharpdpapi
Password CrackingStrumenti di Crittografia/DecrittografiaMeccanismi di PersistenzaExploitEsfiltrazione DatiPost-ExploitPenetration TestingRed TeamingTop in Meccanismi di Persistenza n.8
1.4k249222 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHub
ghostpack/sharpdpapi

SharpDPAPI

SharpDPAPI è un porting in C# di alcune funzionalità DPAPI di Mimikatz.

Vedi Repository

SharpDPAPI


SharpDPAPI è un port in C# di alcune funzionalità DPAPI dal progetto Mimikatz di @gentilkiwi.

Non ho ideato questa logica, si tratta semplicemente di un port da Mimikatz per comprendere meglio il processo e renderlo operativo per adattarlo al nostro flusso di lavoro.

Il sottoprogetto SharpChrome è un adattamento del lavoro di @gentilkiwi e @djhohnstein, in particolare del suo progetto SharpChrome. Tuttavia, questa versione di SharpChrome utilizza una versione diversa della libreria SQL in C# che supporta l'apertura senza blocco. SharpChrome è creato come progetto separato in SharpDPAPI a causa delle dimensioni della libreria SQLite utilizzata.

Sia Chrome che i browser Edge più recenti basati su Chromium possono essere analizzati con SharpChrome.

SharpChrome utilizza anche una versione minimizzata del codice BCrypt P/Invoke di @AArnott rilasciato sotto licenza MIT.

Se non hai familiarità con DPAPI, dai un'occhiata a questo post per ulteriori informazioni di base. Per maggiori informazioni su Credenziali e Vault in relazione a DPAPI, consulta la voce wiki di Benjamin sull'argomento.

@harmj0y è l'autore principale di questo port.

SharpDPAPI è concesso in licenza secondo i termini della licenza BSD 3-Clause.

Table of Contents

  • SharpDPAPI
    • Table of Contents
    • Background
      • SharpDPAPI Command Line Usage
      • SharpChrome Command Line Usage
      • Operational Usage
        • SharpDPAPI
        • SharpChrome
    • SharpDPAPI Commands
      • User Triage
        • masterkeys
        • credentials
        • vaults
        • rdg
        • keepass
        • certificates
        • triage
      • Machine Triage
        • machinemasterkeys
        • machinecredentials
        • machinevaults
        • certificates /machine
        • machinetriage
      • Misc
        • ps
        • blob
        • backupkey
        • search
        • SCCM
    • SharpChrome Commands
      • logins
      • cookies
      • statekeys
      • backupkey
    • Compile Instructions
      • Targeting other .NET versions
      • Sidenote: Running SharpDPAPI Through PowerShell
        • Sidenote Sidenote: Running SharpDPAPI Over PSRemoting

Contesto

Utilizzo da riga di comando di SharpDPAPI

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

Recupera la chiave di backup DPAPI di un controller di dominio, specificando opzionalmente un DC e un file di output:

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


Il comando *search* cercherà potenziali blob DPAPI nel registro, file, cartelle e blob base64:

    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>]


Analisi Machine/SYSTEM:

    machinemasterkeys       -   analizza tutti i file masterkey di macchina raggiungibili (si eleva a SYSTEM per recuperare il segreto LSA DPAPI_SYSTEM)
    machinecredentials      -   utilizza 'machinemasterkeys' e poi analizza i file Credential di macchina
    machinevaults           -   utilizza 'machinemasterkeys' e poi analizza i Vault di macchina
    machinetriage           -   esegue i comandi 'machinecredentials' e 'machinevaults'


Analisi Utente:

    Argomenti per il comando 'masterkeys':

        /target:FILE/cartella     -   analizza una masterkey specifica o una cartella piena di masterkey (altrimenti analizza le masterkey locali)
        /pvk:BASE64...          -   utilizza un file di chiave privata di dominio DPAPI in base64 per decrittare prima le masterkey utente raggiungibili
        /pvk:key.pvk            -   utilizza un file di chiave privata di dominio DPAPI per decrittare prima le masterkey utente raggiungibili
        /password:X             -   decritta le masterkey dell'utente target usando una password in chiaro (funziona in remoto)
        /ntlm:X                 -   decritta le masterkey dell'utente target usando un hash NTLM (funziona in remoto)
        /credkey:X              -   decritta le masterkey dell'utente target usando una credkey DPAPI (SHA1 di dominio o locale, funziona in remoto)
        /rpc                    -   decritta le masterkey dell'utente target chiedendo al controller di dominio di farlo
        /server:SERVER          -   analizza un server remoto, presupponendo accesso amministrativo
        /hashes                 -   output degli hash del file usermasterkey in formato JTR/Hashcat (nessuna decrittazione)


    Argomenti per i comandi credentials|vaults|rdg|keepass|triage|blob|ps:

        Decrittazione:
            /unprotect          -   forza l'uso di CryptUnprotectData() per i comandi 'ps', 'rdg' o 'blob'
            /pvk:BASE64...      -   utilizza un file di chiave privata di dominio DPAPI in base64 per decrittare prima le masterkey utente raggiungibili
            /pvk:key.pvk        -   utilizza un file di chiave privata di dominio DPAPI per decrittare prima le masterkey utente raggiungibili
            /password:X         -   decritta le masterkey dell'utente target usando una password in chiaro (funziona in remoto)
            /ntlm:X             -   decritta le masterkey dell'utente target usando un hash NTLM (funziona in remoto)
            /credkey:X          -   decritta le masterkey dell'utente target usando una credkey DPAPI (SHA1 di dominio o locale, funziona in remoto)
            /rpc                -   decritta le masterkey dell'utente target chiedendo al controller di dominio di farlo
            GUID1:SHA1 ...      -   utilizza una o più masterkey GUID:SHA1 per la decrittazione
            /mkfile:FILE        -   utilizza un file contenente una o più masterkey GUID:SHA1 per la decrittazione

        Targeting:
            /target:FILE/cartella -   analizza una posizione specifica di file 'Credentials', '.rdg|RDCMan.settings', 'blob' o 'ps', o una cartella 'Vault'
            /server:SERVER      -   analizza un server remoto, presupponendo accesso amministrativo
                                    Nota: deve essere usato con /pvk:KEY o /password:X
                                    Nota: non applicabile ai comandi 'blob' o 'ps'


Analisi Certificati:
Scarica lo strumento