Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
festin — FestIn - Scanner de Buckets S3 Abertos | Kitploit
Ferramentas/GitHubGitHub/cr0hn/festin
OSINT (Inteligência de Fontes Abertas)Scanners de VulnerabilidadesColeta de InformaçõesSegurança na NuvemRastreadorAnálise de DNS
GitHubcr0hn/festin

festin

FestIn - Scanner de Buckets S3 Abertos

Ver Repositório
23333há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Festin logo

FestIN - o poderoso localizador de buckets S3 e descoberta de conteúdo

  • O que é FestIn
  • Por que FestIn
  • Instalação
    • Usando Python
    • Usando Docker
  • Opções completas
  • Uso
    • Configurar domínios de busca
    • Concorrência
    • Configuração de Crawling HTTP
    • Gerenciar resultados
    • Uso de proxy
    • Opções de DNS
    • Suporte a Texto Completo
    • Executando como serviço (ou modo de observação)
  • Exemplo: Misturando FestIn + DnsRecon
    • Passo 1 - Execute o dnsrecon com as opções desejadas contra o domínio alvo e salve a saída
    • Passo 2 - Prepare o arquivo gerado anteriormente para alimentar o FestIn
    • Passo 3 - Execute o FestIn com as opções desejadas e salve a saída - Execute contra target.com usando proxy tor, com concorrência de 5, usando DNS 212.166.64.1 para resolver CNAMEs e deixando o resultado no arquivo target.com.result:
  • Perguntas Frequentes (FAQ)
  • Quem usa o FestIn
  • MrLooquer
  • Licença

O que é FestIn

FestIn é uma ferramenta para descobrir buckets S3 abertos a partir de domínios.

Ela realiza muitos testes e coleta informações de:

  • DNS
  • Páginas Web (Crawler)
  • O próprio bucket S3 (como redirecionamentos S3)

Por que FestIn

Existem muitas ferramentas S3 para enumeração e descoberta de buckets S3. Algumas são ótimas, mas nenhuma possui uma lista completa de recursos como o FestIn.

Principais características que tornam o FestIn excelente:

  • Várias técnicas para encontrar buckets: crawling, crawling de DNS e análise de respostas S3.
  • Suporte a proxy para tunelamento de requisições.
  • Credenciais AWS não são necessárias.
  • Funciona com qualquer provedor compatível com S3, não apenas com AWS.
  • Permite configurar servidores DNS personalizados.
  • Crawler HTTP integrado de alto desempenho.
  • Pesquisa recursiva e feedback dos 3 mecanismos: um domínio encontrado pelo crawler de DNS é enviado para o analisador S3 e Http Crawlers, e o mesmo para S3 e Crawler.
  • Funciona em modo de observação ('watching'), escutando novos domínios em tempo real.
  • Salva todos os domínios descobertos em um arquivo separado para análise posterior.
  • Permite baixar objetos do bucket e colocá-los automaticamente em um Mecanismo de Busca de Texto Completo (Redis Search), indexando o conteúdo dos objetos para permitir buscas poderosas adicionais.
  • Limitar a busca para domínio(s) específico(s).

Instalação

Usando Python

root@kitploit:~
Python 3.8 ou superior necessário!
root@kitploit:~
$ pip install festin
$ festin -h

Usando Docker

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

Opções 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 domínios de busca

Por padrão, o FestIn aceita um domínio inicial como parâmetro de linha de comando:

root@kitploit:~
> festin mydomain.com

Mas você também pode configurar um arquivo externo com uma lista de domínios:

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

Concorrência

FestIn realiza muitos testes para um domínio. Cada teste é feito concorrentemente. Por padrão, a concorrência está definida como 5. Se você quiser aumentar o número de testes concorrentes, deve definir a opção -c

root@kitploit:~
> festin -c 10 mydomain.com 
root@kitploit:~
Tome cuidado com o número de testes concorrentes, pois "alarmes" podem ser acionados em alguns sites.

Configuração de Crawling HTTP

FestIn incorpora um pequeno crawler para descobrir links para buckets S3. O crawler aceita estas opções:

  • Timeout (-T ou --http-timeout): configura um timeout para conexões HTTP. Se o site do domínio que você deseja analisar for lento, recomendamos aumentar este valor. Por padrão, o timeout é de 5 segundos.
  • Recursão máxima (-H ou --http-max-recursion): este valor define um limite para a recursão do crawling. Caso contrário, o FestIn irá escanear toda a internet. Por padrão, este valor é 3. Isso significa que só seguirá: domain1.com -> [link] -> domain2.com -> [link] -> domain3.com -> [link] -> Recursão máxima atingida. Pare.
  • Limitar domínios (-dr ou --domain-regex): defina esta opção para limitar o crawler apenas aos domínios que correspondem a esta regex.
  • Lista negra (-B): configure um arquivo de palavras de lista negra. Cada domínio que corresponder a alguma palavra na lista negra será ignorado.
  • Lista branca (-W): configure um arquivo de palavras de lista branca. Cada domínio que NÃO corresponder a alguma palavra na lista branca será ignorado.

Exemplo:

root@kitploit:~
> echo "cdn" > blacklist.txt
> echo "photos" >> blacklist.txt
> festin -T 20 -M 8 -B blacklist.txt -dr .mydomain. mydomain.com 
root@kitploit:~
CUIDADO: -dr (ou --domain-regex) só aceita expressões regulares POSIX válidas. 

*mydomain.com* -> não é uma regex POSIX válida
.mydomain\.com. -> é uma regex POSIX válida

Gerenciar resultados

Quando o FestIn é executado, ele descobre muitas informações úteis. Não apenas sobre buckets S3, mas também sobre outras sondagens que podemos fazer. Por exemplo:

Depois de usar o FestIn, podemos usar as informações descobertas (domínios, links, recursos, outros buckets...) como entrada para outras ferramentas, como nmap.

Por essa razão, o FestIn possui 3 modos diferentes para armazenar informações descobertas e podemos combiná-los:

  • Arquivo de resultado do FestIn (-rr ou --result-file): este arquivo contém um JSON por linha com os buckets encontrados. Cada JSON inclui: domínio de origem, nome do bucket e a lista de objetos do bucket.
  • Arquivo de domínios descobertos filtrados (-rd ou --discovered-domains): este arquivo contém um domínio por linha. Esses domínios são descobertos pelo crawler, DNS ou sondagens S3, mas apenas são armazenados os domínios que correspondem aos filtros do usuário e internos.
  • Arquivo de domínios descobertos brutos (-ra ou --raw-discovered-domains): este arquivo contém todos os domínios, um por linha, descobertos pelo FestIn sem qualquer filtro. Esta opção é útil para pós-processamento e análise.

Exemplo:

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

E, encadeando com Nmap:

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

Uso de proxy

FestIn incorpora a opção --tor. Ao usar este parâmetro, você precisa de um proxy Tor local rodando na porta 9050 em 127.0.0.1.

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

Opções de DNS

Alguns testes feitos pelo FestIn envolvem DNS. Ele suporta estas opções:

  • Desabilitar descoberta de DNS (-dn ou --no-dnsdiscover)
  • Servidor DNS personalizado (-ds ou --dns-resolver): configure um servidor DNS personalizado. Se você planeja realizar muitos testes, deve usar um servidor DNS diferente daquele que usa no seu navegador.

Exemplo:

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

Suporte a Texto Completo

FestIn não apenas pode descobrir buckets S3 abertos. Ele também pode baixar todo o conteúdo e armazená-lo em um Mecanismo de Busca de Texto Completo. Isso significa que você pode realizar consultas de texto completo ao conteúdo do bucket!

FestIn usa como Mecanismo de Texto Completo o projeto Open Source Redis Search.

Este recurso tem duas opções:

  • Habilitar indexação (--index): para habilitar a indexação no mecanismo de busca, você deve definir esta flag.
  • Configuração do Redis Search (--index-server): você só precisa configurar esta opção se o seu servidor estiver rodando em um IP/Porta diferente de: localhost:6379.

Exemplo:

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:~
Preste atenção: a opção `--index-server` deve ter o prefixo **redis://** 

Executando como serviço (ou modo de observação)

Às vezes não queremos parar o FestIn e executá-lo várias vezes quando temos um novo domínio para inspecionar ou quando alguma ferramenta externa descobre novos domínios que queremos verificar.

FestIn suporta o modo watching (observação). Isso significa que o FestIn iniciará e escutará por novos domínios. A forma de "enviar" novos domínios para o FestIn é através do arquivo de domínios. Ele monitora este arquivo em busca de alterações.

Este recurso é útil para combinar o FestIn com outras ferramentas, como dnsrecon

Exemplo:

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

Em um terminal diferente, podemos escrever:

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

Cada novo domínio adicionado ao domains.txt irá ativar o FestIn.

Exemplo: Misturando FestIn + DnsRecon

Usando DnsRecon

O domínio escolhido para este exemplo é target.com.

Passo 1 - Execute o dnsrecon com as opções desejadas contra o domínio alvo e salve a saída

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

Com este comando, vamos descobrir outros domínios relacionados ao target.com. Isso ajudará a maximizar nossas chances de sucesso.

Passo 2 - Prepare o arquivo gerado anteriormente para alimentar o FestIn

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

Com este comando, geramos um arquivo com um domínio por linha. Esta é a entrada que o FestIn precisa.

Passo 3 - Execute o FestIn com as opções desejadas e salve a saída

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

Neste exemplo, os arquivos resultantes são:

  • target.com.result.json - Arquivo de resultado principal com uma linha por bucket encontrado. Cada linha é um objeto JSON.
  • target.com.stdout - A saída padrão da execução do comando festin
  • target.com.stderr - O erro padrão da execução do comando festin

Para facilitar o processamento de múltiplos domínios, fornecemos um script simples examples/loop.sh que automatiza isso.

Usando FestIn com resultados do DnsRecon

Execute contra target.com com as opções padrão e deixe o resultado no arquivo target.com.result:

root@kitploit:~
> festin target.com -rr target.com.result.json 
Execute contra target.com usando proxy tor, com concorrência de 5, usando DNS 212.166.64.1 para resolver CNAMEs e deixando o resultado no arquivo target.com.result:
root@kitploit:~
> festin target.com -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 

Perguntas Frequentes (FAQ)

P: AWS baniu meu IP R:

Quando você realiza muitos testes contra o AWS S3, a AWS inclui seu IP em uma lista negra. Então, toda vez que você tentar acessar qualquer bucket S3 com o FestIn ou com seu navegador, será bloqueado.

Recomendamos configurar um proxy ao usar o FestIn.

Quem usa o FestIn

MrLooquer

Mr looquer

Eles analisam e avaliam a exposição ao risco da sua empresa em tempo real. Website

Licença

Este projeto é distribuído sob a licença BSD

Baixar ferramenta