
Scanner concorrente di takeover DNS che rileva vulnerabilità CNAME, NS, AXFR, SPF, MX, SRV e record A obsoleti tra i fornitori cloud, con analisi della catena multilivello.
Scanner di takeover DNS
Subjack è uno scanner di takeover DNS scritto in Go progettato per scansionare un elenco di domini contemporaneamente e identificare quelli che possono essere dirottati. Con la velocità e l'efficienza di Go, questo strumento si distingue davvero quando si tratta di test di massa. Controlla sempre manualmente i risultati per escludere falsi positivi.
Subjack rileva:
include: SPF che abilitano lo spoofing delle emailRichiede Go
go install github.com/haccer/subjack@latest
subjack -w subdomains.txt -t 100 -timeout 30 -o results.txt -ssl
Subjack può leggere domini da stdin, facilitando il piping dell'output da altri strumenti:
subfinder -d example.com | subjack -ssl -o results.json
cat domains.txt | subjack -t 20 -o results.txt
Con il flag -ns, subjack esegue due tipi di controlli di takeover del nameserver:
Domini NS scaduti: Verifica se uno dei nameserver di un dominio è scaduto e disponibile per l'acquisto. Un attaccante che registra un nameserver scaduto può ottenere il controllo completo di tutto il DNS per quel dominio — può puntare qualsiasi record ovunque, intercettare email, emettere certificati e altro.
Delegazioni NS pendenti: Rileva quando i record NS di un dominio puntano a provider DNS cloud ma la zona ospitata è stata eliminata. Subjack interroga ogni nameserver direttamente per un record SOA — se tutti restituiscono SERVFAIL o REFUSED, la zona è scomparsa e potenzialmente rivendicabile. Provider supportati:
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
Con il flag -ar, subjack risolve i record A e verifica se l'indirizzo IP è effettivamente attivo. Quando un'azienda termina un server cloud ma dimentica di rimuovere il record A DNS, l'IP viene rilasciato nel pool del provider. Un attaccante può avviare nuove istanze su quel provider fino a ottenere lo stesso IP, acquisendo il controllo del sottodominio.
Subjack identifica il provider cloud (AWS, GCP, Azure, DigitalOcean, Linode, Vultr, Oracle) quando possibile, facilitando la scelta della piattaforma giusta. Il rilevamento utilizza ping ICMP (richiede root) con fallback TCP sulle porte 80/443.
sudo subjack -w subdomains.txt -ar -o results.json
I risultati vengono segnalati come STALE A RECORD e dovrebbero essere verificati manualmente — un IP che non risponde non significa sempre che sia recuperabile.
Con il flag -axfr, subjack tenta trasferimenti di zona DNS (AXFR) che possono esporre l'intero set di record DNS di un dominio. Subjack va oltre il semplice test dei nameserver ufficiali del dominio — esegue anche brute-force su hostname nameserver comuni (ns1, dns-0, ns-backup, ecc.) perché nameserver nascosti o dimenticati sono spesso lasciati non protetti anche dopo che quelli primari sono stati bloccati.
subjack -d example.com -axfr -o results.json
subjack -w domains.txt -axfr -o results.json
I risultati vengono segnalati come ZONE TRANSFER con il nameserver vulnerabile e il numero di record esposti.
Con il flag -mail, subjack controlla due vettori di takeover basati su email:
Takeover di include SPF: Analizza i record TXT SPF e verifica se uno dei domini include: è scaduto e disponibile per la registrazione. Un attaccante che registra il dominio incluso può inviare email completamente autenticate come il target, bypassando SPF e DMARC.
Takeover di record MX: Verifica se uno dei target dei record MX è scaduto e disponibile per la registrazione. Un attaccante che controlla il server di posta può intercettare tutta la posta in arrivo — reimpostazioni password, codici 2FA e altro.
subjack -w domains.txt -mail -o results.json
Questi controlli vengono eseguiti automaticamente su ogni scansione:
Takeover di catena CNAME: Segue catene CNAME multilivello (fino a 10 livelli) e verifica se un target intermedio è rivendicabile. Il rilevamento CNAME standard controlla solo il primo salto — le catene catturano opportunità di takeover più profonde.
Takeover di record SRV: Controlla i record SRV comuni (SIP, XMPP, LDAP, Kerberos, IMAP, CalDAV, ecc.) per target scaduti e disponibili per la registrazione.
Puoi usare scanio.sh che è una sorta di script PoC per localizzare in massa sottodomini vulnerabili utilizzando i risultati del Project Sonar di Rapid7. Questo script analizza e grepa il dump alla ricerca dei record CNAME desiderati e crea un grande elenco di sottodomini da verificare con subjack se sono vulnerabili a takeover ostile di sottodominio. Per favore usalo responsabilmente.
La tua wordlist dovrebbe includere un elenco di sottodomini, uno per riga:
assets.xen.world
assets.github.com
b.xen.world
big.example.com
cdn.xen.world
dev.xen.world
dev2.twitter.com
Informazioni aggiuntive sui takeover DNS:
| Flag | Descrizione | Predefinito |
|---|
-d | Singolo dominio da controllare | |
-w | Percorso della wordlist dei sottodomini | |
-t | Numero di thread concorrenti | 10 |
-timeout | Secondi di attesa prima del timeout di connessione | 10 |
-o | Output dei risultati su file (usa estensione .json per output JSON) | |
-ssl | Forza connessioni HTTPS (può aumentare l'accuratezza) | false |
-a | Invia richieste a ogni URL, non solo quelli con CNAME identificati (consigliato) | false |
-m | Segna record CNAME morti anche se il dominio non è disponibile per la registrazione | false |
-r | Percorso di un elenco di resolver DNS (un IP per riga, in caso di fallimento usa 8.8.8.8) | |
-ns | Controlla takeover NS (domini NS scaduti + delegazioni DNS cloud pendenti) | false |
-ar | Controlla record A obsoleti che puntano a IP morti (può richiedere root per ICMP) | false |
-axfr | Controlla trasferimenti di zona (AXFR) inclusi brute-force NS | false |
-mail | Controlla takeover di include SPF e record MX | false |
-v | Mostra più informazioni per richiesta | false |