Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/cr0hn/festin
OSINT (Inteligencia de Fuentes Abiertas)Escáneres de VulnerabilidadesRecopilación de InformaciónSeguridad en la NubeCrawlerAnálisis de DNS
GitHubcr0hn/festin

festin

FestIn - Escáner de Buckets S3 Abiertos

Ver Repositorio
23333hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
festin — FestIn - Escáner de Buckets S3 Abiertos | Kitploit

Logo de Festin

FestIN el potente buscador de buckets S3 y descubridor de contenido

  • ¿Qué es FestIn?
  • ¿Por qué Festin?
  • Instalación
    • Usando Python
    • Usando Docker
  • Opciones completas
  • Uso
    • Configurar dominios de búsqueda
    • Concurrencia
    • Configuración del rastreo HTTP
    • Gestión de resultados
    • Uso de proxy
    • Opciones de DNS
    • Soporte de texto completo
    • Ejecutar como servicio (modo vigilancia)
  • Ejemplo: Combinando FestIn + DnsRecon
    • Paso 1 - Ejecutar dnsrecon con las opciones deseadas contra el dominio objetivo y guardar la salida
    • Paso 2 - Preparar el archivo generado anteriormente para alimentar a FestIn
    • Paso 3 - Ejecutar FestIn con las opciones deseadas y guardar la salida - Ejecutar contra target.com usando proxy tor, con concurrencia de 5, usando DNS 212.166.64.1 para resolver CNAMEs y dejando el resultado en el archivo target.com.result:
  • Preguntas frecuentes
  • Quiénes usan FestIn
  • MrLooquer
  • Licencia

¿Qué es FestIn?

FestIn es una herramienta para descubrir buckets S3 abiertos a partir de dominios.

Realiza muchas pruebas y recopila información de:

  • DNS
  • Páginas web (rastreador)
  • El propio bucket S3 (como redirecciones S3)

¿Por qué Festin?

Hay muchas herramientas S3 para enumeración y descubrimiento de buckets S3. Algunas son geniales, pero ninguna tiene una lista completa de características como las que tiene Festin.

Principales características que hacen grande a Festin:

  • Varias técnicas para encontrar buckets: rastreo, rastreo DNS y análisis de respuestas S3.
  • Soporte de proxy para tunelizar peticiones.
  • No se necesitan credenciales de AWS.
  • Funciona con cualquier proveedor compatible con S3, no solo con AWS.
  • Permite configurar servidores DNS personalizados.
  • Rastreador HTTP integrado de alto rendimiento.
  • Búsqueda recursiva y retroalimentación de los 3 motores: un dominio encontrado por el rastreador DNS se envía al analizador S3 y al rastreador HTTP, y lo mismo para S3 y el rastreador.
  • Funciona en modo 'vigilancia', escuchando nuevos dominios en tiempo real.
  • Guarda todos los dominios descubiertos en un archivo separado para análisis posteriores.
  • Permite descargar objetos del bucket y colocarlos automáticamente en un Motor de búsqueda de texto completo (Redis Search), indexando el contenido de los objetos para permitir búsquedas potentes adicionales.
  • Limitar la búsqueda a dominio(s) específico(s).

Instalación

Usando Python

root@kitploit:~
¡Se necesita Python 3.8 o superior!
root@kitploit:~
$ pip install festin
$ festin -h

Usando Docker

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

Opciones completas

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

Uso

Configurar dominios de búsqueda

Por defecto FestIn acepta un dominio inicial como parámetro de línea de comandos:

root@kitploit:~
> festin mydomain.com

Pero también puedes configurar un archivo externo con una lista de dominios:

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

Concurrencia

FestIn realiza muchas pruebas para un dominio. Cada prueba se realiza de forma concurrente. Por defecto, la concurrencia está establecida en 5. Si deseas aumentar el número de pruebas concurrentes, debes configurar la opción -c

root@kitploit:~
> festin -c 10 mydomain.com 
root@kitploit:~
Ten cuidado con el número de pruebas concurrentes, ya que podrían generarse "alarmas" en algunos sitios web.

Configuración del rastreo HTTP

FestIn incorpora un pequeño rastreador para descubrir enlaces a buckets S3. El rastreador acepta estas opciones:

  • Timeout (-T o --http-timeout): configura un tiempo de espera para las conexiones HTTP. Si el sitio web del dominio que deseas analizar es lento, recomendamos aumentar este valor. Por defecto, el timeout es de 5 segundos.
  • Recursión máxima (-H o --http-max-recursion): este valor establece un límite para la recursión del rastreo. De lo contrario, FestIn escanearía todo internet. Por defecto, este valor es 3. Significa que solo seguirá: domain1.com -> [enlace] -> domain2.com -> [enlace] -> domain3.com -> [enlace] -> Recursión máxima alcanzada. Detenerse.
  • Limitar dominios (-dr o --domain-regex): configura esta opción para limitar el rastreador solo a aquellos dominios que coincidan con esta expresión regular.
  • Lista negra (-B): configura un archivo de palabras de lista negra. Cada dominio que coincida con alguna palabra de la lista negra será omitido.
  • Lista blanca (-W): configura un archivo de palabras de lista blanca. Cada dominio que NO coincida con alguna palabra de la lista blanca será omitido.

Ejemplo:

root@kitploit:~
> echo "cdn" > blacklist.txt
> echo "photos" >> blacklist.txt
> festin -T 20 -M 8 -B blacklist.txt -dr .mydomain. mydomain.com 
root@kitploit:~
TEN CUIDADO: -dr (o --domain-regex) solo acepta expresiones regulares POSIX válidas.

*mydomain.com* -> no es una expresión regular POSIX válida
.mydomain\.com. -> es una expresión regular POSIX válida

Gestión de resultados

Cuando FestIn se ejecuta, descubre mucha información útil. No solo sobre buckets S3, sino también sobre otras pruebas que podríamos realizar. Por ejemplo:

Después de usar FestIn, podemos usar la información descubierta (dominios, enlaces, recursos, otros buckets...) como entrada de otras herramientas, como nmap.

Por esta razón, FestIn tiene 3 modos diferentes para almacenar la información descubierta y podemos combinarlos:

  • Archivo de resultados de FestIn (-rr o --result-file): este archivo contiene un JSON por línea con los buckets encontrados. Cada JSON incluye: dominio de origen, nombre del bucket y la lista de objetos del bucket.
  • Archivo de dominios descubiertos filtrados (-rd o --discovered-domains): este archivo contiene un dominio por línea. Estos dominios son descubiertos por el rastreador, DNS o sondas S3, pero solo se almacenan aquellos que coinciden con los filtros del usuario e internos.
  • Archivo de dominios descubiertos en bruto (-ra o --raw-discovered-domains): este archivo contiene todos los dominios, uno por línea, descubiertos por FestIn sin ningún filtro. Esta opción es útil para postprocesamiento y análisis.

Ejemplo:

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

Y, encadenando con Nmap:

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

Uso de proxy

FestIn incluye la opción --tor. Al usar este parámetro, necesitas un proxy Tor local ejecutándose en el puerto 9050 en 127.0.0.1.

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

Opciones de DNS

Algunas pruebas realizadas por FestIn involucran DNS. Soporta estas opciones:

  • Deshabilitar descubrimiento DNS (-dn o --no-dnsdiscover)
  • Servidor DNS personalizado (-ds o --dns-resolver): configura un servidor DNS personalizado. Si planeas realizar muchas pruebas, deberías usar un servidor DNS diferente al que usas para tu navegador.

Ejemplo:

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

Soporte de texto completo

FestIn no solo puede descubrir buckets S3 abiertos. También puede descargar todo el contenido y almacenarlo en un Motor de Búsqueda de Texto Completo. ¡Esto significa que puedes realizar consultas de texto completo sobre el contenido del bucket!

FestIn utiliza como motor de texto completo el proyecto de código abierto Redis Search.

Esta característica tiene dos opciones:

  • Habilitar indexación (--index): para habilitar la indexación en el motor de búsqueda, debes configurar esta bandera.
  • Configuración de Redis Search (--index-server): solo necesitas configurar esta opción si tu servidor se ejecuta en una IP/Puerto diferente a: localhost:6379.

Ejemplo:

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 atención a que la opción `--index-server` debe tener el prefijo **redis://** 

Ejecutar como servicio (modo vigilancia)

A veces no queremos detener FestIn y lanzarlo varias veces cuando tenemos un nuevo dominio para inspeccionar o cuando alguna herramienta externa descubre nuevos dominios que queremos verificar.

FestIn admite el modo vigilancia. Esto significa que FestIn se iniciará y escuchará nuevos dominios. La forma de "enviar" nuevos dominios a FestIn es a través del archivo de dominios. Monitorea este archivo en busca de cambios.

Esta característica es útil para combinar FestIn con otras herramientas, como dnsrecon

Ejemplo:

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

En una terminal diferente podemos escribir:

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

Cada nuevo dominio añadido a domains.txt despertará a FestIn.

Ejemplo: Combinando FestIn + DnsRecon

Usando DnsRecon

El dominio elegido para este ejemplo es target.com.

Paso 1 - Ejecutar dnsrecon con las opciones deseadas contra el dominio objetivo y guardar la salida

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

Con este comando vamos a descubrir otros dominios relacionados con target.com. Esto ayudará a maximizar nuestras posibilidades de éxito.

Paso 2 - Preparar el archivo generado anteriormente para alimentar a FestIn

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

Con este comando generamos un archivo con un dominio por línea. Esta es la entrada que necesita FestIn.

Paso 3 - Ejecutar FestIn con las opciones deseadas y guardar la salida

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

En este ejemplo, los archivos resultantes son:

  • target.com.result.json - Archivo de resultados principal con una línea por bucket encontrado. Cada línea es un objeto JSON.
  • target.com.stdout - La salida estándar de la ejecución del comando festin
  • target.com.stderr - El error estándar de la ejecución del comando festin

Para facilitar el procesamiento de múltiples dominios, proporcionamos un script simple examples/loop.sh que automatiza esto.

Usando FestIn con resultados de DnsRecon

Ejecutar contra target.com con opciones predeterminadas y dejando el resultado en el archivo target.com.result:

root@kitploit:~
> festin target.com -rr target.com.result.json 
Ejecutar contra target.com usando proxy tor, con concurrencia de 5, usando DNS 212.166.64.1 para resolver CNAMEs y dejando el resultado en el archivo target.com.result:
root@kitploit:~
> festin target.com -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 

Preguntas frecuentes

P: AWS banea mi IP

R:

Cuando realizas muchas pruebas contra AWS S3, AWS incluye tu IP en una lista negra. Entonces, cada vez que quieras acceder a cualquier bucket S3 con FestIn o con tu navegador, serás bloqueado.

Recomendamos configurar un proxy cuando uses FestIn.

Quiénes usan FestIn

MrLooquer

Mr looquer

Analizan y evalúan la exposición al riesgo de tu empresa en tiempo real. Sitio web

Licencia

Este proyecto se distribuye bajo licencia BSD

Descargar herramienta