Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
s3dns — Passiver DNS-Server, der exponierte Cloud-Speicher-Buckets (AWS S3, GCP, Azure) erkennt, indem er DNS-Anfragen auflöst, CNAME-Ketten verfolgt und während der Erkundung potenzielle Subdomain-Übernahmen markiert. | Kitploit
Tools/GitHubGitHub/olizimmermann/s3dns
OSINT (Open-Source-Intelligence)AufklärungSchwachstellenanalyseInformationsbeschaffungPenetrationstestsCloud-SicherheitSubdomain-EnumerationDNS-Analyse
GitHubolizimmermann/s3dns

s3dns

Passiver DNS-Server, der exponierte Cloud-Speicher-Buckets (AWS S3, GCP, Azure) erkennt, indem er DNS-Anfragen auflöst, CNAME-Ketten verfolgt und während der Erkundung potenzielle Subdomain-Übernahmen markiert.

1291333vor 1 TagVon 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
Repository anzeigen
Webseite

S3DNS

s3dns ist ein schlanker DNS-Server, der hilft, Cloud-Speicher-Buckets (AWS S3, Google Cloud Storage und Azure Blob) aufzuspüren, indem er DNS-Anfragen auflöst, CNAMEs verfolgt und bekannte Bucket-URL-Muster abgleicht.

Es ist ein nützlicher Begleiter für Pentester, Bug-Bounty-Jäger und Cloud-Sicherheitsanalysten, die bei der DNS-Datenverkehrsanalyse offengelegte Cloud-Buckets aufspüren möchten.

Wenn S3DNS dir Zeit in einer Recon-Session spart, ziehe in Betracht, ihm einen ⭐️ zu geben – das hilft anderen, das Projekt zu finden.



🆕 Update 2026/03/06

  • TCP/53-Unterstützung — S3DNS lauscht jetzt sowohl auf UDP als auch auf TCP-Port 53. Clients, die nach einer abgeschnittenen UDP-Antwort über TCP wiederholen, werden korrekt behandelt, wobei die Anfrage über TCP an den Upstream weitergeleitet wird, um die vollständige Antwort abzurufen.
  • Größerer DNS-Puffer — Der UDP-Empfangspuffer wurde von 512 auf 4096 Bytes erhöht. EDNS0-Optionen des Clients werden unverändert an den Upstream-Resolver weitergegeben.
  • Antwort-Cache — TTL-basierter LRU-Cache für DNS-Antworten, der sowohl von UDP- als auch von TCP-Pfaden gemeinsam genutzt wird. Reduziert Upstream-Last und Latenz während aktiver Recon-Sessions. Konfigurierbar über CACHE_SIZE (Standard: 1000 Einträge, auf 0 setzen zum Deaktivieren).
  • Ratenbegrenzung — Pro-Client-IP-Anforderungsratenbegrenzung, um Missbrauch zu verhindern. Konfigurierbar über RATE_LIMIT (Standard: 100 Anfragen/s, auf 0 setzen zum Deaktivieren).
  • Erkennung von Subdomain-Übernahmen — Wenn eine Domain zu einem Cloud-Speicher-Muster passt, aber NXDOMAIN zurückgibt, markiert S3DNS dies als mögliche Domain-Übernahme. Dies deutet auf einen hängenden DNS-Eintrag hin, der auf ein nicht beanspruchtes Bucket verweist, das ein Angreifer registrieren könnte.
  • IPv6-IP-Bereichsprüfungen — AAAA-Einträge werden jetzt ebenfalls aufgelöst und gegen bekannte IP-Bereiche von Cloud-Speichern geprüft. AWS IPv6 S3-Präfixe werden zusammen mit IPv4-Bereichen geladen.
  • CNAME-Tiefenbegrenzung — Die rekursive Verfolgung von CNAME-Ketten ist jetzt begrenzt (Standard: 10 Hops), um Endlosschleifen bei konstruierten oder zyklischen Einträgen zu verhindern. Konfigurierbar über den Parameter max_cname_depth.

Update 2025/08/19

  • Offline-AWS-IP-Bereiche als JSON-Datei hinzugefügt.
  • Offline-Azure-Storage-IP-Bereiche als JSON-Datei hinzugefügt.
  • Option hinzugefügt, die IP-Bereichsprüfung für einen der Dienste zu deaktivieren über:
    • AZURE_IP_RANGES=false oder AWS_IP_RANGES=false (Standard ist true).
  • regex_patterns und hartcodierte Muster in den Ordner patterns als YAML-Dateien verschoben. Du kannst eigene Muster hinzufügen.
    • Regex-Muster müssen mit regex_ beginnen.
  • Mehrere weitere Cloud-Anbieter hinzugefügt:
    • IBM Cloud Object Storage
    • Oracle Object Storage
    • Alibaba OSS
    • Backblaze B2
    • Linode Object Storage
    • Scaleway Object Storage
    • Vultr Object Storage
    • Cloudflare R2

Update 2025/06/21

  • AWS GovCloud-Unterstützung hinzugefügt.

Update 2025/04/16

  • Regex-Muster aktualisiert.
  • Ausgabe für bessere Sichtbarkeit aktualisiert (Anzeige der ursprünglichen Domain für CNAMEs, der Client-IP und IP-Bereichsindikatoren).
  • Automatisches Herunterladen von IP-Bereichen von AWS — jetzt werden auch diese überprüft!
  • Option zum Hinzufügen eigener IP-Bereiche (manuelle Anpassung der Muster oder IP-Bereiche in der Klasse).

Update 2025/04/14

  • Regex-Unterstützung für Google Cloud Storage- und Azure Blob Storage-Buckets hinzugefügt.

🚀 Funktionen

  • Läuft als DNS-Server auf Port 53 (UDP und TCP)
  • Erkennt potenzielle Cloud-Speicher-Buckets in DNS-Anfragen:
    • AWS S3 (virtuell gehosteter und Pfad-Stil, inklusive GovCloud)
    • GCP-Buckets
    • Azure-Blob-Container
    • DigitalOcean Spaces, Wasabi, IBM COS, Oracle Object Storage, Alibaba OSS, Backblaze B2, Linode, Scaleway, Vultr, Cloudflare R2
  • Verfolgt CNAME-Ketten rekursiv (konfigurierbare Tiefenbegrenzung), um maskierte Cloud-Bucket-Links zu erkennen
  • Markiert potenzielle Subdomain-Übernahmen — Cloud-Speicher-Muster, die NXDOMAIN zurückgeben
  • Prüft aufgelöste IPs (sowohl A als auch AAAA) gegen bekannte AWS S3- und Azure-Storage-IP-Bereiche
  • TTL-bewusster Antwort-Cache zur Reduzierung von Latenz und Upstream-Last während der Recon
  • Pro-IP-Ratenbegrenzung zur Verhinderung von Missbrauch
  • Protokolliert alle Ergebnisse auf der Konsole und in einer Datei
  • Container-freundlich

⚙️ Funktionsweise

S3DNS lauscht auf Port 53 (UDP und TCP) auf DNS-Anfragen. Für jede Anfrage:

  1. Extrahiert die angefragte Domain
  2. Prüft den Antwort-Cache — wenn eine gültige zwischengespeicherte Antwort existiert, wird sie sofort zurückgegeben
  3. Leitet die Anfrage an einen echten DNS-Resolver weiter (z. B. 1.1.1.1) — über UDP für UDP-Clients, über TCP für TCP-Clients
  4. Gibt die gültige DNS-Antwort an den Client zurück

Parallel dazu:

  • Prüft auf Cloud-Speicher-Bucket-Muster (Regex und hartcodierte Hostnamen-Muster)
  • Prüft aufgelöste IPs gegen bekannte AWS S3- und Azure-Storage-Bereiche (IPv4 und IPv6)
  • Verfolgt CNAME-Ketten rekursiv bis zur konfigurierten Tiefe
  • Markiert NXDOMAIN-Treffer bei gematchten Mustern als mögliche Subdomain-Übernahmekandidaten
  • Protokolliert alle Ergebnisse auf der Konsole und in s3dns.log

⚡ Verwende dies als deinen DNS während der Recon, und es werden passiv Cloud-Buckets und Übernahmekandidaten für jede Domain angezeigt, die deine Tools oder dein Browser auflösen.


🧱 Voraussetzungen

Du benötigst nur eines der folgenden:

  • Python 3.11+
  • Docker (optional, aber empfohlen)

🔧 Installation

Nur erforderlich, wenn du es lokal mit Python ausführen möchtest

Repository klonen

git clone https://github.com/olizimmermann/s3dns.git
cd s3dns

Abhängigkeiten installieren

(Die Verwendung einer virtuellen Umgebung wird empfohlen)

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

🧪 Verwendung

Mit Python ausführen

Port 53 erfordert erhöhte Rechte:

sudo python s3dns.py

Wenn sudo ein fehlendes Modul meldet, versuche: sudo venv/bin/python s3dns.py

  • Wenn du das Image selbst baust, stelle sicher, dass es denselben Tag wie die Docker-Hub-Version erhält: docker build -t ozimmermann/s3dns:latest .

Mit Docker

Der einfachste Weg, mit S3DNS zu starten.

docker pull ozimmermann/s3dns:latest
docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  --name "s3dns" \
  ozimmermann/s3dns:latest

Mit Docker bauen und ausführen

docker build -t ozimmermann/s3dns:latest .
docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  --name "s3dns" \
  ozimmermann/s3dns:latest

Ergebnisse werden gespeichert:

  • Im Terminal, und/oder
  • In ./bucket_findings/

Fehlerbehebung

Wenn du S3DNS auf demselben Rechner verwendest, auf dem du die Analyse durchführst, kann es hilfreich sein, das --network host-Flag zu setzen:

docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  --network host \
  --name "s3dns" \
  ozimmermann/s3dns:latest

Da Port 53 erhöhte Rechte erfordert, benötigen einige Benutzer (z. B. Mac-Benutzer) möglicherweise sudo:

sudo docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  --name "s3dns" \
  ozimmermann/s3dns:latest

🌐 S3DNS in der Recon verwenden

Setze den DNS-Resolver deines Systems oder Tools auf deine S3DNS-Instanz.

Tool herunterladen