Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SharpDPAPI — SharpDPAPI é uma porta em C# de algumas funcionalidades do Mimikatz DPAPI. | Kitploit
Ferramentas/GitHubGitHub/ghostpack/sharpdpapi
Quebra de SenhasFerramentas de Criptografia/DescriptografiaMecanismos de PersistênciaExploraçãoExfiltração de DadosPós-ExploraçãoTestes de PenetraçãoRed TeamingTop em Mecanismos de Persistência nº8
1.4k24922há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
GitHub
ghostpack/sharpdpapi

SharpDPAPI

SharpDPAPI é uma porta em C# de algumas funcionalidades do Mimikatz DPAPI.

Ver Repositório

SharpDPAPI


SharpDPAPI é uma versão em C# de algumas funcionalidades DPAPI do projeto Mimikatz de @gentilkiwi.

Eu não inventei esta lógica, é simplesmente uma adaptação do Mimikatz para melhor compreender o processo e operacionalizá-lo para se adequar ao nosso fluxo de trabalho.

O subprojeto SharpChrome é uma adaptação do trabalho de @gentilkiwi e @djhohnstein, especificamente do seu projeto SharpChrome. No entanto, esta versão do SharpChrome usa uma versão diferente da biblioteca SQL em C# que suporta abertura sem bloqueio. O SharpChrome é construído como um projeto separado no SharpDPAPI devido ao tamanho da biblioteca SQLite utilizada.

Tanto o Chrome quanto os navegadores Edge baseados em Chromium mais recentes podem ser triados com o SharpChrome.

O SharpChrome também usa uma versão minimizada do código BCrypt P/Invoke de @AArnott, lançado sob a licença MIT.

Se você não está familiarizado com DPAPI, confira este post para mais informações de contexto. Para mais informações sobre Credenciais e Cofres (Vaults) em relação ao DPAPI, consulte a entrada da wiki de Benjamin sobre o assunto.

@harmj0y é o principal autor desta adaptação.

O SharpDPAPI está licenciado sob a licença BSD 3-Clause.

Índice

  • SharpDPAPI
    • Índice
    • Contexto
      • Uso via Linha de Comando do SharpDPAPI
      • Uso via Linha de Comando do SharpChrome
      • Uso Operacional
        • SharpDPAPI
        • SharpChrome
    • Comandos do SharpDPAPI
      • Triagem de Usuário
        • masterkeys
        • credentials
        • vaults
        • rdg
        • keepass
        • certificates
        • triage
      • Triagem de Máquina
        • machinemasterkeys
        • machinecredentials
        • machinevaults
        • certificates /machine
        • machinetriage
      • Diversos
        • ps
        • blob
        • backupkey
        • search
        • SCCM
    • Comandos do SharpChrome
      • logins
      • cookies
      • statekeys
      • backupkey
    • Instruções de Compilação
      • Direcionar outras versões do .NET
      • Nota lateral: Executando SharpDPAPI através do PowerShell
        • Nota lateral da nota lateral: Executando SharpDPAPI via PSRemoting

Contexto

Uso via Linha de Comando do SharpDPAPI

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

Recuperar a chave de backup DPAPI de um controlador de domínio, opcionalmente especificando um DC e arquivo de saída:

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


O comando *search* irá procurar por possíveis blobs DPAPI no registro, arquivos, pastas e blobs 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>]


Triagem de Máquina/SISTEMA:

    machinemasterkeys       -   triar todos os arquivos de chave mestra da máquina acessíveis (eleva para SYSTEM para recuperar o segredo LSA DPAPI_SYSTEM)
    machinecredentials      -   usar 'machinemasterkeys' e depois triar os arquivos de Credencial da máquina
    machinevaults           -   usar 'machinemasterkeys' e depois triar os Cofres da máquina
    machinetriage           -   executar os comandos 'machinecredentials' e 'machinevaults'


Triagem de Usuário:

    Argumentos para o comando 'masterkeys':

        /target:FILE/pasta     -   triar uma chave mestra específica ou uma pasta cheia de chaves mestre (caso contrário, tria as chaves mestre locais)
        /pvk:BASE64...          -   usar um arquivo de chave privada de domínio DPAPI codificado em base64 para primeiro descriptografar as chaves mestre de usuário acessíveis
        /pvk:key.pvk            -   usar um arquivo de chave privada de domínio DPAPI para primeiro descriptografar as chaves mestre de usuário acessíveis
        /password:X             -   descriptografar as chaves mestre do usuário alvo usando uma senha em texto simples (funciona remotamente)
        /ntlm:X                 -   descriptografar as chaves mestre do usuário alvo usando um hash NTLM (funciona remotamente)
        /credkey:X              -   descriptografar as chaves mestre do usuário alvo usando uma credkey DPAPI (SHA1 de domínio ou local, funciona remotamente)
        /rpc                    -   descriptografar as chaves mestre do usuário alvo pedindo ao controlador de domínio que o faça
        /server:SERVER          -   triar um servidor remoto, assumindo acesso de administrador
        /hashes                 -   exibir 'hashes' do arquivo de chave mestra do usuário no formato JTR/Hashcat (sem descriptografia)


    Argumentos para os comandos credentials|vaults|rdg|keepass|triage|blob|ps:

        Descriptografia:
            /unprotect          -   forçar o uso de CryptUnprotectData() para comandos 'ps', 'rdg' ou 'blob'
            /pvk:BASE64...      -   usar um arquivo de chave privada de domínio DPAPI codificado em base64 para primeiro descriptografar as chaves mestre de usuário acessíveis
            /pvk:key.pvk        -   usar um arquivo de chave privada de domínio DPAPI para primeiro descriptografar as chaves mestre de usuário acessíveis
            /password:X         -   descriptografar as chaves mestre do usuário alvo usando uma senha em texto simples (funciona remotamente)
            /ntlm:X             -   descriptografar as chaves mestre do usuário alvo usando um hash NTLM (funciona remotamente)
            /credkey:X          -   descriptografar as chaves mestre do usuário alvo usando uma credkey DPAPI (SHA1 de domínio ou local, funciona remotamente)
            /rpc                -   descriptografar as chaves mestre do usuário alvo pedindo ao controlador de domínio que o faça
            GUID1:SHA1 ...      -   usar uma ou mais chaves mestre GUID:SHA1 para descriptografia
            /mkfile:FILE        -   usar um arquivo com uma ou mais chaves mestre GUID:SHA1 para descriptografia
Baixar ferramenta