Enumération de cibles/sous-réseaux via du reverse DNS nmap Reverse DNS enumeration using nmap
Astuce pour rapidement découvrir des cibles/sous-réseaux. Nmap trick to rapidly scan large IP ranges.
Table of contents
Table des matières
Quick Reference
If an internal DNS server is reachable and configured :
nmap -sL <IP RANGE> -oN /tmp/nmap_output
Even on large IP ranges, this will be quick if communication with the DNS server (generally the DC) is fast.
Then, format into a list of targets :
If you want the IP adresses
head -n -1 /tmp/nmap_output | sed -n 's/.*(\([^)]*\)).*/\1/p'
If you want the hostnames
head -n -1 /tmp/nmap_output | grep -oP '\S+(?= \()'
Tips
- You can be imaginative with the IP range. I usually do all private IP ranges at the beginning of an engagement but if communication is slow, you can restrict to predictable ranges using wildcards and octet ranges : 10.*.*.0-10 will try to resolve the 10 first addresses for all values of the second and third octets. Once you’ve found a hit, you can adapt the range to be more focused.
- If you don’t automatically get a DNS server configured, you can use nmap to look for an open port 53 and then add it to your /etc/resolv.conf or manually configure the network.
Référence rapide
Si un serveur DNS interne est joignable et configuré :
nmap -sL <IP RANGE> -oN /tmp/nmap_output
Même sur des grosses plages d’adresses, cette commande reste rapide tant que la communication avec le serveur DNS, généralement le DC, est bonne. Attention sur les audits de SI imbriqués avec d’autres SI, la requête DNS peut entraîner un forwarding vers un serveur DNS hors périmètre (sur lequel on ne lance donc pas un scan -T5 de forrain).
Formatez ensuite le résultat en liste de cibles :
Si vous voulez les adresses IP
head -n -1 /tmp/nmap_output | sed -n 's/.*(\([^)]*\)).*/\1/p'
Si vous voulez les noms d’hôte
head -n -1 /tmp/nmap_output | grep -oP '\S+(?= \()'
Astuces
- Faites preuve d’imagination sur la plage IP. Je scanne généralement toutes les plages privées en début de mission, mais si la communication est lente, vous pouvez vous restreindre à des plages prévisibles avec des wildcards et des intervalles d’octets : 10.*.*.0-10 tentera de résoudre les 10 premières adresses pour toutes les valeurs des deuxième et troisième octets. Une fois une réponse obtenue, vous pouvez resserrer la plage autour de la zone qui répond.
- Si aucun serveur DNS n’est configuré automatiquement, utilisez nmap pour repérer un port 53 ouvert, puis ajoutez-le à votre /etc/resolv.conf ou configurez le réseau manuellement.