Mon réseau d’entreprise
20.2 Prospection
20.2.1 Les outils de scan réseau
Nous présentons ici quelques outils permettant de scanner un réseau. Nous nous limiterons aux aspects informatique et réseau et n’aborderons pas les aspects humains, beaucoup plus efficaces pour un malfaisant. Nous nous limiterons aussi au protocole TCP/IP et ne regarderons pas les aspects rayonnants.
20.2.1.1 Identifier les hôtes
Pour détecter un ordinateur, il est possible de demander au réseau de :
-
• demander une réponse ICMP ;
-
• demander une réponse ARP ;
-
• demander une réponse DNS ;
-
• demander une réponse TCP ou UDP ;
-
• écouter passivement sur le réseau.
Dans tous les cas, certaines réponses peuvent être masquées.
La première question consiste à envoyer un paquet ICMP request, l’hôte devrait répondre par un ICMP reply. Pour scanner un large réseau, il est possible d’écrire un script shell, ou utiliser des programmes (fping, nmap) qui lancent les requêtes et proposent un rapport. Pour fping, la commande classique est de la forme :
fping -qag 10.1.2.3/21
La deuxième, ARP, permet d’obtenir une information même si le trafic ICMP est filtré. Cependant, cette information est limitée au réseau local et ne fournit pas d’information à distance. Pour lister les ordinateur déjà connus, ip fournit la commande ip neighbour qui affiche les voisins.
Interroger le DNS de l’entreprise peut permettre d’identifier des adresses de machines sans réaliser de scan réseau. C’est pourquoi, il faut limiter la publication d’informations.
Si l’hôte est distant et que le trafic ICMP est filtré, il est néanmoins possible de tester la réponse à une connexion directe. L’envoi du premier paquet du dialogue TCP pourrait afficher une réponse. Pour cela, il est possible d’utiliser netcat, nmap ou directement le client adapté. Le logiciel netcat est léger, mais sera utilisé pour tester un port à la fois. Le programme nmap permet de scanner les ports les plus utilisés ou tous en une seule fois, mais il met longtemps à terminer.
Enfin, une écoute silencieuse sur le réseau permet d’identifier tous les hôtes et les protocoles utilisés. Ceci est limité aux paquets qui peuvent être interceptés par le logiciel d’écoute.
20.2.1.2 Identifier les services
Après avoir trouvé un hôte, il faut savoir quels ports sont en écoute. Pour cela, il y a plusieurs méthodes. La plus simple consiste à faire une tentative de connexion sur chaque port (ou un sous ensemble) et étudier les réponses. Une commande peut être nmap -sV.
root@hardy:~# nmap -sV 10.33.105.254 Starting Nmap 7.80 ( https://nmap.org ) at 2021-10-18 15:03 CEST Nmap scan report for hp105 (10.33.105.254) Host is up (0.0076s latency). Not shown: 995 closed ports PORT STATE SERVICE VERSION 23/tcp open telnet 80/tcp open http HP MSM Controller or 1920-series switch httpd
ou
root@hardy:~# nmap -sV 10.33.105.250 Starting Nmap 7.80 ( https://nmap.org ) at 2021-10-18 14:59 CEST Nmap scan report for 10.33.105.250 Host is up (0.00024s latency). Not shown: 993 closed ports PORT STATE SERVICE VERSION 13/tcp open daytime 22/tcp open ssh OpenSSH 8.4p1 Debian 5 (protocol 2.0) ...
Les serveurs indiquent souvent leur version pour faciliter la correction des problèmes.
Une autre méthode consiste à essayer de se connecter directement :
$ netcat 10.33.105.250 22 SSH-2.0-OpenSSH_8.4p1 Debian-5 $
Ces renseignements peuvent être masqués ou altérés.