Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Snaffler — uno strumento per pentester per aiutare a trovare caramelle deliziose, di @l0ss e @Sh3r4 ( Twitter: @/mikeloss e @/sh3r4_hax ) | Kitploit
Strumenti/GitHubGitHub/snaffcon/snaffler
RicognizioneMeccanismi di PersistenzaMovimento LateraleRaccolta InformazioniPost-ExploitPenetration TestingRed TeamingTop in Movimento Laterale n.8Top in Meccanismi di Persistenza n.20Top in Post-Exploit n.13
2.9k283397 mesi 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 →
GitHubsnaffcon/snaffler

Snaffler

uno strumento per pentester per aiutare a trovare caramelle deliziose, di @l0ss e @Sh3r4 ( Twitter: @/mikeloss e @/sh3r4_hax )

Vedi Repository
Condividi

Snaffler

ko-fi

Una definizione da dizionario di "snaffle".

A cosa serve?

Snaffler è uno strumento per penetration tester e red teamer per aiutare a trovare deliziosi aghi di caramella (principalmente credenziali, ma è flessibile) in un mucchio di orribili e noiosi pagliai (un enorme ambiente Windows/AD).

Potrebbe anche essere utile per altre persone che fanno altre cose, ma non è esplicitamente concepito come strumento di "audit".

Non voglio leggere tutto questo!!!

Uff, va bene. Ma non siamo responsabili dei risultati. Abbiamo scritto tutta questa altra roba per te, ma va bene così. Non siamo arrabbiati, solo delusi.

snaffler.exe -s -o snaffler.log

Cosa fa?

In parole povere - ottiene un elenco di computer Windows da Active Directory, poi estende le sue appendici annusatrici a tutti loro per capire quali hanno condivisioni file e se puoi leggerle.

Poi ANCORA PIÙ appendici annusatrici enumerano tutti i file in quelle condivisioni e usano L'INTELIGENZA ARTEFATTUALE APPRESA per MACCHINE per capire quali potrebbero interessare a un lurido piccolo hacker come te.

In realtà non fa nulla di ML, perché farlo bene richiederebbe dati di addestramento, e questo richiederebbe un'enorme quantità di tempo che non abbiamo. Invece, come tutti i buoni progetti "ML", usa solo un sacco di istruzioni if e regex.

Che aspetto ha?

Così!

Come si usa?

Se "semplicemente esegui l'EXE su una macchina joined al dominio nel contesto di un utente di dominio" (come è stato detto alla gente di fare con Grouper2, subito prima che lo eseguissero con tutti gli switch verbose/debug attivi in modo che urlassero diverse centinaia di megabyte di stack trace) non farà praticamente nulla. Questa è la nostra idea di scherzoTM per chi non legge i file README, perché siamo mostri.

TUTTAVIA... se aggiungi le giuste formule magiche, abiliterà il suddetto L.A.I.M. e i percorsi dei file dove potrebbe esserci caramella verranno fuori.

Le formule magiche chiave sono:

-o Abilita l'output dei risultati su file. Probabilmente lo vuoi se non stai usando -s. Es. -o C:\users\cosa\snaffler.log

-s Abilita l'output dei risultati su stdout appena vengono trovati. Probabilmente lo vuoi se non stai usando -o.

-v Controlla il livello di verbosità, le opzioni sono Trace (più verboso), Degub (meno verboso, meno gub), Info (ancora meno verboso, predefinito) e Data (solo risultati). Es. -v debug

-m Abilita e assegna una directory di output in cui snaffler copierà automaticamente (o Snafflerà... se vuoi) qualsiasi file trovato che gli piace.

-l Dimensione massima dei file (in byte) da Snafflare. Predefinito a 10000000, che è circa 10MB.

-i Disabilita la scoperta di computer e condivisioni, richiede un percorso a una directory in cui eseguire la scoperta dei file.

-n Disabilita la scoperta dei computer, accetta un elenco separato da virgole di host o un file di input per eseguire la scoperta di condivisioni e file. Nota: se si fornisce un file, l'input deve essere un percorso, ad esempio C:\targets.txt o .\targets.txt.

-y Formatta l'output in TSV.

-b Salta le regole LAIM che troveranno roba meno interessante, sintonizzalo con un numero tra 0 e 3.

-f Limita Snaffler alla ricerca di condivisioni file tramite DFS (Distributed File System) - questo dovrebbe essere molto più furtivo rispetto al predefinito coprendo comunque le condivisioni file più grandi in molte organizzazioni.

-a Salta l'enumerazione dei file, fornisce solo un elenco di condivisioni listabili sugli host target.

-u Fa sì che Snaffler recuperi un elenco di nomi account da AD, scelga quelli più interessanti e li usi in una regola di ricerca.

-d Dominio in cui cercare computer per cercare condivisioni in cui cercare file. Facile.

-c Controller di dominio da interrogare per l'elenco dei computer del dominio.

-r Dimensione massima del file (in byte) da ispezionare internamente per stringhe interessanti. Predefinito a 500k.

-j Quanti byte di contesto mostrare ai lati delle stringhe trovate nei file, es. -j 200

-z Percorso a un file di configurazione che definisce tutto quanto sopra, e molto altro! Vedi sotto per maggiori dettagli. Dagli -z generate per generare un file di configurazione di esempio chiamato .\default.toml.

-t Tipo di log da produrre. Opzioni attualmente supportate: plain e JSON. Predefinito plain.

-x Numero massimo di thread da usare. Non impostarlo sotto 4 o si romperà tutto.

-p Percorso a una directory piena di file di regole in formato .toml. Snaffler caricherà tutti questi al posto del ruleset predefinito.

Cosa significa tutto questo output di log?

Speriamo che questo esempio annotato possa aiutare:

Questa voce di log dovrebbe essere letta approssimativamente da sinistra a destra come:

  • alle 7:37 circa
  • Snaffler ha trovato un file che ritiene degno della tua attenzione
  • lo ha classificato come "Rosso", il secondo livello più interessante
  • ha corrisposto una regola chiamata "KeepConfigRegexRed"
  • puoi leggerlo, ma non modificarlo
  • la regex esatta che è stata trovata è quella roba nel riquadro rosso
  • è di 208kB
  • è stato modificato l'ultima volta il 10 gennaio 2020 alle 15:45 circa.
  • il file si trova nel percorso in viola

... e il resto della riga (in grigio) è un piccolo snippet di contesto dal file dove è stato trovato il match.

In questo caso abbiamo trovato i valori validationKey e decryptionKey di ASP.NET, che potrebbero permetterci di eseguire RCE sull'app web tramite qualche hack di deserializzazione. Evviva!

Nota: dopo che questo screenshot è stato fatto, Sh3r4 ha aggiunto una cosa per anteporre l'utente corrente e il nome host a ogni riga. Ma non voglio rifare lo screenshot.

Come decide quali file sono buoni e quali noiosi?

La risposta "così semplice che è quasi una bugia":

Ogni magico metodo di ricerca file L.A.I.M. fa cose come:

  • Cercare per corrispondenza esatta di estensione file, per cui qualsiasi file con un'estensione che corrisponde alla wordlist pertinente verrà restituito. Questo è pensato per estensioni di file che contengono quasi sempre caramella, es. .kdbx, .vmdk, .ppk, ecc.

  • Cercare per corrispondenza esatta del nome file (senza distinzione tra maiuscole/minuscole). Questo è pensato per nomi di file che contengono quasi sempre caramella, es. id_rsa, shadow, NTDS.DIT, ecc.

  • Cercare per corrispondenza esatta di estensione file (un'altra wordlist) SEGUITA dal 'grep' del contenuto di qualsiasi file corrispondente per certe parole chiave (un'altra ancora wordlist). Questo è pensato per estensioni di file che a volte contengono caramella ma dove sai che probabilmente c'è molta pula da setacciare. Ad esempio, web.config a volte contiene credenziali di database, ma spesso contiene anche noioso nonsense di configurazione IIS e nessuna password. Questo troverà (per esempio) qualsiasi cosa che finisce in .config, poi farà grep attraverso di esso per stringhe incluse ma non limitate a: connectionString, password, PRIVATE KEY, ecc.

Scarica lo strumento