Subdomain Bruteforcing
Le bruteforce de sous-domaines est une technique puissante d'énumération active visant à découvrir des sous-domaines d'un domaine principal, en testant systématiquement des noms issus d'une wordlist. Cette méthode permet de mettre en évidence des hôtes actifs souvent oubliés ou non documentés, tels que des environnements de développement, de test ou encore des portails d'administration.
⚖️ Méthodologie en 4 étapes
Sélection de la wordlist Le processus commence par le choix d'une wordlist adaptée :
Générique : contient des noms fréquents comme
admin
,dev
,mail
,blog
,test
.Ciblée : spécifique à une industrie, technologie ou entreprise.
Personnalisée : créée manuellement à partir de mots-clés issus d'une collecte d'informations préalable.
Génération des noms de sous-domaines Chaque mot de la wordlist est préfixé au domaine principal :
dev.inlanefreight.com
staging.inlanefreight.com
Résolution DNS Chaque sous-domaine généré est soumis à une requête DNS pour vérifier s'il pointe vers une adresse IP (via un enregistrement
A
ouAAAA
).Filtrage et validation Les sous-domaines résolus sont stockés. Ils peuvent être testés via un navigateur, un scan de ports, ou être analysés pour déterminer les services accessibles.
🛠️ Outils couramment utilisés
dnsenum
Outil Perl complet : brute-force, transfert de zone, WHOIS.
fierce
Interface intuitive, bonne détection des wildcards.
dnsrecon
Outil Python multifonction. Export JSON/CSV possible.
amass
Excellent pour les campagnes à grande échelle. Supporte les sources OSINT.
assetfinder
Simple, rapide, idéal pour reconnaissance passive.
puredns
Très rapide, utile pour nettoyer les faux positifs.
⚙️ Exemple avec dnsenum
dnsenum
dnsenum
est un outil très complet écrit en Perl. Il permet, entre autres :
Récupération des enregistrements DNS (
A
,MX
,NS
,TXT
...)Tentatives de transfert de zone
Brute-force de sous-domaines via wordlist
Scraping Google pour des sous-domaines
Reverse DNS
Requêtes WHOIS
⚡️ Commande de démonstration
0xH4shDumb@htb[/htb]$ dnsenum --enum inlanefreight.com -f /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt -r
--enum
: active plusieurs fonctions automatiquement-f
: spécifie la wordlist-r
: active la récursivité (sidev.example.com
est trouvé, il tentesub.dev.example.com
, etc.)
📂 Exemple de sortie
[...] Brute forcing with subdomains-top1million-20000.txt:
www.inlanefreight.com. A 134.209.24.248
support.inlanefreight.com. A 134.209.24.248
mail.inlanefreight.com. A 134.209.24.248
⚠️ Bonnes pratiques et limites
✅ Combinez approches actives et passives pour une couverture maximale.
⚠️ Ne testez pas un domaine sans autorisation préalable.
🌐 Filtrez les wildcards DNS (certains domaines répondent à tout sous-domaine).
🎓 Surveillez les comportements réseaux pour éviter les détections.
Le bruteforce de sous-domaines est un levier essentiel pour révéler des points d'entrée insoupçonnés, des environnements de test non sécurisés ou des services internes mal protégés. Dans le cadre d'un test d'intrusion, il s'agit souvent d'une première étape vers la compromission de l'infrastructure cible.
Using the known subdomains for inlanefreight.com (www, ns1, ns2, ns3, blog, support, customer), find any missing subdomains by brute-forcing possible domain names. Provide your answer with the complete subdomain, e.g., www.inlanefreight.com.
Nous utilisons dnsenum
afin d'effectuer l'énumération des sous-domaines :
$ dnsenum --enum inlanefreight.com -f /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt
dnsenum VERSION:1.2.6
----- inlanefreight.com -----
Host's addresses:
__________________
inlanefreight.com. 300 IN A 134.209.24.248
[...]
Brute forcing with /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt:
_______________________________________________________________________________________
www.inlanefreight.com. 252 IN A 134.209.24.248
ns2.inlanefreight.com. 300 IN A 206.189.119.186
ns1.inlanefreight.com. 300 IN A 178.128.39.165
ns3.inlanefreight.com. 300 IN A 134.209.24.248
support.inlanefreight.com. 300 IN A 134.209.24.248
my.inlanefreight.com. 300 IN A 134.209.24.248
customer.inlanefreight.com. 300 IN A 134.209.24.248
Nous observons ainsi le sous domaine manquant : my.inlanefreight.com
.
Mis à jour