
Gleichzeitiger DNS-Takeover-Scanner, der CNAME-, NS-, AXFR-, SPF-, MX-, SRV- und stale A-Record-Anfälligkeiten über Cloud-Anbieter hinweg erkennt, mit mehrstufiger Kettenanalyse.
DNS-Übernahme-Scanner
Subjack ist ein in Go geschriebener DNS-Übernahme-Scanner, der entwickelt wurde, um eine Liste von Domains gleichzeitig zu scannen und diejenigen zu identifizieren, die entführt werden können. Mit Gos Geschwindigkeit und Effizienz sticht dieses Tool bei Massentests wirklich hervor. Überprüfen Sie die Ergebnisse immer manuell, um Fehlalarme auszuschließen.
Subjack erkennt:
include:-Direktiven, die E-Mail-Spoofing ermöglichenErfordert Go
go install github.com/haccer/subjack@latest
subjack -w subdomains.txt -t 100 -timeout 30 -o results.txt -ssl
Subjack kann Domains von stdin lesen, was das Piping von Ausgaben anderer Tools erleichtert:
subfinder -d example.com | subjack -ssl -o results.json
cat domains.txt | subjack -t 20 -o results.txt
Mit dem -ns-Flag führt subjack zwei Arten von Nameserver-Übernahmeprüfungen durch:
Abgelaufene NS-Domains: Prüft, ob einer der Nameserver einer Domain abgelaufen und zum Kauf verfügbar ist. Ein Angreifer, der einen abgelaufenen Nameserver registriert, kann die vollständige Kontrolle über das DNS dieser Domain übernehmen – er kann jeden beliebigen Eintrag setzen, E-Mails abfangen, Zertifikate ausstellen und mehr.
Hängende NS-Delegationen: Erkennt, wenn NS-Einträge einer Domain auf Cloud-DNS-Anbieter verweisen, aber die gehostete Zone gelöscht wurde. Subjack fragt jeden Nameserver direkt nach einem SOA-Eintrag ab – wenn alle SERVFAIL oder REFUSED zurückgeben, ist die Zone weg und möglicherweise beanspruchbar. Unterstützte Anbieter:
ns-*.awsdns-*)ns-cloud-*.googledomains.com)ns*-*.azure-dns.*)ns*.digitalocean.com)ns*.vultr.com)ns*.linode.com)subjack -w subdomains.txt -ns -o results.json
Mit dem -ar-Flag löst subjack A-Records auf und prüft, ob die IP-Adresse tatsächlich aktiv ist. Wenn ein Unternehmen einen Cloud-Server beendet, aber vergisst, den DNS-A-Eintrag zu entfernen, wird die IP wieder in den Pool des Anbieters zurückgegeben. Ein Angreifer kann neue Instanzen bei diesem Anbieter starten, bis er auf dieselbe IP trifft, und so die Kontrolle über die Subdomain erlangen.
Subjack identifiziert nach Möglichkeit den Cloud-Anbieter (AWS, GCP, Azure, DigitalOcean, Linode, Vultr, Oracle), um die gezielte Ansprache der richtigen Plattform zu erleichtern. Die Erkennung verwendet ICMP-Ping (erfordert Root) mit einem TCP-Fallback auf den Ports 80/443.
sudo subjack -w subdomains.txt -ar -o results.json
Ergebnisse werden als STALE A RECORD gekennzeichnet und sollten manuell überprüft werden – eine nicht antwortende IP bedeutet nicht immer, dass sie wieder beansprucht werden kann.
Mit dem -axfr-Flag versucht subjack DNS-Zonentransfers (AXFR), die die gesamten DNS-Einträge einer Domain offenlegen können. Subjack testet nicht nur die offiziellen Nameserver der Domain, sondern bruteforct auch gängige Nameserver-Hostnamen (ns1, dns-0, ns-backup usw.), da versteckte oder vergessene Nameserver oft ungesichert bleiben, selbst nachdem die primären gesperrt wurden.
subjack -d example.com -axfr -o results.json
subjack -w domains.txt -axfr -o results.json
Ergebnisse werden als ZONE TRANSFER mit dem anfälligen Nameserver und der Anzahl offengelegter Einträge gekennzeichnet.
Mit dem -mail-Flag prüft subjack auf zwei E-Mail-basierte Übernahmevektoren:
SPF-include-Übernahme: Analysiert SPF-TXT-Einträge und prüft, ob include:-Domains abgelaufen und zur Registrierung verfügbar sind. Ein Angreifer, der die eingebundene Domain registriert, kann vollständig authentifizierte E-Mails als das Ziel versenden und SPF und DMARC umgehen.
MX-Record-Übernahme: Prüft, ob MX-Eintragsziele abgelaufen und zur Registrierung verfügbar sind. Ein Angreifer, der den Mailserver kontrolliert, kann alle eingehenden E-Mails abfangen – Passwortzurücksetzungen, 2FA-Codes und mehr.
subjack -w domains.txt -mail -o results.json
Diese Prüfungen werden bei jedem Scan automatisch durchgeführt:
CNAME-Kettenübernahme: Verfolgt mehrstufige CNAME-Ketten (bis zu 10 Ebenen tief) und prüft, ob ein Zwischenziel beanspruchbar ist. Die Standard-CNAME-Erkennung prüft nur den ersten Hop – Ketten erfassen tiefere Übernahmemöglichkeiten.
SRV-Record-Übernahme: Prüft gängige SRV-Einträge (SIP, XMPP, LDAP, Kerberos, IMAP, CalDAV usw.) auf Ziele, die abgelaufen und zur Registrierung verfügbar sind.
Sie können scanio.sh verwenden, ein PoC-Skript, um massenhaft anfällige Subdomains mithilfe von Ergebnissen aus Rapid7's Project Sonar zu lokalisieren. Dieses Skript parst und durchsucht den Dump nach gewünschten CNAME-Einträgen und erstellt eine große Liste von Subdomains, die mit subjack auf feindliche Subdomain-Übernahmen überprüft werden sollen. Bitte verwenden Sie dies verantwortungsvoll.
Ihre Wortliste sollte eine Liste von Subdomains enthalten, eine pro Zeile:
assets.xen.world
assets.github.com
b.xen.world
big.example.com
cdn.xen.world
dev.xen.world
dev2.twitter.com
Weitere Informationen zu DNS-Übernahmen:
| Flag | Beschreibung | Standard |
|---|
-d | Einzelne zu überprüfende Domain | |
-w | Pfad zur Wortliste der Subdomains | |
-t | Anzahl der gleichzeitigen Threads | 10 |
-timeout | Sekunden bis zum Verbindungs-Timeout | 10 |
-o | Ergebnisse in Datei ausgeben (.json-Erweiterung für JSON-Ausgabe) | |
-ssl | HTTPS-Verbindungen erzwingen (kann Genauigkeit erhöhen) | false |
-a | Anfragen an jede URL senden, nicht nur an solche mit identifizierten CNAMEs (empfohlen) | false |
-m | Tote CNAME-Records markieren, auch wenn die Domain nicht zur Registrierung verfügbar ist | false |
-r | Pfad zu einer Liste von DNS-Resolvern (eine IP pro Zeile, fällt bei Fehler auf 8.8.8.8 zurück) | |
-ns | Auf NS-Übernahmen prüfen (abgelaufene NS-Domains + hängende Cloud-DNS-Delegationen) | false |
-ar | Auf veraltete A-Records prüfen, die auf tote IPs verweisen (kann Root für ICMP erfordern) | false |
-axfr | Auf Zonentransfers (AXFR) prüfen, inklusive NS-Brute-Force | false |
-mail | Auf SPF-include- und MX-Record-Übernahmen prüfen | false |
-v | Mehr Informationen pro Anfrage anzeigen | false |