
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 per DNS Takeover
Subjack è uno scanner per DNS takeover scritto in Go, progettato per scansionare una lista di domini in modo concorrente e identificare quelli che possono essere dirottati. Grazie alla velocità e all'efficienza di Go, questo strumento si distingue particolarmente nel mass-testing. Verifica sempre manualmente i risultati per escludere falsi positivi.
Subjack rileva:
include: di SPF che consentono lo spoofing emailRichiede Go
go install github.com/haccer/subjack@latest
Binari precompilati per Linux, macOS e Windows sono disponibili anche nella pagina delle release — utili per piccoli VPS dove la compilazione è lenta.
subjack -w subdomains.txt -t 100 -timeout 30 -o results.txt -ssl
| Flag | Descrizione | Default |
|---|---|---|
-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 | Salva i risultati su file (usa l'estensione .json per l'output JSON) | |
-ssl | Forza connessioni HTTPS (può aumentare la precisione) | false |
-a | Invia richieste a ogni URL, non solo a quelli con CNAME identificati (consigliato) | false |
-m | Segnala record CNAME morti anche se il dominio non è disponibile per la registrazione | false |
-r | Percorso di una lista di resolver DNS (un IP o host:port per riga, in caso di errore ricade su 8.8.8.8) | |
-ns | Controlla NS takeover (domini NS scaduti + deleghe DNS cloud pendenti) | false |
-ar | Controlla record A obsoleti che puntano a IP morti (può richiedere root per ICMP) | false |
-axfr | Controlla zone transfer (AXFR) incluso il bruteforce NS | false |
-mail | Controlla SPF include e MX record takeover | false |
-srv | Controlla SRV record takeover (aggiunge ~28 query DNS per dominio) | false |
-v | Mostra più informazioni per richiesta | false |
Subjack può leggere i 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 nameserver takeover:
Domini NS scaduti: Verifica se uno dei nameserver di un dominio è scaduto ed è disponibile per l'acquisto. Un attaccante che registra un nameserver scaduto può assumere il controllo completo di tutto il DNS per quel dominio — può puntare qualsiasi record ovunque, intercettare email, emettere certificati e altro ancora.
Deleghe NS pendenti: Rileva quando i record NS di un dominio puntano a provider DNS cloud ma la zona ospitata è stata eliminata. Subjack interroga direttamente ogni nameserver per un record SOA — se tutti restituiscono SERVFAIL o REFUSED, la zona non esiste più ed è potenzialmente reclamabile. 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 risolverà i record A e controllerà se l'indirizzo IP è effettivamente attivo. Quando un'azienda dismette un server cloud ma dimentica di rimuovere il record DNS A, l'IP viene restituito al pool del provider. Un attaccante può avviare nuove istanze su quel provider finché non ottiene lo stesso IP, acquisendo il controllo del sottodominio.
Subjack identifica il provider cloud (AWS, GCP, Azure, DigitalOcean, Linode, Vultr, Oracle) quando possibile, facilitando il targeting della piattaforma giusta. Il rilevamento utilizza ICMP ping (richiede root) con un fallback TCP sulle porte 80/443.
sudo subjack -w subdomains.txt -ar -o results.json
I risultati sono contrassegnati come STALE A RECORD e dovrebbero essere verificati manualmente — un IP che non risponde non significa sempre che sia reclamabile.
Con il flag -axfr, subjack tenterà zone transfer DNS (AXFR) che possono esporre tutti i record DNS di un dominio. Subjack va oltre il semplice test dei nameserver ufficiali del dominio — esegue anche il bruteforce di nomi host 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 messi in sicurezza.
subjack -d example.com -axfr -o results.json
subjack -w domains.txt -axfr -o results.json
I risultati sono contrassegnati 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:
SPF include takeover: Analizza i record TXT SPF e controlla 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, aggirando SPF e DMARC.
MX record takeover: Controlla se uno dei target dei record MX è scaduto e disponibile per la registrazione. Un attaccante che controlla il server mail può intercettare tutte le email in entrata — reset password, codici 2FA e altro ancora.
subjack -w domains.txt -mail -o results.json
CNAME chain takeover viene eseguito automaticamente su ogni scansione: segue catene CNAME multilivello (fino a 10 livelli) e controlla se uno dei target intermedi è reclamabile. Il rilevamento CNAME standard controlla solo il primo hop — le catene catturano opportunità di takeover più profonde.
SRV record takeover è opt-in con il flag -srv, poiché sondare le posizioni SRV comuni (SIP, XMPP, LDAP, Kerberos, IMAP, CalDAV, ecc.) aggiunge circa 28 query DNS per dominio:
subjack -w domains.txt -srv -o results.json