Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
DumpsterDiver — Outil pour rechercher des secrets dans divers types de fichiers. | Kitploit
Outils/GitHubGitHub/securing/dumpsterdiver
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeExfiltration de DonnéesCollecte d'InformationsDétection de SecretsArchived
GitHubsecuring/dumpsterdiver

DumpsterDiver

Outil pour rechercher des secrets dans divers types de fichiers.

Voir le dépôt
1.0k154il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

DumpsterDiver_logo

DumpsterDiver (par @Rzepsky)

DumpsterDiver est un outil qui peut analyser de grands volumes de données à la recherche de secrets codés en dur comme des clés (par exemple, AWS Access Key, Azure Share Key ou clés SSH) ou des mots de passe. De plus, il permet de créer des règles de recherche simples avec des conditions de base (par exemple, signaler uniquement les fichiers csv contenant au moins 10 adresses e-mail). L'idée principale de cet outil est de détecter toute fuite potentielle de secrets. Vous pouvez le voir en action dans la vidéo de démonstration ou lire toutes ses fonctionnalités dans cet article.

DumpsterDiver

Fonctionnalités clés :

  • il utilise l'entropie de Shannon pour trouver des clés privées,
  • il recherche dans les logs git,
  • il décompresse les archives (par exemple zip, tar.gz, etc.),
  • il prend en charge la recherche avancée à l'aide de règles simples (détails ci-dessous),
  • il recherche des mots de passe codés en dur,
  • il est entièrement personnalisable.

Utilisation

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

Options de base de la ligne de commande

  • -p LOCAL_PATH - chemin vers le dossier contenant les fichiers à analyser.
  • -a, --advance - lorsque ce drapeau est activé, tous les fichiers seront également analysés à l'aide des règles spécifiées dans le fichier rules.yaml.
  • -r, --remove - lorsque ce drapeau est activé, les fichiers qui ne contiennent aucun secret (ou rien d'intéressant si le drapeau -a est activé) seront supprimés.
  • -s, --secret - lorsque ce drapeau est activé, tous les fichiers seront également analysés à la recherche de mots de passe codés en dur.
  • -o OUTFILE - fichier de sortie au format JSON.

Prérequis

Pour exécuter DumpsterDiver, vous devez installer les bibliothèques python. Vous pouvez le faire en exécutant la commande suivante :

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

Si vous avez installé séparément Python 2 et 3, vous devez utiliser pip3 ou pip3.6.

Personnaliser votre recherche

Il n'existe pas d'outil unique qui réponde aux besoins de tout le monde, et DumpsterDiver ne fait pas exception. Il y a 2 façons de personnaliser votre recherche :

  • en utilisant les paramètres de la ligne de commande
  • en utilisant le fichier config.yaml

Personnalisation via les paramètres de la ligne de commande

  • --min-key MIN_KEY - spécifie la longueur minimale de la clé à analyser (par défaut 20).
  • --max-key MAX_KEY - spécifie la longueur maximale de la clé à analyser (par défaut 80).
  • --entropy ENTROPY - spécifie le seuil d'entropie élevée (par défaut 4.3).

Un script séparé a également été ajouté qui vous permet de calculer l'entropie d'un caractère dans un seul mot. Il vous aidera à mieux personnaliser DumpsterDiver selon vos besoins. Vous pouvez le tester à l'aide de la commande suivante :

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

Cette méthode est très utile lorsque vous savez ce que vous cherchez. Voici quelques exemples :

  • Lorsque vous recherchez une AWS Secret Access Key :

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

  • Lorsque vous recherchez une Azure Shared Key :

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

  • Lorsque vous recherchez une clé privée SSH (par défaut, la clé privée RSA est écrite en chaînes de 76 octets) :

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

  • Lorsque vous recherchez toute occurrence 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

Veuillez noter que les caractères génériques avant et après un mot de grep sont utilisés intentionnellement. Ainsi, des expressions comme "aws_access_key_id" ou aws_access_key_id= seront également signalées.

Recherche de mots de passe codés en dur

L'utilisation de l'entropie pour trouver des mots de passe n'est pas très efficace car elle génère beaucoup de faux positifs. C'est pourquoi DumpsterDiver adopte une approche différente pour trouver des mots de passe codés en dur : il vérifie la complexité du mot de passe à l'aide de passwordmeter. Pour personnaliser cette recherche, vous pouvez utiliser les commandes suivantes :

  • --min-pass MIN_PASS - spécifie la longueur minimale du mot de passe à analyser (par défaut 8). Nécessite l'ajout du drapeau -s à la syntaxe.
  • --max-pass MAX_PASS - spécifie la longueur maximale du mot de passe à analyser (par défaut 12). Nécessite l'ajout du drapeau -s à la syntaxe.
  • --pass-complex {1,2,3,4,5,6,7,8,9} - spécifie le seuil de complexité du mot de passe entre 1 (mots de passe triviaux) et 9 (mots de passe très complexes) (par défaut 8). Nécessite l'ajout du drapeau -s à la syntaxe.

Par exemple, si vous voulez trouver des mots de passe complexes (qui contiennent des majuscules, minuscules, caractères spéciaux, chiffres et font 10 à 15 caractères), vous pouvez le faire avec la commande suivante :

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

Limitation de l'analyse

Vous pouvez souhaiter ignorer l'analyse de certains fichiers. Pour cela, vous pouvez utiliser les paramètres suivants :

  • --exclude-files - spécifie les noms de fichiers ou extensions qui ne doivent pas être analysés. L'extension de fichier doit contenir le caractère . (par exemple .pdf). Plusieurs noms de fichiers et extensions doivent être séparés par un espace.

  • --bad-expressions - spécifie les expressions indésirables. Si DumpsterDiver trouve une telle expression dans un fichier, ce fichier ne sera pas analysé. Plusieurs expressions indésirables doivent être séparées par un espace.

Si vous souhaitez spécifier plusieurs noms de fichiers, expressions indésirables ou mots de grep à l'aide d'un fichier séparé, vous pouvez le faire via l'astuce bash suivante :

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

Personnalisation via le fichier config.yaml

Au lieu d'utiliser plusieurs paramètres de ligne de commande, vous pouvez spécifier les valeurs pour tous les paramètres mentionnés ci-dessus en une fois dans le fichier config.yaml.

Recherche avancée :

DumpsterDiver prend également en charge une recherche avancée. Au-delà d'une simple recherche avec des caractères génériques, cet outil vous permet de créer des conditions. Supposons que vous recherchiez une fuite d'e-mails d'entreprise. De plus, vous êtes intéressé uniquement par les fuites importantes, qui contiennent au moins 100 adresses e-mail. Pour cela, vous devez modifier le fichier rules.yaml de la manière suivante :

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

Supposons un scénario différent : vous recherchez les termes « pass », « password », « haslo », « hasło » (si vous analysez un référentiel d'entreprise polonaise) dans un fichier .db ou .sql. Vous pouvez alors y parvenir en modifiant le fichier 'rules.yaml' de la manière suivante :

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

Notez que la règle ne sera déclenchée que lorsque le poids total (filetype_weight + grep_words_weight) sera >=10.

Utilisation de Docker

Une image Docker est disponible pour DumpsterDiver. Exécutez-la avec :

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

Si vous souhaitez remplacer l'un des fichiers de configuration (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

Contribution

Avez-vous de meilleures idées ? Voulez-vous aider ce projet ? Veuillez me contacter via Twitter @Rzepsky. Je serais ravi de voir des contributeurs ici !

Remerciements particuliers

Je tiens à remercier chaleureusement tous ceux qui ont contribué au développement de ce projet :

  • Stephen Sorriaux
  • Andres Riancho
  • Damian Stygar
  • Disconnect3d

Licence

Voir le fichier LICENSE.

Télécharger l’outil