Recherche de site Web

Utilisations avancées de Nmap


Dans la continuité de la première partie de cette série, il est temps d'examiner certaines des fonctionnalités les plus avancées de nmap. En commençant par l'analyse de port de base, il est possible d'obtenir plus d'informations sur l'analyse en ajoutant l'indicateur -vv :

nmap -vv 192.168.1.101

Le résultat ressemblera à ceci :

Dans la première partie, nous avons vu comment scanner une plage d'adresses. Il existe une autre façon d'effectuer l'analyse, mais cette fois en spécifiant le nombre de bits du masque de sous-réseau :

nmap 192.168.1.1/24

La commande ci-dessus analysera tous les hôtes de 192.168.1.0 à 192.168.1.255 sur un réseau doté d'un masque de sous-réseau de 255.255.255.0. Bien que des masques de sous-réseau plus grands soient possibles (par exemple, 255.255.0.0 est /16), cela obligerait nmap à analyser un grand nombre d'hôtes et devrait très probablement être évité.

Pour que nmap produise une liste des hôtes qu'il va analyser, utilisez l'indicateur -sL :

nmap -sL 192.168.1.1/24

Dans ce cas, le résultat sera une liste d'adresses (une par ligne) commençant à 192.168.1.0 et se terminant à 192.168.1.255.

S'il y a des hôtes sur votre réseau qui s'opposent à l'analyse (par exemple des serveurs avec des systèmes de détection d'intrusion installés ou certains types de pare-feu), vous pouvez demander à nmap d'ignorer une certaine adresse en utilisant le -indicateur d'exclusion. L'exemple suivant analysera tous les hôtes de .0 à .255 mais pas 192.168.1.4 :

nmap 192.168.1.1/24 -exclude 192.168.1.4

Furtivité

Lors de la recherche de ports ouverts, nmap peut utiliser plusieurs types différents de méthodes d'analyse. Les connexions réseau sont établies à l'aide du protocole TCP. Il définit les paquets de données à envoyer et quelle doit être la réponse. Pour établir une connexion, un paquet SYN est d'abord envoyé à l'hôte. Si le port est ouvert et que l'hôte est prêt à accepter les connexions, il répond en renvoyant un paquet SYN-ACK. Ensuite, le client enverra un paquet ACK pour terminer la connexion. Cette connexion est ensuite utilisée à un niveau supérieur par des logiciels tels que les navigateurs Web et les programmes de messagerie. Lorsqu'il est invoqué depuis un compte utilisateur normal, c'est exactement ce que nmap fait pour chaque port analysé. Si une connexion est établie, le port est signalé comme étant ouvert.

Mais si nmap est invoqué à partir d'un compte root ou à l'aide de sudo, il s'agit par défaut d'un type d'analyse différent appelé analyse semi-ouverte. Dans ce scénario, nmap crée lui-même les paquets TCP de bas niveau (plutôt que d'utiliser le système d'exploitation sous-jacent pour le faire en son nom) et lorsqu'il reçoit le SYN-ACK, il ne répond pas avec un ACK et donc une connexion complète n’est pas établie. Mais comme l'hôte a répondu par un SYN-ACK, cela signifie que le port est ouvert et disponible pour une connexion complète. L'avantage de l'analyse semi-ouverte est qu'elle est plus rapide et n'oblige pas le logiciel serveur écoutant sur le port à enregistrer une connexion.

Vous pouvez vous assurer que l'analyse semi-ouverte est utilisée en utilisant l'indicateur -sS. Lorsqu'il est combiné avec -vv, vous pouvez voir nmap signaler son utilisation d'un "SYN Stealth Scan" pour sonder l'hôte. Voici la commande complète :

sudo nmap -sS -vv 192.168.1.101

Notez également que nmap donne désormais un rapport du nombre de paquets bruts qu'il a générés afin qu'il puisse effectuer l'analyse semi-ouverte.

Tout est illuminé comme un sapin de Noël

Il existe un autre type d'analyse qui mérite d'être mentionné : l'analyse NULL et ses amis - l'analyse FIN et l'analyse de Noël. Dans la norme TCP, il existe une petite section qui indique à une implémentation TCP quoi faire si elle reçoit un paquet avec les mauvais indicateurs. Le résultat pratique de ce "trou de boucle" est que tout paquet ne contenant pas les bits SYN, RST ou ACK entraînera le retour d'un paquet RST si le port est fermé et aucune réponse si le port est ouvert. nmap peut utiliser cela à son avantage en envoyant des paquets mal formés et en attendant de voir s'il y a une réponse.

L'analyse NULL, qui est invoquée à l'aide de -sN, ne définit aucun bit dans l'en-tête du paquet. L'analyse FIN, -sF, définit le bit TCP FIN et l'analyse Xmas, -sX, définit les indicateurs FIN, PSH et URG. C'est ce qu'on appelle le scan de Noël car le paquet est maintenant tout illuminé comme un sapin de Noël !

Si l'hôte répond avec un paquet RST, le port est fermé, rien et le port est ouvert.

Conclusion

Comme nous pouvons le constater, nmap est un outil puissant et a été conçu aussi bien pour une analyse furtive que manifeste. Comme dernière expérience, essayez la commande suivante pour découvrir quels hôtes sont actifs sur votre réseau local sans réellement analyser les hôtes, mais plutôt en demandant simplement leurs adresses MAC :

sudo nmap -PR -vv 192.168.1.1/24

L'indicateur -PR amènera nmap à demander l'adresse MAC de l'hôte (en utilisant ARP) et marquera l'hôte comme vivant s'il obtient une réponse.

Articles connexes