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
DumpsterDiver — Ferramenta para pesquisar segredos em vários tipos de arquivo. | Kitploit
Ferramentas/GitHubGitHub/securing/dumpsterdiver
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoExfiltração de DadosColeta de InformaçõesDetecção de SegredosArchived
GitHubsecuring/dumpsterdiver

DumpsterDiver

Ferramenta para pesquisar segredos em vários tipos de arquivo.

Ver Repositório
1.0k1547há 3 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

DumpsterDiver_logo

DumpsterDiver (por @Rzepsky)

DumpsterDiver é uma ferramenta que pode analisar grandes volumes de dados em busca de segredos codificados (hardcoded secrets) como chaves (por exemplo, AWS Access Key, Azure Share Key ou chaves SSH) ou senhas. Além disso, permite criar regras de pesquisa simples com condições básicas (por exemplo, relatar apenas arquivos csv contendo pelo menos 10 endereços de email). A ideia principal desta ferramenta é detectar qualquer potencial vazamento de segredo. Você pode vê-la em ação no vídeo de demonstração ou ler sobre todas as suas características neste artigo.

DumpsterDiver

Principais características:

  • usa a Entropia de Shannon para encontrar chaves privadas,
  • pesquisa através de logs do git,
  • descompacta arquivos comprimidos (por exemplo, zip, tar.gz etc.),
  • suporta pesquisa avançada usando regras simples (detalhes abaixo),
  • procura por senhas codificadas (hardcoded passwords),
  • é totalmente personalizável.

Uso

root@kitploit:~
usage: DumpsterDiver.py [-h] -p LOCAL_PATH [-r] [-a] [-s] [-o OUTFILE]
                        [--min-key MIN_KEY] [--max-key MAX_KEY]
                        [--entropy ENTROPY] [--min-pass MIN_PASS]
                        [--max-pass MAX_PASS]
                        [--pass-complex {1,2,3,4,5,6,7,8,9}]
                        [--exclude-files EXCLUDE_FILES [EXCLUDE_FILES ...]]
                        [--bad-expressions BAD_EXPRESSIONS [BAD_EXPRESSIONS ...]]

Opções básicas de linha de comando

  • -p LOCAL_PATH - caminho para a pasta contendo os arquivos a serem analisados.
  • -a, --advance - quando esta flag é definida, todos os arquivos serão adicionalmente analisados usando regras especificadas no arquivo rules.yaml.
  • -r, --remove - quando esta flag é definida, os arquivos que não contêm nenhum segredo (ou nada interessante se a flag -a estiver definida) serão removidos.
  • -s, --secret - quando esta flag é definida, todos os arquivos serão adicionalmente analisados em busca de senhas codificadas (hardcoded passwords).
  • -o OUTFILE - arquivo de saída no formato JSON.

Pré-requisitos

Para executar o DumpsterDiver, você precisa instalar as bibliotecas Python. Você pode fazer isso executando o seguinte comando:

root@kitploit:~
$> pip install -r requirements.txt

Se você instalou Python 2 e 3 separadamente, então deve usar pip3 ou pip3.6.

Personalizando sua pesquisa

Não existe uma ferramenta única que atenda às necessidades de todos e o DumpsterDiver não é exceção aqui. Existem 2 maneiras de personalizar sua pesquisa:

  • usando parâmetros de linha de comando
  • usando o arquivo config.yaml

Personalização via parâmetros de linha de comando

  • --min-key MIN_KEY - especifica o comprimento mínimo da chave a ser analisada (padrão é 20).
  • --max-key MAX_KEY - especifica o comprimento máximo da chave a ser analisada (padrão é 80).
  • --entropy ENTROPY - especifica o limite de alta entropia (padrão é 4.3).

Há também um script separado que permite contar a entropia de um caractere em uma única palavra. Isso ajudará você a personalizar melhor o DumpsterDiver de acordo com suas necessidades. Você pode verificá-lo usando o seguinte comando:

root@kitploit:~
$> python3 entropy.py f2441e3810794d37a34dd7f8f6995df4

Essa maneira é bastante útil quando você sabe o que está procurando. Aqui estão alguns exemplos:

  • Quando você está procurando por AWS Secret Access Key:

$> python3 DumpsterDiver.py -p [CAMINHO_PARA_PASTA] --min-key 40 --max-key 40 --entropy 4.3

  • Quando você está procurando por Azure Shared Key:

$> python3 DumpsterDiver.py -p [CAMINHO_PARA_PASTA] --min-key 66 --max-key 66 --entropy 5.1

  • Quando você está procurando por chave privada SSH (por padrão, a chave privada RSA é escrita em strings de 76 bytes):

$> python3 DumpsterDiver.py -p [CAMINHO_PARA_PASTA] --min-key 76 --max-key 76 --entropy 5.1

  • Quando você está procurando por qualquer ocorrência de aws_access_key_id ou aws_secret_access_key:

$> python3 DumpsterDiver.py -p ./test/ --grep-words *aws_access_key_id* *aws_secret_access_key* -a

Por favor, note que os curingas antes e depois de uma palavra de grep são usados de propósito. Desta forma, expressões como "aws_access_key_id" ou aws_access_key_id= também serão relatadas.

Encontrando senhas codificadas

Usar entropia para encontrar senhas não é muito eficaz, pois gera muitos falsos positivos. É por isso que o DumpsterDiver usa uma abordagem diferente para encontrar senhas codificadas - ele verifica a complexidade da senha usando passwordmeter. Para personalizar esta pesquisa, você pode usar os seguintes comandos:

  • --min-pass MIN_PASS - especifica o comprimento mínimo da senha a ser analisada (padrão é 8). Requer adicionar a flag -s à sintaxe.
  • --max-pass MAX_PASS - especifica o comprimento máximo da senha a ser analisada (padrão é 12). Requer adicionar a flag -s à sintaxe.
  • --pass-complex {1,2,3,4,5,6,7,8,9} - especifica o limite de complexidade da senha entre 1 (senhas triviais) a 9 (senhas muito complexas) (padrão é 8). Requer adicionar a flag -s à sintaxe.

Por exemplo, se você deseja encontrar senhas complexas (que contenham maiúsculas, minúsculas, caractere especial, dígito e tenham de 10 a 15 caracteres), então pode fazer isso usando o seguinte comando:

$> python3 DumpsterDiver.py -p [CAMINHO_PARA_PASTA] --min-pass 10 --max-pass 15 --pass-complex 8

Limitando a varredura

Você pode querer pular a varredura de certos arquivos. Para isso, você pode usar os seguintes parâmetros:

  • --exclude-files - especifica nomes de arquivos ou extensões que não devem ser analisados. A extensão do arquivo deve conter o caractere . (por exemplo, .pdf). Vários nomes de arquivos e extensões devem ser separados por espaço.

  • --bad-expressions - especifica expressões ruins. Se o DumpsterDiver encontrar tal expressão em um arquivo, este arquivo não será analisado. Várias expressões ruins devem ser separadas por espaço.

Se você deseja especificar vários nomes de arquivos, expressões ruins ou palavras de grep usando um arquivo separado, pode fazê-lo através do seguinte truque bash:

root@kitploit:~
$> python3 DumpsterDiver.py -p ./test/ --exclude-files `while read -r line; do echo $line; done < blacklisted_files.txt`

Personalização via arquivo config.yaml

Em vez de usar vários parâmetros de linha de comando, você pode especificar valores para todos os parâmetros mencionados acima de uma só vez no arquivo config.yaml.

Pesquisa avançada:

O DumpsterDiver também suporta uma pesquisa avançada. Além de uma simples busca com curingas, esta ferramenta permite criar condições. Vamos supor que você está procurando por um vazamento de e-mails corporativos. Além disso, você está interessado apenas em vazamentos grandes, que contenham pelo menos 100 endereços de e-mail. Para este propósito, você deve editar o arquivo rules.yaml da seguinte forma:

root@kitploit:~
filetype: [".*"]
filetype_weight: 0
grep_words: ["*@example.com"]
grep_words_weight: 10
grep_word_occurrence: 100

Vamos supor um cenário diferente: você está procurando pelos termos "pass", "password", "haslo", "hasło" (se você estiver analisando o repositório de uma empresa polonesa) em um arquivo .db ou .sql. Então você pode conseguir isso modificando o arquivo rules.yaml da seguinte forma:

root@kitploit:~
filetype: [".db", ".sql"]
filetype_weight: 5
grep_words: ["*pass*", "*haslo*", "*hasło*"]
grep_words_weight: 5
grep_word_occurrence: 1

Note que a regra será acionada apenas quando o peso total (filetype_weight + grep_words_weight) for >=10.

Usando Docker

Uma imagem Docker está disponível para o DumpsterDiver. Execute-a usando:

root@kitploit:~
$> docker run -v /path/to/my/files:/files --rm rzepsky/dumpsterdiver -p /files

Se você quiser substituir um dos arquivos de configuração (config.yaml ou rules.yaml):

root@kitploit:~
$> docker run -v /path/to/my/config/config.yaml:/config.yaml /path/to/my/config/rules.yaml:/rules.yaml -v /path/to/my/files:/files --rm rzepsky/dumpsterdiver -p /files

Contribuição

Você tem ideias melhores? Quer ajudar neste projeto? Por favor, entre em contato comigo pelo Twitter @Rzepsky. Ficaria mais do que feliz em ver aqui quaisquer contribuidores!

Agradecimentos especiais

Aqui gostaria de agradecer imensamente a todos que ajudaram a desenvolver este projeto:

  • Stephen Sorriaux
  • Andres Riancho
  • Damian Stygar
  • Disconnect3d

Licença

Veja o arquivo LICENSE.

Baixar ferramenta