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
festin — FestIn - Scanner per bucket S3 aperti | Kitploit
Strumenti/GitHubGitHub/cr0hn/festin
OSINT (Open Source Intelligence)Scanner di VulnerabilitàRaccolta InformazioniSicurezza CloudCrawlerAnalisi DNS
GitHubcr0hn/festin

festin

FestIn - Scanner per bucket S3 aperti

Vedi Repository
2333331 giorno 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

Festin logo

FestIN il potente cercatore di bucket S3 e scopritore di contenuti

  • Cos'è FestIn
  • Perché Festin
  • Installazione
    • Usando Python
    • Usando Docker
  • Opzioni complete
  • Utilizzo
    • Configurare i domini di ricerca
    • Concorrenza
    • Configurazione del crawler HTTP
    • Gestire i risultati
    • Utilizzo del proxy
    • Opzioni DNS
    • Supporto per ricerca testuale completa
    • Esecuzione come servizio (modalità watch)
  • Esempio: Combinare FestIn + DnsRecon
    • Passo 1 - Eseguire dnsrecon con le opzioni desiderate sul dominio target e salvare l'output
    • Passo 2 - Preparare il file generato in precedenza per alimentare FestIn
    • Passo 3 - Eseguire FestIn con le opzioni desiderate e salvare l'output - Eseguire contro target.com usando il proxy tor, con concorrenza 5, usando il DNS 212.166.64.1 per risolvere i CNAME e salvando i risultati nel file target.com.result:
  • Domande frequenti
  • Chi usa FestIn
  • MrLooquer
  • Licenza

Cos'è FestIn

FestIn è uno strumento per scoprire bucket S3 aperti partendo da un dominio.

Esegue molti test e raccoglie informazioni da:

  • DNS
  • Pagine Web (Crawler)
  • Il bucket S3 stesso (come i reindirizzamenti S3)

Perché Festin

Esistono molti strumenti S3 per l'enumerazione e la scoperta di bucket S3. Alcuni sono ottimi, ma nessuno ha una lista completa di funzionalità come Festin.

Le caratteristiche principali che rendono Festin eccezionale:

  • Tecniche varie per trovare bucket: crawling, crawling DNS e analisi delle risposte S3.
  • Supporto per proxy per instradare le richieste.
  • Le credenziali AWS non sono necessarie.
  • Funziona con qualsiasi provider compatibile S3, non solo AWS.
  • Consente di configurare server DNS personalizzati.
  • Crawler HTTP integrato ad alte prestazioni.
  • Ricerca ricorsiva e feedback dai 3 motori: un dominio trovato dal crawler DNS viene inviato ai motori S3 e HTTP Crawler, e lo stesso per S3 e Crawler.
  • Funziona in modalità 'watch', ascoltando nuovi domini in tempo reale.
  • Salva tutti i domini scoperti in un file separato per ulteriori analisi.
  • Consente di scaricare gli oggetti del bucket e inserirli automaticamente in un motore di ricerca testuale completo (Redis Search), indicizzando il contenuto degli oggetti per permettere ricerche potenti.
  • Limita la ricerca a domini specifici.

Installazione

Usando Python

root@kitploit:~
Richiede Python 3.8 o superiore!
root@kitploit:~
$ pip install festin
$ festin -h

Usando Docker

root@kitploit:~
$ docker run --rm -it cr0hn/festin -h

Opzioni complete

root@kitploit:~
$ festin -h
usage: __main__.py [-h] [--version] [-f FILE_DOMAINS] [-w] [-c CONCURRENCY] [--no-links] [-T HTTP_TIMEOUT] [-M HTTP_MAX_RECURSION] [-dr DOMAIN_REGEX] [-rr RESULT_FILE] [-rd DISCOVERED_DOMAINS] [-ra RAW_DISCOVERED_DOMAINS]
                   [--tor] [--debug] [--no-print] [-q] [--index] [--index-server INDEX_SERVER] [-dn] [-ds DNS_RESOLVER]
                   [domains [domains ...]]

Festin - the powered S3 bucket finder and content discover

positional arguments:
  domains

optional arguments:
  -h, --help            show this help message and exit
  --version             show version
  -f FILE_DOMAINS, --file-domains FILE_DOMAINS
                        file with domains
  -w, --watch           watch for new domains in file domains '-f' option
  -c CONCURRENCY, --concurrency CONCURRENCY
                        max concurrency

HTTP Probes:
  --no-links            extract web site links
  -T HTTP_TIMEOUT, --http-timeout HTTP_TIMEOUT
                        set timeout for http connections
  -M HTTP_MAX_RECURSION, --http-max-recursion HTTP_MAX_RECURSION
                        maximum recursison when follow links
  -dr DOMAIN_REGEX, --domain-regex DOMAIN_REGEX
                        only follow domains that matches this regex

Results:
  -rr RESULT_FILE, --result-file RESULT_FILE
                        results file
  -rd DISCOVERED_DOMAINS, --discovered-domains DISCOVERED_DOMAINS
                        file name for storing new discovered after apply filters
  -ra RAW_DISCOVERED_DOMAINS, --raw-discovered-domains RAW_DISCOVERED_DOMAINS
                        file name for storing any domain without filters

Connectivity:
  --tor                 Use Tor as proxy

Display options:
  --debug               enable debug mode
  --no-print            doesn't print results in screen
  -q, --quiet           Use quiet mode

Redis Search:
  --index               Download and index documents into Redis
  --index-server INDEX_SERVER
                        Redis Search ServerDefault: redis://localhost:6379

DNS options:
  -dn, --no-dnsdiscover
                        not follow dns cnames
  -ds DNS_RESOLVER, --dns-resolver DNS_RESOLVER
                        comma separated custom domain name servers

Utilizzo

Configurare i domini di ricerca

Di default FestIn accetta un dominio iniziale come parametro da riga di comando:

root@kitploit:~
> festin mydomain.com

Ma puoi anche impostare un file esterno con una lista di domini:

root@kitploit:~
> cat domains.txt
domain1.com
domain2.com
domain3.com
> festin -f domains.txt 

Concorrenza

FestIn esegue molti test per un dominio. Ogni test viene eseguito in modo concorrente. Di default la concorrenza è impostata a 5. Se vuoi aumentare il numero di test concorrenti, devi impostare l'opzione -c

root@kitploit:~
> festin -c 10 mydomain.com 
root@kitploit:~
Fai attenzione al numero di test concorrenti o potrebbero scattare "allarmi" su alcuni siti web.

Configurazione del crawler HTTP

FestIn incorpora un piccolo crawler per scoprire collegamenti a bucket S3. Il crawler accetta queste opzioni:

  • Timeout (-T o --http-timeout): configura un timeout per le connessioni HTTP. Se il sito web del dominio che vuoi analizzare è lento, ti consigliamo di aumentare questo valore. Di default il timeout è di 5 secondi.
  • Ricorsione massima (-H o --http-max-recursion): questo valore imposta un limite alla ricorsione del crawling. Altrimenti FestIn scansionerebbe tutto Internet. Di default questo valore è 3. Significa che seguirà solo: domain1.com -> [link] -> domain2.com -> [link] -> domain3.com -> [link] -> Ricorsione massima raggiunta. Stop.
  • Limite domini (-dr o --domain-regex): imposta questa opzione per limitare il crawler ai soli domini che corrispondono a questa regex.
  • Black list (-B): configura un file di parole per la black list. Ogni dominio che corrisponde a una parola nella black list verrà saltato.
  • White list (-W): configura un file di parole per la white list. Ogni dominio che NON corrisponde a una parola nella white list verrà saltato.

Esempio:

root@kitploit:~
> echo "cdn" > blacklist.txt
> echo "photos" >> blacklist.txt
> festin -T 20 -M 8 -B blacklist.txt -dr .mydomain. mydomain.com 
root@kitploit:~
ATTENZIONE: -dr (o --domain-regex) accetta solo regex POSIX valide. 

*mydomain.com* -> non è una regex POSIX valida
.mydomain\.com. -> è una regex POSIX valida

Gestire i risultati

Quando FestIn viene eseguito, scopre molte informazioni utili. Non solo sui bucket S3, ma anche per altri controlli che potremmo fare. Ad esempio:

Dopo aver usato FestIn, possiamo usare le informazioni scoperte (domini, link, risorse, altri bucket...) come input per altri strumenti, come nmap.

Per questo motivo FestIn ha 3 diverse modalità per memorizzare le informazioni scoperte e possiamo combinarle:

  • File dei risultati di FestIn (-rr o --result-file): questo file contiene un JSON per riga con i bucket trovati. Ogni JSON include: dominio di origine, nome del bucket e la lista degli oggetti per quel bucket.
  • File dei domini scoperti filtrati (-rd o --discovered-domains): questo file contiene un dominio per riga. Questi domini sono scoperti dal crawler, DNS o dai probe S3, ma vengono salvati solo i domini che corrispondono ai filtri dell'utente e interni.
  • File dei domini scoperti grezzi (-ra o --raw-discovered-domains): questo file contiene tutti i domini, uno per riga, scoperti da FestIn senza alcun filtro. Questa opzione è utile per la post-elaborazione e l'analisi.

Esempio:

root@kitploit:~
> festin -rr festin.results -rd discovered-domains.txt -ra raw-domains.txt mydomain.txt 

E, concatenando con Nmap:

root@kitploit:~
> festin -rd domains.txt && nmap -Pn -A -iL domains.txt -oN nmap-domains.txt 

Utilizzo del proxy

FestIn include l'opzione --tor. Usando questo parametro, è necessario un proxy Tor locale in esecuzione sulla porta 9050 su 127.0.0.1.

root@kitploit:~
> tor &
> festin --tor mydomain.com 

Opzioni DNS

Alcuni test eseguiti da FestIn coinvolgono il DNS. Supporta queste opzioni:

  • Disabilitare la scoperta DNS (-dn o --no-dnsdiscover)
  • Server DNS personalizzato (-ds o --dns-resolver): imposta un server DNS personalizzato. Se prevedi di eseguire molti test, dovresti usare un server DNS diverso da quello che usi per il tuo browser.

Esempio:

root@kitploit:~
> festin -ds 8.8.8.8 mydomain.com 

Supporto per ricerca testuale completa

FestIn non solo può scoprire bucket S3 aperti. Può anche scaricare tutto il contenuto e memorizzarlo in un motore di ricerca testuale completa. Ciò significa che puoi eseguire query di testo completo sul contenuto del bucket!

FestIn utilizza come motore di testo completo il progetto Open Source Redis Search.

Questa funzionalità ha due opzioni:

  • Abilitare l'indicizzazione (--index): per abilitare l'indicizzazione nel motore di ricerca, devi impostare questo flag.
  • Configurazione Redis Search (--index-server): devi impostare questa opzione solo se il tuo server è in esecuzione su un IP/Porta diverso da: localhost:6379.

Esempio:

root@kitploit:~
> docker run --rm -p 6700:6379 redislabs/redisearch:latest -d
> festin --index --index-server redis://127.0.0.1:6700 mydomain.com
root@kitploit:~
Presta attenzione all'opzione `--index-server`: deve avere il prefisso **redis://** 

Esecuzione come servizio (modalità watch)

A volte non vogliamo fermare FestIn e avviarlo ogni volta che abbiamo un nuovo dominio da ispezionare o quando uno strumento esterno scopre nuovi domini che vogliamo controllare.

FestIn supporta la modalità watch. Questo significa che FestIn si avvia e rimane in ascolto per nuovi domini. Il modo per "inviare" nuovi domini a FestIn è tramite il file dei domini. Monitora questo file per rilevare modifiche.

Questa funzionalità è utile per combinare FestIn con altri strumenti, come dnsrecon.

Esempio:

root@kitploit:~
> festin --watch -f domains.txt 

In un terminale diverso possiamo scrivere:

root@kitploit:~
> echo "my-second-domain.com" >> domains.txt 
> echo "another-domain.com" >> domains.txt 

Ogni nuovo dominio aggiunto a domains.txt risveglierà FestIn.

Esempio: Combinare FestIn + DnsRecon

Usando DnsRecon

Il dominio scelto per questo esempio è target.com.

Passo 1 - Eseguire dnsrecon con le opzioni desiderate sul dominio target e salvare l'output

root@kitploit:~
>  dnsrecon -d target.com -t crt -c target.com.csv

Con questo comando andremo a scoprire altri domini correlati a target.com. Questo ci aiuterà a massimizzare le possibilità di successo.

Passo 2 - Preparare il file generato in precedenza per alimentare FestIn

root@kitploit:~
> tail -n +2 target.com.csv | sort -u | cut -d "," -f 2 >> target.com.domains

Con questo comando generiamo un file con un dominio per riga. Questo è l'input di cui FestIn ha bisogno.

Passo 3 - Eseguire FestIn con le opzioni desiderate e salvare l'output

root@kitploit:~
>  festin -f target.com.domains -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 >target.com.stdout 2>target.com.stderr

In questo esempio i file risultanti sono:

  • target.com.result.json - File principale dei risultati con una riga per bucket trovato. Ogni riga è un oggetto JSON.
  • target.com.stdout - L'output standard dell'esecuzione del comando festin
  • target.com.stderr - L'errore standard dell'esecuzione del comando festin

Per facilitare l'elaborazione di più domini, forniamo un semplice script examples/loop.sh che automatizza questo processo.

Usare FestIn con i risultati di DnsRecon

Eseguire contro target.com con opzioni predefinite e salvare i risultati nel file target.com.result:

root@kitploit:~
> festin target.com -rr target.com.result.json 
Eseguire contro target.com usando il proxy tor, con concorrenza 5, usando il DNS 212.166.64.1 per risolvere i CNAME e salvando i risultati nel file target.com.result:
root@kitploit:~
> festin target.com -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 

Domande frequenti

D: AWS blocca il mio IP R:

Quando esegui molti test contro AWS S3, AWS include il tuo IP in una black list. Quindi ogni volta che vuoi accedere a qualsiasi bucket S3 con FestIn o con il tuo browser verrai bloccato.

Ti consigliamo di impostare un proxy quando usi FestIn.

Chi usa FestIn

MrLooquer

Mr Looquer

Analizzano e valutano l'esposizione al rischio della tua azienda in tempo reale. Sito web

Licenza

Questo progetto è distribuito sotto licenza BSD

Scarica lo strumento