Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DumpsterDiver — Werkzeug zum Durchsuchen von Geheimnissen in verschiedenen Dateitypen. | Kitploit
Tools/GitHubGitHub/securing/dumpsterdiver
Statische AnalyseSchwachstellenanalyseCode-AnalyseDatenexfiltrationInformationsbeschaffungSecret-ErkennungArchived
GitHubsecuring/dumpsterdiver

DumpsterDiver

Werkzeug zum Durchsuchen von Geheimnissen in verschiedenen Dateitypen.

Repository anzeigen
1.0k1547vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

DumpsterDiver_logo

DumpsterDiver (von @Rzepsky)

DumpsterDiver ist ein Werkzeug, das große Datenmengen nach fest codierten Geheimnissen wie Schlüsseln (z.B. AWS Access Key, Azure Share Key oder SSH-Schlüssel) oder Passwörtern durchsuchen kann. Zusätzlich ermöglicht es die Erstellung einfacher Suchregeln mit grundlegenden Bedingungen (z.B. nur CSV-Dateien melden, die mindestens 10 E-Mail-Adressen enthalten). Der Hauptgedanke dieses Tools ist es, potenzielle Geheimnislecks zu erkennen. Sie können es in Aktion im Demo-Video sehen oder über alle Funktionen in diesem Artikel lesen.

DumpsterDiver

Hauptmerkmale:

  • Es verwendet Shannon-Entropie, um private Schlüssel zu finden,
  • Es durchsucht Git-Logs,
  • Es entpackt komprimierte Archive (z.B. zip, tar.gz usw.),
  • Es unterstützt erweiterte Suche mit einfachen Regeln (Details unten),
  • Es sucht nach fest codierten Passwörtern,
  • Es ist vollständig anpassbar.

Usage

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

Grundlegende Befehlszeilenoptionen

  • -p LOCAL_PATH - Pfad zum Ordner, der die zu analysierenden Dateien enthält.
  • -a, --advance - Wenn dieses Flag gesetzt ist, werden alle Dateien zusätzlich mit den in der Datei rules.yaml angegebenen Regeln analysiert.
  • -r, --remove - Wenn dieses Flag gesetzt ist, werden Dateien, die kein Geheimnis (oder nichts Interessantes, wenn das -a Flag gesetzt ist) enthalten, entfernt.
  • -s, --secret - Wenn dieses Flag gesetzt ist, werden alle Dateien zusätzlich auf fest codierte Passwörter untersucht.
  • -o OUTFILE - Ausgabedatei im JSON-Format.

Voraussetzungen

Um DumpsterDiver auszuführen, müssen Sie die Python-Bibliotheken installieren. Sie können dies mit dem folgenden Befehl tun:

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

Wenn Sie Python 2 und 3 separat installiert haben, sollten Sie pip3 oder pip3.6 verwenden.

Anpassen Ihrer Suche

Es gibt kein einzelnes Tool, das für jedermanns Bedürfnisse geeignet ist, und DumpsterDiver ist hier keine Ausnahme. Es gibt zwei Möglichkeiten, Ihre Suche anzupassen:

  • Verwendung von Befehlszeilenparametern
  • Verwendung der config.yaml-Datei

Anpassung über Befehlszeilenparameter

  • --min-key MIN_KEY - Gibt die minimale zu analysierende Schlüssellänge an (Standard ist 20).
  • --max-key MAX_KEY - Gibt die maximale zu analysierende Schlüssellänge an (Standard ist 80).
  • --entropy ENTROPY - Gibt die Grenze für hohe Entropie an (Standard ist 4,3).

Es gibt auch ein separates Skript, mit dem Sie die Entropie eines Zeichens in einem einzelnen Wort zählen können. Es hilft Ihnen, DumpsterDiver besser an Ihre Bedürfnisse anzupassen. Sie können es mit dem folgenden Befehl überprüfen:

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

Diese Methode ist sehr hilfreich, wenn Sie wissen, wonach Sie suchen. Hier sind einige Beispiele:

  • Wenn Sie nach AWS Secret Access Key suchen:

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

  • Wenn Sie nach Azure Shared Key suchen:

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

  • Wenn Sie nach SSH-Private-Key suchen (standardmäßig wird ein RSA-Private-Key in 76 Byte langen Strings geschrieben):

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

  • Wenn Sie nach Vorkommen von aws_access_key_id oder aws_secret_access_key suchen:

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

Bitte beachten Sie, dass Platzhalter vor und nach einem Suchwort absichtlich verwendet werden. Auf diese Weise werden auch Ausdrücke wie "aws_access_key_id" oder aws_access_key_id= gemeldet.

Auffinden fest codierter Passwörter

Die Verwendung von Entropie zum Auffinden von Passwörtern ist nicht sehr effektiv, da sie viele Fehlalarme erzeugt. Aus diesem Grund verwendet DumpsterDiver einen anderen Ansatz, um fest codierte Passwörter zu finden – es überprüft die Passwortkomplexität mit passwordmeter. Um diese Suche anzupassen, können Sie die folgenden Befehle verwenden:

  • --min-pass MIN_PASS - Gibt die minimale zu analysierende Passwortlänge an (Standard ist 8). Erfordert das Hinzufügen des -s Flags zur Syntax.
  • --max-pass MAX_PASS - Gibt die maximale zu analysierende Passwortlänge an (Standard ist 12). Erfordert das Hinzufügen des -s Flags zur Syntax.
  • --pass-complex {1,2,3,4,5,6,7,8,9} - Gibt die Grenze der Passwortkomplexität zwischen 1 (triviale Passwörter) und 9 (sehr komplexe Passwörter) an (Standard ist 8). Erfordert das Hinzufügen des -s Flags zur Syntax.

Wenn Sie beispielsweise komplexe Passwörter finden möchten (die Großbuchstaben, Kleinbuchstaben, Sonderzeichen, Ziffern enthalten und 10 bis 15 Zeichen lang sind), können Sie dies mit dem folgenden Befehl tun:

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

Scan einschränken

Möglicherweise möchten Sie das Scannen bestimmter Dateien überspringen. Dazu können Sie die folgenden Parameter verwenden:

  • --exclude-files - Gibt Dateinamen oder Erweiterungen an, die nicht analysiert werden sollen. Die Dateierweiterung sollte das Zeichen . enthalten (z.B. .pdf). Mehrere Dateinamen und Erweiterungen sollten durch Leerzeichen getrennt werden.

  • --bad-expressions - Gibt schlechte Ausdrücke an. Wenn DumpsterDiver einen solchen Ausdruck in einer Datei findet, wird diese Datei nicht analysiert. Mehrere schlechte Ausdrücke sollten durch Leerzeichen getrennt werden.

Wenn Sie mehrere Dateinamen, schlechte Ausdrücke oder Suchwörter mit einer separaten Datei angeben möchten, können Sie dies mit dem folgenden Bash-Trick tun:

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

Anpassung über die config.yaml-Datei

Anstatt mehrere Befehlszeilenparameter zu verwenden, können Sie Werte für alle oben genannten Parameter auf einmal in der config.yaml-Datei angeben.

Erweiterte Suche:

DumpsterDiver unterstützt auch eine erweiterte Suche. Über einfaches Greppen mit Platzhaltern hinaus ermöglicht dieses Tool die Erstellung von Bedingungen. Nehmen wir an, Sie suchen nach einem Leck von Unternehmens-E-Mails. Außerdem interessieren Sie sich nur für große Lecks, die mindestens 100 E-Mail-Adressen enthalten. Dazu sollten Sie die Datei rules.yaml wie folgt bearbeiten:

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

Nehmen wir ein anderes Szenario an: Sie suchen nach den Begriffen "pass", "password", "haslo", "hasło" (wenn Sie ein polnisches Firmen-Repository analysieren) in einer .db- oder .sql-Datei. Dies erreichen Sie durch Ändern der Datei rules.yaml wie folgt:

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

Beachten Sie, dass die Regel nur ausgelöst wird, wenn das Gesamtgewicht (filetype_weight + grep_words_weight) >=10 ist.

Docker verwenden

Ein Docker-Image ist für DumpsterDiver verfügbar. Führen Sie es wie folgt aus:

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

Wenn Sie eine der Konfigurationsdateien (config.yaml oder rules.yaml) überschreiben möchten:

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

Beitrag

Haben Sie bessere Ideen? Möchten Sie bei diesem Projekt helfen? Bitte kontaktieren Sie mich über Twitter @Rzepsky. Ich würde mich sehr freuen, hier Mitwirkende zu sehen!

Besonderer Dank

Ich möchte mich hier bei all denen bedanken, die zur Entwicklung dieses Projekts beigetragen haben:

  • Stephen Sorriaux
  • Andres Riancho
  • Damian Stygar
  • Disconnect3d

Lizenz

Siehe die Datei LICENSE.

Tool herunterladen