
Scanner de prise de contrôle DNS concurrent détectant les vulnérabilités de CNAME, NS, AXFR, SPF, MX, SRV et d'enregistrements A obsolètes chez les fournisseurs cloud, avec analyse de chaîne multi-niveaux.
Scanner de prise de contrôle DNS
Subjack est un scanner de prise de contrôle DNS écrit en Go, conçu pour analyser une liste de domaines en parallèle et identifier ceux qui peuvent être détournés. Grâce à la vitesse et à l'efficacité de Go, cet outil se démarque particulièrement pour les tests à grande échelle. Vérifiez toujours les résultats manuellement afin d'écarter les faux positifs.
Subjack détecte :
include: SPF permettant l'usurpation d'e-mailsNécessite Go
go install github.com/haccer/subjack@latest
Des binaires précompilés pour Linux, macOS et Windows sont également disponibles sur la page des releases — pratiques pour les petits VPS où la compilation est lente.
subjack -w subdomains.txt -t 100 -timeout 30 -o results.txt -ssl
| Flag | Description | Défaut |
|---|---|---|
-d | Domaine unique à vérifier | |
-w | Chemin vers la wordlist de sous-domaines | |
-t | Nombre de threads simultanés | 10 |
-timeout | Secondes d'attente avant expiration de la connexion | 10 |
-o | Écrire les résultats dans un fichier (utilisez l'extension .json pour une sortie JSON) | |
-ssl | Forcer les connexions HTTPS (peut augmenter la précision) | false |
-a | Envoyer des requêtes à chaque URL, pas seulement celles avec des CNAMEs identifiés (recommandé) | false |
-m | Signaler les enregistrements CNAME morts même si le domaine n'est pas disponible à l'enregistrement | false |
-r | Chemin vers une liste de résolveurs DNS (une IP ou host:port par ligne, retour à 8.8.8.8 en cas d'échec) | |
-ns | Vérifier les prises de contrôle NS (domaines NS expirés + délégations DNS cloud pendantes) | false |
-ar | Vérifier les enregistrements A obsolètes pointant vers des IP mortes (peut nécessiter root pour ICMP) | false |
-axfr | Vérifier les transferts de zone (AXFR) y compris le bruteforce NS | false |
-mail | Vérifier les prises de contrôle par include SPF et enregistrements MX | false |
-srv | Vérifier les prises de contrôle d'enregistrements SRV (ajoute ~28 requêtes DNS par domaine) | false |
-v | Afficher plus d'informations par requête | false |
Subjack peut lire les domaines depuis stdin, ce qui facilite le piping de la sortie d'autres outils :
subfinder -d example.com | subjack -ssl -o results.json
cat domains.txt | subjack -t 20 -o results.txt
Avec le flag -ns, subjack effectue deux types de vérifications de prise de contrôle de serveurs de noms :
Domaines NS expirés : vérifie si l'un des serveurs de noms d'un domaine a expiré et est disponible à l'achat. Un attaquant qui enregistre un serveur de noms expiré peut prendre le contrôle total de tout le DNS de ce domaine — il peut pointer n'importe quel enregistrement où il le souhaite, intercepter les e-mails, émettre des certificats, etc.
Délégations NS pendantes : détecte quand les enregistrements NS d'un domaine pointent vers des fournisseurs DNS cloud mais que la zone hébergée a été supprimée. Subjack interroge chaque serveur de noms directement pour un enregistrement SOA — si tous renvoient SERVFAIL ou REFUSED, la zone a disparu et est potentiellement réclamable. Fournisseurs pris en charge :
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
Avec le flag -ar, subjack résout les enregistrements A et vérifie si l'adresse IP est réellement active. Lorsqu'une entreprise résilie un serveur cloud mais oublie de supprimer l'enregistrement DNS A, l'IP est remise dans le pool du fournisseur. Un attaquant peut lancer de nouvelles instances chez ce fournisseur jusqu'à tomber sur la même IP, prenant ainsi le contrôle du sous-domaine.
Subjack identifie le fournisseur cloud (AWS, GCP, Azure, DigitalOcean, Linode, Vultr, Oracle) lorsque c'est possible, ce qui facilite le ciblage de la bonne plateforme. La détection utilise le ping ICMP (nécessite root) avec un repli TCP sur les ports 80/443.
sudo subjack -w subdomains.txt -ar -o results.json
Les résultats sont signalés comme STALE A RECORD et doivent être vérifiés manuellement — une IP qui ne répond pas ne signifie pas toujours qu'elle est récupérable.
Avec le flag -axfr, subjack tente des transferts de zone DNS (AXFR) qui peuvent exposer l'intégralité des enregistrements DNS d'un domaine. Subjack va au-delà du simple test des serveurs de noms officiels du domaine — il bruteforce également les noms d'hôtes de serveurs de noms courants (ns1, dns-0, ns-backup, etc.) car les serveurs de noms cachés ou oubliés restent souvent non sécurisés même après que les principaux ont été verrouillés.
subjack -d example.com -axfr -o results.json
subjack -w domains.txt -axfr -o results.json
Les résultats sont signalés comme ZONE TRANSFER avec le serveur de noms vulnérable et le nombre d'enregistrements exposés.
Avec le flag -mail, subjack vérifie deux vecteurs de prise de contrôle basés sur les e-mails :
Prise de contrôle par include SPF : analyse les enregistrements TXT SPF et vérifie si des domaines include: sont expirés et disponibles à l'enregistrement. Un attaquant qui enregistre le domaine inclus peut envoyer des e-mails entièrement authentifiés en tant que la cible, contournant SPF et DMARC.
Prise de contrôle d'enregistrements MX : vérifie si des cibles d'enregistrements MX sont expirées et disponibles à l'enregistrement. Un attaquant qui contrôle le serveur de messagerie peut intercepter tous les e-mails entrants — réinitialisations de mot de passe, codes 2FA, etc.
subjack -w domains.txt -mail -o results.json