Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DumpsterDiver — Herramienta para buscar secretos en varios tipos de archivos. | Kitploit
Herramientas/GitHubGitHub/securing/dumpsterdiver
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoExfiltración de DatosRecopilación de InformaciónDetección de SecretosArchived
GitHubsecuring/dumpsterdiver

DumpsterDiver

Herramienta para buscar secretos en varios tipos de archivos.

Ver Repositorio
1.0k1547hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

DumpsterDiver_logo

DumpsterDiver (por @Rzepsky)

DumpsterDiver es una herramienta que puede analizar grandes volúmenes de datos en busca de secretos codificados como claves (por ejemplo, AWS Access Key, Azure Share Key o claves SSH) o contraseñas. Además, permite crear reglas de búsqueda simples con condiciones básicas (por ejemplo, reportar solo archivos csv que incluyan al menos 10 direcciones de correo electrónico). La idea principal de esta herramienta es detectar cualquier posible fuga de secretos. Puedes verla en acción en el video de demostración o leer sobre todas sus características en este artículo.

DumpsterDiver

Características principales:

  • usa la entropía de Shannon para encontrar claves privadas,
  • busca en registros de git,
  • desempaqueta archivos comprimidos (por ejemplo, zip, tar.gz, etc.),
  • admite búsqueda avanzada usando reglas simples (detalles abajo),
  • busca contraseñas codificadas,
  • es totalmente personalizable.

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 ...]]
Descargar herramienta

Opciones básicas de línea de comandos

  • -p LOCAL_PATH - ruta a la carpeta que contiene los archivos a analizar.
  • -a, --advance - cuando esta bandera está activada, todos los archivos serán analizados adicionalmente usando las reglas especificadas en el archivo rules.yaml.
  • -r, --remove - cuando esta bandera está activada, los archivos que no contengan ningún secreto (o nada interesante si la bandera -a está activada) serán eliminados.
  • -s, --secret - cuando esta bandera está activada, todos los archivos serán analizados adicionalmente en busca de contraseñas codificadas.
  • -o OUTFILE - archivo de salida en formato JSON.

Requisitos previos

Para ejecutar DumpsterDiver debes instalar las librerías de Python. Puedes hacerlo ejecutando el siguiente comando:

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

Si tienes instalados por separado Python 2 y 3, entonces debes usar pip3 o pip3.6.

Personalizando tu búsqueda

No existe una herramienta única que se adapte a las necesidades de todos y DumpsterDiver no es una excepción. Hay 2 formas de personalizar tu búsqueda:

  • usando parámetros de línea de comandos
  • usando el archivo config.yaml

Personalización mediante parámetros de línea de comandos

  • --min-key MIN_KEY - especifica la longitud mínima de clave a analizar (por defecto es 20).
  • --max-key MAX_KEY - especifica la longitud máxima de clave a analizar (por defecto es 80).
  • --entropy ENTROPY - especifica el límite de alta entropía (por defecto es 4.3).

También se ha añadido un script separado que te permite calcular la entropía de un carácter en una sola palabra. Te ayudará a personalizar mejor DumpsterDiver según tus necesidades. Puedes probarlo usando el siguiente comando:

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

Esta forma es muy útil cuando sabes lo que buscas. Aquí hay algunos ejemplos:

  • Cuando buscas una AWS Secret Access Key:

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

  • Cuando buscas una Azure Shared Key:

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

  • Cuando buscas una clave privada SSH (por defecto, la clave privada RSA está escrita en cadenas de 76 bytes):

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

  • Cuando buscas cualquier ocurrencia de aws_access_key_id o aws_secret_access_key:

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

Ten en cuenta que los comodines antes y después de una palabra de búsqueda se usan a propósito. De esta forma, expresiones como "aws_access_key_id" o aws_access_key_id= también serán reportadas.

Encontrando contraseñas codificadas

Usar la entropía para encontrar contraseñas no es muy efectivo ya que genera muchos falsos positivos. Por eso DumpsterDiver utiliza un enfoque diferente para encontrar contraseñas codificadas: verifica la complejidad de la contraseña usando passwordmeter. Para personalizar esta búsqueda puedes usar los siguientes comandos:

  • --min-pass MIN_PASS - especifica la longitud mínima de contraseña a analizar (por defecto es 8). Requiere añadir la bandera -s a la sintaxis.
  • --max-pass MAX_PASS - especifica la longitud máxima de contraseña a analizar (por defecto es 12). Requiere añadir la bandera -s a la sintaxis.
  • --pass-complex {1,2,3,4,5,6,7,8,9} - especifica el límite de complejidad de contraseña entre 1 (contraseñas triviales) y 9 (contraseñas muy complejas) (por defecto es 8). Requiere añadir la bandera -s a la sintaxis.

Por ejemplo, si quieres encontrar contraseñas complejas (que contengan mayúsculas, minúsculas, caracteres especiales, dígitos y tengan entre 10 y 15 caracteres de longitud), puedes hacerlo usando el siguiente comando:

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

Limitando el escaneo

Puede que quieras omitir el escaneo de ciertos archivos. Para ello puedes usar los siguientes parámetros:

  • --exclude-files - especifica nombres de archivos o extensiones que no deben ser analizados. La extensión debe contener el carácter . (por ejemplo, .pdf). Varios nombres y extensiones deben separarse por espacio.

  • --bad-expressions - especifica expresiones malas. Si DumpsterDiver encuentra dicha expresión en un archivo, ese archivo no será analizado. Varias expresiones malas deben separarse por espacio.

Si quieres especificar varios nombres de archivo, expresiones malas o palabras de búsqueda usando un archivo separado, puedes hacerlo mediante el siguiente truco de bash:

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

Personalización mediante el archivo config.yaml

En lugar de usar múltiples parámetros de línea de comandos, puedes especificar valores para todos los parámetros mencionados anteriormente de una vez en el archivo config.yaml.

Búsqueda avanzada:

DumpsterDiver también admite una búsqueda avanzada. Más allá de un simple grep con comodines, esta herramienta te permite crear condiciones. Supongamos que estás buscando una fuga de correos electrónicos corporativos. Además, solo te interesan las fugas grandes que contengan al menos 100 direcciones de correo. Para ello debes editar el archivo rules.yaml de la siguiente manera:

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

Supongamos otro escenario: buscas los términos "pass", "password", "haslo", "hasło" (si estás analizando un repositorio de una empresa polaca) en un archivo .db o .sql. Entonces puedes lograrlo modificando el archivo rules.yaml de la siguiente manera:

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

Ten en cuenta que la regla se activará solo cuando el peso total (filetype_weight + grep_words_weight) sea >=10.

Usando Docker

Una imagen de Docker está disponible para DumpsterDiver. Ejecútala usando:

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

Si quieres sobrescribir uno de los archivos de configuración (config.yaml o 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

Contribución

¿Tienes mejores ideas? ¿Quieres ayudar en este proyecto? Por favor contáctame en Twitter @Rzepsky. ¡Estaría más que feliz de ver aquí a cualquier colaborador!

Agradecimientos especiales

Aquí me gustaría agradecer mucho a todos los que ayudaron a desarrollar este proyecto:

  • Stephen Sorriaux
  • Andres Riancho
  • Damian Stygar
  • Disconnect3d

Licencia

Consulta el archivo LICENSE.