Lors de notre dernière mission, nous avons étudié un outil permettant de trouver les domaines pertinents comme les entreprises en relation avec notre cibles. Une fois cette liste en notre possession, nous allons essayer pour chaque élément d'aller aussi loin que possible. Pour cela, le DNS sera notre arme pivot. pour l'exploiter, nous utiliserons le couteau suisse pour ce genre d'attaque, dnsenum.
I - Installation de l'outil
Tout d'abord, téléchargez l'utilitaire ici. Il s'agit donc d'un script PERL. Avant de pouvoir l'installer, il nous faut installer un certain nombre de modules comme indiqué dans le fichier README.txt :
- Net::IP
- Net::DNS
- Net::Netmask
- Net::Whois::IP
- HTML::Parser
- WWW::Mechanize
- threads
- threads::shared
- Thread::Queue
1ère méthode : manuellement
A noter que les modules perl se trouvent sur le site http://www.cpan.org/modules.
- Télécharger le tarball ici ;
- Le décompresser :
$ tar -zxvf Net-IP-1.25.tar.gz
- Installer le module :
$ cd Net-IP-1.25/
$ perl Makefile.PL
$ make
$ make install
A noter si vous rencontrez des problèmes pour installer le module HTML::Parser (comme moi ;)), vérifier que le gcc est à jour et/ou que libc-dev est installé et à jour (sur Debian) :
$ dpkg -l | grep gcc
$ dpkg -l | grep libc-dev
Et éventuellement :
$ apt-get install gcc libc-dev
2e méthode, l'installation automatique :
$ perl -MCPAN -e 'install "Net::IP"'
II - Utilisation de l'outil
Nous sommes prêts ! L'outil va étudier la cible en plusieurs étapes. Ce que nous allons voir tout de suite.
Lancement de l'attaque :
Pour utiliser toutes les possibilités, nous utiliserons la commande suivante :
$ perl dnsenum.pl -v -f dns.txt domaine_cible
avec :
- -v : verbose ;
- -f
: bruteforce. Le fichier peut être dns.txt - fourni avec l'outil mais qui devrait être personnalisé - contient un dictionnaire de noms DNS probables comme dns1. Le but est de trouver de nouveau sous-domaines ; domaine_cible : par exemple, google.com
Déroulement de l'attaque :
Comme nous allons le voir, la plupart des étapes pourraient être effectuées manuellement. Nous en verrons donc les commandes (certainement déjà connues) ainsi que le résultat pour chacune. Pour exemple, notre "cible" sera lemonde.fr.
1 - Obtention de l'adresse IP
Commande manuelle équivalente ?
$ dig lemonde.fr
Résultat ?
lemonde.fr. 550 IN A 195.154.120.129
2 - Trouver les serveurs DNS primaires (champs NS)
Commande manuelle équivalente ?
$ dig NS lemonde.fr
Résultat ?
$ ns2.te-dns.net. 304 IN A 62.210.64.52
$ ns1.te-dns.net. 304 IN A 212.83.156.82
3 - Trouver les serveurs de messagerie (champs MX)
Commande manuelle équivalente ?
$ dig MX lemonde.fr
Résultat ?
smtp0.lemonde.fr. 600 IN A 194.3.81.5
smtp1.lemonde.fr. 600 IN A 194.3.81.6
4 - Trouver les transferts de zones (champs AXFR)
Commande manuelle équivalente ?
$ host -l lemonde.fr ns1.te-dns.net
$ host -l lemonde.fr ns2.te-dns.net
Résultat ?
Transfer failed
Les transferts de zone ne sont donc pas autorisés pour ce domaine...
5 - Google-scrapping
Commande manuelle équivalente ?
N/A
Résultat ?
N/A
6 - Trouver des sous-domaines supplémentaires par Brute Force (option -f
Commande manuelle équivalente ?
$ dig.lemonde.fr
Avec
Résultat ?
blog.lemonde.fr. 241 IN A 195.15.120.132
forum.lemonde.fr. 600 IN CNAME forums.lemonde.fr.
forums.lemonde.fr. 600 IN A 195.154.120.161
...
ftp.lemonde.fr 257 IN A 194.3.81.226
...
Nous pouvons voir certain service dès cette étape très intéressant dans le cadre d'un pentest comme FTP en plus d'un serveur mail (étape 3).
7 - Enumérer les plages d'adresses de classe C et lancer des requêtes WHOIS
Commande manuelle équivalente ?
$ whois lemonde.fr
Résultat ?
194.3.81.0/24
195.154.120.0/24
8 - Lancer des requêtes reverse lookups sur les plages d'adresses récupérées en 8 -, ainsi que les adresses récupérées via WHOIS (toujours en 8 -)
Commande manuelle équivalente (en testant toutes les adresses IP obtenues en 8 -) ?
$ nslookup
Résultat ?
135.120.154.195.in-addr.arpa. 600 IN PTR cacheman.lemonde.fr.
140.120.154.195.in-addr.arpa. 600 IN PTR pan.lemonde.fr.
...
9 - Ecrit l'ensembles des adresses dans un fichiers de type domaineclible_ips.txt
Commande manuelle équivalente ?
N/A
Résultat ?
$ cat lemonde.fr_ips.txt
195.154.120.135/32
...
195.154.120.168/30
Aucun commentaire:
Enregistrer un commentaire