Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DumpsterDiver — Strumento per cercare segreti in vari tipi di file. | Kitploit
Strumenti/GitHubGitHub/securing/dumpsterdiver
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceEsfiltrazione DatiRaccolta InformazioniRilevamento SegretiArchived
GitHubsecuring/dumpsterdiver

DumpsterDiver

Strumento per cercare segreti in vari tipi di file.

Vedi Repository
1.0k1543 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

DumpsterDiver_logo

DumpsterDiver (di @Rzepsky)

DumpsterDiver è uno strumento in grado di analizzare grandi volumi di dati alla ricerca di segreti hardcoded come chiavi (ad es. AWS Access Key, Azure Share Key o chiavi SSH) o password. Inoltre, consente di creare semplici regole di ricerca con condizioni di base (ad es. segnala solo file CSV che includono almeno 10 indirizzi email). Puoi vederlo in azione nel video dimostrativo o leggere tutte le sue funzionalità in questo articolo.

DumpsterDiver

Caratteristiche principali:

  • usa l'entropia di Shannon per trovare chiavi private,
  • esegue ricerche nei log git,
  • decomprime archivi compressi (ad es. zip, tar.gz ecc.),
  • supporta la ricerca avanzata utilizzando regole semplici (dettagli sotto),
  • cerca password hardcoded,
  • è completamente personalizzabile.

Utilizzo

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

Opzioni base della riga di comando

  • -p LOCAL_PATH - percorso della cartella contenente i file da analizzare.
  • -a, --advance - quando questo flag è impostato, tutti i file verranno analizzati ulteriormente utilizzando le regole specificate nel file rules.yaml.
  • -r, --remove - quando questo flag è impostato, i file che non contengono alcun segreto (o nulla di interessante se il flag -a è impostato) verranno rimossi.
  • -s, --secret - quando questo flag è impostato, tutti i file verranno ulteriormente analizzati alla ricerca di password hardcoded.
  • -o OUTFILE - file di output in formato JSON.

Prerequisiti

Per eseguire DumpsterDiver devi installare le librerie Python. Puoi farlo eseguendo il seguente comando:

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

Se hai installato separatamente Python 2 e 3, dovresti usare pip3 o pip3.6.

Personalizzare la ricerca

Non esiste uno strumento singolo che soddisfi le esigenze di tutti e DumpsterDiver non fa eccezione. Ci sono 2 modi per personalizzare la ricerca:

  • utilizzando i parametri della riga di comando
  • utilizzando il file config.yaml

Personalizzazione tramite parametri della riga di comando

  • --min-key MIN_KEY - specifica la lunghezza minima della chiave da analizzare (default 20).
  • --max-key MAX_KEY - specifica la lunghezza massima della chiave da analizzare (default 80).
  • --entropy ENTROPY - specifica il limite di entropia alta (default 4.3).

È stato aggiunto anche uno script separato che permette di calcolare l'entropia di un carattere in una singola parola. Ti aiuterà a personalizzare meglio DumpsterDiver secondo le tue esigenze. Puoi provarlo usando il seguente comando:

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

Questo metodo è molto utile quando sai cosa stai cercando. Ecco alcuni esempi:

  • Quando cerchi AWS Secret Access Key:

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

  • Quando cerchi Azure Shared Key:

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

  • Quando cerchi una chiave privata SSH (di default la chiave privata RSA è scritta in stringhe lunghe 76 byte):

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

  • Quando cerchi qualsiasi occorrenza di 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

Nota che i wildcard prima e dopo una parola grep sono usati appositamente. In questo modo verranno segnalate anche espressioni come "aws_access_key_id" o aws_access_key_id=.

Trovare password hardcoded

Usare l'entropia per trovare password non è molto efficace perché genera molti falsi positivi. Ecco perché DumpsterDiver utilizza un approccio diverso per trovare password hardcoded: verifica la complessità della password tramite passwordmeter. Per personalizzare questa ricerca puoi usare i seguenti comandi:

  • --min-pass MIN_PASS - specifica la lunghezza minima della password da analizzare (default 8). Richiede l'aggiunta del flag -s alla sintassi.
  • --max-pass MAX_PASS - specifica la lunghezza massima della password da analizzare (default 12). Richiede l'aggiunta del flag -s alla sintassi.
  • --pass-complex {1,2,3,4,5,6,7,8,9} - specifica il limite di complessità della password tra 1 (password banali) e 9 (password molto complesse) (default 8). Richiede l'aggiunta del flag -s alla sintassi.

Ad esempio, se vuoi trovare password complesse (che contengono maiuscole, minuscole, caratteri speciali, cifre e sono lunghe da 10 a 15 caratteri), puoi farlo usando il seguente comando:

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

Limitare la scansione

Potresti voler saltare la scansione di determinati file. A questo scopo puoi usare i seguenti parametri:

  • --exclude-files - specifica nomi di file o estensioni che non devono essere analizzati. L'estensione del file deve contenere il carattere . (ad es. .pdf). I nomi multipli e le estensioni devono essere separati da spazio.

  • --bad-expressions - specifica espressioni indesiderate. Se DumpsterDiver trova tale espressione in un file, quel file non verrà analizzato. Le espressioni multiple devono essere separate da spazio.

Se vuoi specificare più nomi di file, espressioni indesiderate o parole grep usando un file separato, puoi farlo tramite il seguente trucco bash:

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

Personalizzazione tramite file config.yaml

Invece di usare molti parametri della riga di comando, puoi specificare i valori per tutti i parametri sopra menzionati in una volta sola nel file config.yaml.

Ricerca avanzata:

DumpsterDiver supporta anche la ricerca avanzata. Oltre a una semplice grep con wildcard, questo strumento ti permette di creare condizioni. Supponiamo che tu stia cercando una fuga di email aziendali. Inoltre, sei interessato solo a fughe di grandi dimensioni, che contengono almeno 100 indirizzi email. A questo scopo, dovresti modificare il file rules.yaml nel seguente modo:

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

Supponiamo uno scenario diverso: stai cercando i termini "pass", "password", "haslo", "hasło" (se stai analizzando un repository di un'azienda polacca) in un file .db o .sql. Allora puoi ottenere questo modificando il file rules.yaml nel seguente modo:

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

Nota che la regola verrà attivata solo quando il peso totale (filetype_weight + grep_words_weight) è >=10.

Usare Docker

Un'immagine Docker è disponibile per DumpsterDiver. Eseguila usando:

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

Se vuoi sovrascrivere uno dei file di configurazione (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

Contributi

Hai idee migliori? Vuoi aiutare in questo progetto? Per favore contattami su Twitter @Rzepsky. Sarei più che felice di vedere qui dei contributori!

Ringraziamenti speciali

Qui vorrei ringraziare tantissimo tutti coloro che hanno aiutato a sviluppare questo progetto:

  • Stephen Sorriaux
  • Andres Riancho
  • Damian Stygar
  • Disconnect3d

Licenza

Vedi il file LICENSE.

Scarica lo strumento