Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
festin — FestIn - Scanner de buckets S3 ouverts | Kitploit
Outils/GitHubGitHub/cr0hn/festin
OSINT (Renseignement de Sources Ouvertes)Scanners de VulnérabilitésCollecte d'InformationsSécurité CloudCrawlerAnalyse DNS
GitHubcr0hn/festin

festin

FestIn - Scanner de buckets S3 ouverts

Voir le dépôt
23333il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Logo Festin

FestIN le puissant outil de découverte et de recherche de buckets S3

  • Qu'est-ce que FestIn
  • Pourquoi Festin
  • Installation
    • Avec Python
    • Avec Docker
  • Options complètes
  • Utilisation
    • Configurer les domaines de recherche
    • Concurrence
    • Configuration du crawl HTTP
    • Gérer les résultats
    • Utilisation d'un proxy
    • Options DNS
    • Recherche en texte intégral
    • Exécution en tant que service (ou mode surveillance)
  • Exemple : Mélanger FestIn et DnsRecon
    • Étape 1 - Lancer dnsrecon avec les options souhaitées sur le domaine cible et enregistrer la sortie
    • Étape 2 - Préparer le fichier généré précédemment pour alimenter FestIn
    • Étape 3 - Lancer FestIn avec les options souhaitées et enregistrer la sortie - Lancer contre target.com en utilisant un proxy Tor, avec une concurrence de 5, en utilisant le DNS 212.166.64.1 pour résoudre les CNAME et en laissant le résultat dans le fichier target.com.result :
  • F.A.Q.
  • Qui utilise FestIn
  • MrLooquer
  • Licence

Qu'est-ce que FestIn

FestIn est un outil pour découvrir des buckets S3 ouverts à partir de domaines.

Il effectue de nombreux tests et collecte des informations à partir de :

  • DNS
  • Pages Web (Crawler)
  • Le bucket S3 lui-même (comme les redirections S3)

Pourquoi Festin

Il existe de nombreux outils S3 pour l'énumération et la découverte de buckets S3. Certains sont excellents mais aucun n'a la liste complète des fonctionnalités de Festin.

Les principales fonctionnalités qui rendent Festin génial :

  • Techniques variées pour trouver des buckets : crawl, crawl DNS et analyse des réponses S3.
  • Support du proxy pour tunneliser les requêtes.
  • Les identifiants AWS ne sont pas nécessaires.
  • Fonctionne avec tout fournisseur compatible S3, pas seulement AWS.
  • Permet de configurer des serveurs DNS personnalisés.
  • Crawler HTTP intégré haute performance.
  • Recherche récursive et retour d'information des 3 moteurs : un domaine trouvé par le crawler DNS est envoyé aux analyseurs S3 et HTTP Crawler, et de même pour S3 et le Crawler.
  • Fonctionne en mode 'surveillance', écoutant les nouveaux domaines en temps réel.
  • Sauvegarde tous les domaines découverts dans un fichier séparé pour une analyse ultérieure.
  • Permet de télécharger les objets du bucket et de les placer dans un moteur de recherche en texte intégral (Redis Search) automatiquement, indexant le contenu des objets pour des recherches puissantes ultérieures.
  • Permet de limiter la recherche à un/des domaine(s) spécifique(s).

Installation

Avec Python

root@kitploit:~
Python 3.8 ou supérieur nécessaire !
root@kitploit:~
$ pip install festin
$ festin -h

Avec Docker

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

Options complètes

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 - le puissant outil de découverte et de recherche de buckets S3

positional arguments:
  domains

optional arguments:
  -h, --help            affiche ce message d'aide et quitte
  --version             affiche la version
  -f FILE_DOMAINS, --file-domains FILE_DOMAINS
                        fichier contenant les domaines
  -w, --watch           surveille les nouveaux domaines dans le fichier '-f'
  -c CONCURRENCY, --concurrency CONCURRENCY
                        concurrence maximale

HTTP Probes:
  --no-links            extrait les liens des sites web
  -T HTTP_TIMEOUT, --http-timeout HTTP_TIMEOUT
                        définit le délai d'attente pour les connexions HTTP
  -M HTTP_MAX_RECURSION, --http-max-recursion HTTP_MAX_RECURSION
                        récursion maximale lors du suivi des liens
  -dr DOMAIN_REGEX, --domain-regex DOMAIN_REGEX
                        ne suivre que les domaines correspondant à cette regex

Results:
  -rr RESULT_FILE, --result-file RESULT_FILE
                        fichier de résultats
  -rd DISCOVERED_DOMAINS, --discovered-domains DISCOVERED_DOMAINS
                        nom du fichier pour stocker les nouveaux domaines découverts après application des filtres
  -ra RAW_DISCOVERED_DOMAINS, --raw-discovered-domains RAW_DISCOVERED_DOMAINS
                        nom du fichier pour stocker tous les domaines sans filtre

Connectivity:
  --tor                 Utiliser Tor comme proxy

Display options:
  --debug               active le mode débogage
  --no-print            n'affiche pas les résultats à l'écran
  -q, --quiet           Utilise le mode silencieux

Redis Search:
  --index               Télécharge et indexe les documents dans Redis
  --index-server INDEX_SERVER
                        Serveur Redis Search par défaut : redis://localhost:6379

DNS options:
  -dn, --no-dnsdiscover
                        ne pas suivre les CNAME DNS
  -ds DNS_RESOLVER, --dns-resolver DNS_RESOLVER
                        serveurs de noms de domaine personnalisés séparés par des virgules

Utilisation

Configurer les domaines de recherche

Par défaut, FestIn accepte un domaine de départ comme paramètre de ligne de commande :

root@kitploit:~
> festin mydomain.com

Mais vous pouvez aussi configurer un fichier externe avec une liste de domaines :

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

Concurrence

FestIn effectue de nombreux tests pour un domaine. Chaque test est effectué de manière concurrente. Par défaut, la concurrence est réglée à 5. Si vous souhaitez augmenter le nombre de tests concurrents, vous devez définir l'option -c

root@kitploit:~
> festin -c 10 mydomain.com 
root@kitploit:~
Attention au nombre de tests concurrents, car des "alarmes" pourraient se déclencher sur certains sites web.

Configuration du crawl HTTP

FestIn intègre un petit crawler pour découvrir des liens vers des buckets S3. Le crawler accepte ces options :

  • Délai d'attente (-T ou --http-timeout): configure un délai d'attente pour les connexions HTTP. Si le site web du domaine que vous souhaitez analyser est lent, nous vous recommandons d'augmenter cette valeur. Par défaut, le délai d'attente est de 5 secondes.
  • Récursion maximale (-H ou --http-max-recursion): cette valeur définit une limite à la récursion du crawl. Sinon, FestIn analysera tout Internet. Par défaut, cette valeur est de 3. Cela signifie qu'il ne suivra que : domain1.com -> [lien] -> domain2.com -> [lien] -> domain3.com -> [lien] -> Récursion maximale atteinte. Stop.
  • Limiter les domaines (-dr ou --domain-regex): définissez cette option pour limiter le crawler aux domaines correspondant à cette regex.
  • Liste noire (-B): configure un fichier de mots pour la liste noire. Tout domaine correspondant à un mot de la liste noire sera ignoré.
  • Liste blanche (-W): configure un fichier de mots pour la liste blanche. Tout domaine qui NE correspond PAS à un mot de la liste blanche sera ignoré.

Exemple :

root@kitploit:~
> echo "cdn" > blacklist.txt
> echo "photos" >> blacklist.txt
> festin -T 20 -M 8 -B blacklist.txt -dr .mydomain. mydomain.com 
root@kitploit:~
ATTENTION : -dr (ou --domain-regex) n'accepte que les expressions régulières POSIX valides.

*mydomain.com* -> n'est pas une regex POSIX valide
.mydomain\.com. -> est une regex POSIX valide

Gérer les résultats

Lorsque FestIn s'exécute, il découvre de nombreuses informations utiles. Non seulement sur les buckets S3, mais aussi sur d'autres sondes que nous pourrions effectuer. Par exemple :

Après avoir utilisé FestIn, nous pouvons utiliser les informations découvertes (domaines, liens, ressources, autres buckets...) comme entrée d'autres outils, comme nmap.

Pour cette raison, FestIn dispose de 3 modes différents pour stocker les informations découvertes et nous pouvons les combiner :

  • Fichier de résultats FestIn (-rr ou --result-file): ce fichier contient une ligne JSON par bucket trouvé. Chaque JSON inclut : le domaine d'origine, le nom du bucket et la liste des objets du bucket.
  • Fichier des domaines découverts filtrés (-rd ou --discovered-domains): ce fichier contient un domaine par ligne. Ces domaines sont découverts par le crawler, le DNS ou les sondes S3, mais seuls les domaines correspondant aux filtres utilisateur et internes sont stockés.
  • Fichier des domaines découverts bruts (-ra ou --raw-discovered-domains): ce fichier contient tous les domaines, un par ligne, découverts par FestIn sans aucun filtre. Cette option est utile pour le post-traitement et l'analyse.

Exemple :

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

Et, enchaîné avec Nmap :

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

Utilisation d'un proxy

FestIn intègre l'option --tor. En utilisant ce paramètre, vous devez avoir un proxy Tor local exécuté sur le port 9050 à 127.0.0.1.

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

Options DNS

Certains tests effectués par FestIn impliquent le DNS. Il supporte ces options :

  • Désactiver la découverte DNS (-dn ou --no-dnsdiscover)
  • Serveur DNS personnalisé (-ds ou --dns-resolver): configurer un serveur DNS personnalisé. Si vous prévoyez d'effectuer de nombreux tests, vous devriez utiliser un serveur DNS différent de celui que vous utilisez pour votre navigateur.

Exemple :

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

Recherche en texte intégral

FestIn ne se contente pas de découvrir des buckets S3 ouverts. Il peut également télécharger tout le contenu et le stocker dans un moteur de recherche en texte intégral. Cela signifie que vous pouvez effectuer des requêtes en texte intégral sur le contenu du bucket !

FestIn utilise comme moteur de texte intégral le projet Open Source Redis Search.

Cette fonctionnalité comporte deux options :

  • Activer l'indexation (--index): pour activer l'indexation vers le moteur de recherche, vous devez définir ce drapeau.
  • Configuration Redis Search (--index-server): vous n'avez besoin de configurer cette option que si votre serveur s'exécute sur une adresse IP/port différente de : localhost:6379.

Exemple :

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:~
Attention à l'option `--index-server`, elle doit être préfixée par **redis://**

Exécution en tant que service (ou mode surveillance)

Parfois, nous ne voulons pas arrêter FestIn et le lancer plusieurs fois lorsque nous avons un nouveau domaine à inspecter ou qu'un outil externe a découvert de nouveaux domaines que nous voulons vérifier.

FestIn supporte un mode surveillance. Cela signifie que FestIn va démarrer et écouter les nouveaux domaines. La manière d'« envoyer » de nouveaux domaines à FestIn est par le fichier de domaines. Il surveille ce fichier pour détecter les modifications.

Cette fonctionnalité est utile pour combiner FestIn avec d'autres outils, comme dnsrecon.

Exemple :

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

Dans un terminal différent, nous pouvons écrire :

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

Chaque nouveau domaine ajouté à domains.txt réveillera FestIn.

Exemple : Mélanger FestIn et DnsRecon

Utilisation de DnsRecon

Le domaine choisi pour cet exemple est target.com.

Étape 1 - Lancer dnsrecon avec les options souhaitées sur le domaine cible et enregistrer la sortie

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

Avec cette commande, nous allons découvrir d'autres domaines liés à target.com. Cela nous aidera à maximiser nos chances de succès.

Étape 2 - Préparer le fichier généré précédemment pour alimenter FestIn

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

Avec cette commande, nous générons un fichier avec un domaine par ligne. C'est l'entrée dont FestIn a besoin.

Étape 3 - Lancer FestIn avec les options souhaitées et enregistrer la sortie

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

Dans cet exemple, les fichiers résultants sont :

  • target.com.result.json - Fichier de résultat principal avec une ligne par bucket trouvé. Chaque ligne est un objet JSON.
  • target.com.stdout - La sortie standard de l'exécution de la commande festin
  • target.com.stderr - La sortie d'erreur standard de l'exécution de la commande festin

Afin de faciliter le traitement de plusieurs domaines, nous fournissons un script simple examples/loop.sh qui automatise cela.

Utilisation de FestIn avec les résultats de DnsRecon

Lancer contre target.com avec les options par défaut et laisser le résultat dans le fichier target.com.result :

root@kitploit:~
> festin target.com -rr target.com.result.json 
Lancer contre target.com en utilisant un proxy Tor, avec une concurrence de 5, en utilisant le DNS 212.166.64.1 pour résoudre les CNAME et en laissant le résultat dans le fichier target.com.result :
root@kitploit:~
> festin target.com -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 

F.A.Q.

Q : AWS bannit mon IP R :

Lorsque vous effectuez de nombreux tests contre AWS S3, AWS inclut votre IP dans une liste noire. Ensuite, chaque fois que vous voulez accéder à n'importe quel bucket S3 avec FestIn ou avec votre navigateur, vous serez bloqué.

Nous vous recommandons de configurer un proxy lorsque vous utilisez FestIn.

Qui utilise FestIn

MrLooquer

Mr looquer

Ils analysent et évaluent l'exposition aux risques de votre entreprise en temps réel. Site Web

Licence

Ce projet est distribué sous licence BSD

Télécharger l’outil