Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/cr0hn/festin
OSINT (Open-Source-Intelligence)SchwachstellenscannerInformationsbeschaffungCloud-SicherheitCrawlerDNS-Analyse
GitHubcr0hn/festin

festin

FestIn - Offener S3-Bucket-Scanner

Repository anzeigen
23333vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
festin — FestIn - Offener S3-Bucket-Scanner | Kitploit

Festin-Logo

FestIN – der leistungsstarke S3-Bucket-Finder und Content-Discover

  • Was ist FestIn
  • Warum Festin
  • Installation
    • Mit Python
    • Mit Docker
  • Alle Optionen
  • Verwendung
    • Suchdomänen konfigurieren
    • Parallelität
    • HTTP-Crawling-Konfiguration
    • Ergebnisse verwalten
    • Proxy-Nutzung
    • DNS-Optionen
    • Volltextunterstützung
    • Als Dienst ausführen (Überwachungsmodus)
  • Beispiel: Kombination von FestIn + DnsRecon
    • Schritt 1 – dnsrecon mit gewünschten Optionen gegen die Zieldomäne ausführen und Ausgabe speichern
    • Schritt 2 – Vorbereiten der zuvor generierten Datei zur Eingabe in FestIn
    • Schritt 3 – FestIn mit gewünschten Optionen ausführen und Ausgabe speichern - Ausführen gegen target.com mit Tor-Proxy, Parallelität 5, DNS 212.166.64.1 zur Auflösung von CNAMEs und Ergebnis in target.com.result-Datei speichern:
  • F.A.Q.
  • Wer nutzt FestIn
  • MrLooquer
  • Lizenz

Was ist FestIn

FestIn ist ein Werkzeug zur Entdeckung offener S3-Buckets, ausgehend von Domänen.

Es führt zahlreiche Tests durch und sammelt Informationen von:

  • DNS
  • Webseiten (Crawler)
  • S3-Bucket selbst (wie S3-Weiterleitungen)

Warum Festin

Es gibt viele S3-Tools zur Aufzählung und Entdeckung von S3-Buckets. Einige davon sind großartig, aber keines hat eine vollständige Liste der Funktionen, die Festin bietet.

Hauptfunktionen, die Festin großartig machen:

  • Verschiedene Techniken zum Auffinden von Buckets: Crawling, DNS-Crawling und Analyse von S3-Antworten.
  • Proxy-Unterstützung für Tunnelanfragen.
  • AWS Anmeldedaten werden nicht benötigt.
  • Funktioniert mit jedem S3-kompatiblen Anbieter, nicht nur mit AWS.
  • Ermöglicht die Konfiguration benutzerdefinierter DNS-Server.
  • Integrierter leistungsstarker HTTP-Crawler.
  • Rekursive Suche und Rückmeldung von den 3 Engines: Eine vom DNS-Crawler gefundene Domäne wird an den S3- und HTTP-Crawler-Analysator gesendet, und dasselbe für S3 und Crawler.
  • Funktioniert im 'Watching'-Modus, der in Echtzeit auf neue Domänen lauscht.
  • Speichert alle entdeckten Domänen in einer separaten Datei für weitere Analysen.
  • Ermöglicht das Herunterladen von Bucket-Objekten und deren automatische Einfügung in eine Volltext-Suchmaschine (Redis Search), wobei der Inhalt der Objekte indiziert wird, um leistungsstarke Suchvorgänge zu ermöglichen.
  • Beschränkung der Suche auf bestimmte Domäne(n).

Installation

Mit Python

Python 3.8 oder höher erforderlich!

root@kitploit:~
$ pip install festin
$ festin -h

Mit Docker

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

Alle Optionen

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 - der leistungsstarke S3-Bucket-Finder und 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

Verwendung

Suchdomänen konfigurieren

Standardmäßig akzeptiert FestIn eine Startdomäne als Kommandozeilenparameter:

root@kitploit:~
> festin mydomain.com

Sie können aber auch eine externe Datei mit einer Liste von Domänen einrichten:

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

Parallelität

FestIn führt für eine Domäne viele Tests durch. Jeder Test wird parallel ausgeführt. Die Standardparallelität beträgt 5. Wenn Sie die Anzahl der parallelen Tests erhöhen möchten, setzen Sie die Option -c

root@kitploit:~
> festin -c 10 mydomain.com 
root@kitploit:~
Seien Sie vorsichtig mit der Anzahl der Parallelitätstests, da sonst in einigen Websites „Alarme“ ausgelöst werden könnten.

HTTP-Crawling-Konfiguration

FestIn enthält einen kleinen Crawler, um Links zu S3-Buckets zu entdecken. Der Crawler akzeptiert diese Optionen:

  • Timeout (-T oder --http-timeout): Konfiguriert ein Timeout für HTTP-Verbindungen. Wenn die Website der zu analysierenden Domäne langsam ist, empfehlen wir, diesen Wert zu erhöhen. Standardmäßig beträgt das Timeout 5 Sekunden.
  • Maximale Rekursion (-H oder --http-max-recursion): Dieser Wert legt ein Limit für die Crawling-Rekursion fest. Andernfalls würde FestIn das gesamte Internet durchsuchen. Der Standardwert ist 3. Das bedeutet, dass nur gefolgt wird: domain1.com -> [Link] -> domain2.com -> [Link] -> domain3.com -> [Link] -> Maximale Rekursion erreicht. Stopp.
  • Domänen-Limit (-dr oder --domain-regex): Mit dieser Option können Sie den Crawler auf Domänen beschränken, die diesem regulären Ausdruck entsprechen.
  • Schwarze Liste (-B): Konfigurieren Sie eine Datei mit Wörtern für die schwarze Liste. Jede Domäne, die mit einem Wort in der schwarzen Liste übereinstimmt, wird übersprungen.
  • Weiße Liste (-W): Konfigurieren Sie eine Datei mit Wörtern für die weiße Liste. Jede Domäne, die NICHT mit einem Wort in der weißen Liste übereinstimmt, wird übersprungen.

Beispiel:

root@kitploit:~
> echo "cdn" > blacklist.txt
> echo "photos" >> blacklist.txt
> festin -T 20 -M 8 -B blacklist.txt -dr .mydomain. mydomain.com 
root@kitploit:~
SEIEN SIE VORSICHTIG: -dr (oder --domain-regex) akzeptiert nur gültige POSIX-Reguläre Ausdrücke.

*mydomain.com* -> ist kein gültiger POSIX-Regulärer Ausdruck
.mydomain\.com. -> ist ein gültiger POSIX-Regulärer Ausdruck

Ergebnisse verwalten

Wenn FestIn läuft, entdeckt es viele nützliche Informationen. Nicht nur über S3-Buckets, sondern auch über andere Prüfungen, die wir durchführen könnten. Zum Beispiel:

Nachdem wir FestIn verwendet haben, können wir die entdeckten Informationen (Domänen, Links, Ressourcen, andere Buckets …) als Eingabe für andere Tools wie nmap verwenden.

Aus diesem Grund hat FestIn 3 verschiedene Modi zum Speichern entdeckter Informationen, die wir kombinieren können:

  • FestIn-Ergebnisdatei (-rr oder --result-file): Diese Datei enthält ein JSON pro Zeile mit den gefundenen Buckets. Jedes JSON enthält: Ursprungsdomäne, Bucket-Name und die Liste der Objekte des Buckets.
  • Gefilterte Datei entdeckter Domänen (-rd oder --discovered-domains): Diese Datei enthält eine Domäne pro Zeile. Diese Domänen werden vom Crawler, DNS oder S3-Prüfungen entdeckt, aber nur die Domänen werden gespeichert, die den Benutzer- und internen Filtern entsprechen.
  • Rohdatei entdeckter Domänen (-ra oder --raw-discovered-domains): Diese Datei enthält alle Domänen, eine pro Zeile, die von FestIn ohne Filter entdeckt wurden. Diese Option ist nützlich für die Nachbearbeitung und Analyse.

Beispiel:

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

Und in Kombination mit Nmap:

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

Proxy-Nutzung

FestIn enthält die Option --tor. Wenn Sie diesen Parameter verwenden, benötigen Sie einen lokalen Tor-Proxy, der auf Port 9050 unter 127.0.0.1 läuft.

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

DNS-Optionen

Einige von FestIn durchgeführte Tests betreffen DNS. Es unterstützt diese Optionen:

  • DNS-Entdeckung deaktivieren (-dn oder --no-dnsdiscover)
  • Benutzerdefinierte DNS-Server (-ds oder --dns-resolver): Richten Sie benutzerdefinierte DNS-Server ein. Wenn Sie viele Tests durchführen möchten, sollten Sie einen anderen DNS-Server als den für Ihren Browser verwenden.

Beispiel:

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

Volltextunterstützung

FestIn kann nicht nur offene S3-Buckets entdecken. Es kann auch sämtliche Inhalte herunterladen und in einer Volltext-Suchmaschine speichern. Das bedeutet, dass Sie Volltextabfragen auf den Inhalt des Buckets durchführen können!

FestIn verwendet als Volltext-Engine das Open-Source-Projekt Redis Search.

Diese Funktion bietet zwei Optionen:

  • Indizierung aktivieren (--index): Um die Indizierung in der Suchmaschine zu aktivieren, müssen Sie dieses Flag setzen.
  • Redis Search-Konfiguration (--index-server): Sie müssen diese Option nur einrichten, wenn Ihr Server unter einer anderen IP/Port als localhost:6379 läuft.

Beispiel:

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:~
Achten Sie auf die Option `--index-server` – sie muss das Präfix **redis://** enthalten.

Als Dienst ausführen (Überwachungsmodus)

Manchmal möchten wir FestIn nicht beenden und starten, wenn wir eine neue Domäne untersuchen müssen oder ein externes Tool neue Domänen entdeckt hat, die wir überprüfen möchten.

FestIn unterstützt den Watching-Modus. Das bedeutet, dass FestIn startet und auf neue Domänen lauscht. Die Möglichkeit, „neue“ Domänen an FestIn zu senden, erfolgt über die Domänendatei. Es überwacht diese Datei auf Änderungen.

Diese Funktion ist nützlich, um FestIn mit anderen Tools wie dnsrecon zu kombinieren.

Beispiel:

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

In einem anderen Terminal können Sie schreiben:

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

Jede neue Domäne, die zu domains.txt hinzugefügt wird, weckt FestIn.

Beispiel: Kombination von FestIn + DnsRecon

Verwendung von DnsRecon

Die für dieses Beispiel ausgewählte Domäne ist target.com.

Schritt 1 – dnsrecon mit gewünschten Optionen gegen die Zieldomäne ausführen und Ausgabe speichern

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

Mit diesem Befehl werden wir andere Domänen finden, die mit target.com verwandt sind. Dies hilft, unsere Erfolgschancen zu maximieren.

Schritt 2 – Vorbereiten der zuvor generierten Datei zur Eingabe in FestIn

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

Mit diesem Befehl wird eine Datei mit einer Domäne pro Zeile erstellt. Dies ist die Eingabe, die FestIn benötigt.

Schritt 3 – FestIn mit gewünschten Optionen ausführen und Ausgabe speichern

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 diesem Beispiel sind die resultierenden Dateien:

  • target.com.result.json – Haupt-Ergebnisdatei mit einer Zeile pro gefundenem Bucket. Jede Zeile ist ein JSON-Objekt.
  • target.com.stdout – Die Standardausgabe der Ausführung des Festin-Befehls
  • target.com.stderr – Die Standardfehlerausgabe der Ausführung des Festin-Befehls

Um die Verarbeitung mehrerer Domänen zu erleichtern, stellen wir ein einfaches Skript examples/loop.sh bereit, das diesen Prozess automatisiert.

Verwendung von FestIn mit DnsRecon-Ergebnissen

Ausführen gegen target.com mit Standardoptionen und Ergebnis in target.com.result-Datei speichern:

root@kitploit:~
> festin target.com -rr target.com.result.json 
Ausführen gegen target.com mit Tor-Proxy, Parallelität 5, DNS 212.166.64.1 zur Auflösung von CNAMEs und Ergebnis in target.com.result-Datei speichern:
root@kitploit:~
> festin target.com -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 

F.A.Q.

F: AWS sperrt meine IP A:

Wenn Sie viele Tests gegen AWS S3 durchführen, wird Ihre IP in eine schwarze Liste aufgenommen. Danach wird jeder Zugriff auf jeden S3-Bucket mit FestIn oder mit Ihrem Browser blockiert.

Wir empfehlen, einen Proxy zu verwenden, wenn Sie FestIn nutzen.

Wer nutzt FestIn

MrLooquer

Mr looquer

Sie analysieren und bewerten die Risikoexposition Ihres Unternehmens in Echtzeit. Website

Lizenz

Dieses Projekt wird unter der BSD-Lizenz vertrieben.

Tool herunterladen