20 avril 2024

Utilisation de Nmap et outil de detection des scans de ports

Cet article décrit le fonctionnement principal de la commande nmap sous linux et les solutions existantes permettant la détection de ce genre d’action.

 

Avant de commencer, je tiens à rappeler qu’un balayage de ports effectué sur un système tiers est considéré comme une tentative d’intrusion et est donc considéré comme illégal.

En revanche, vous pouvez parfaitement scanner votre propre réseau, afin de verifier si ce dernier est sécurisé.

1. Installation de Nmap

Pour installer Nmap sur une distribution à base de Debian, ouvrez un terminal et lancez la commande suivante :

sudo apt-get install nmap

Ou celle-ci pour une distribution à base de RPM :

sudo yum install nmap

2. Utilisation principal de nmap

Voir tous les ports TCP ouverts sur une machine, utilisation de messages SYN, donc pas de log sur la machine cible :

nmap -sS 127.0.0.1

La même chose mais avec l’option -F (fast scan) et -n (sans résolution DNS) :

nmap -F -n -sS 127.0.0.1

Voir tous les ports UDP ouverts sur une machine :

nmap -sU 127.0.0.1

Voir si une machine est sur le réseau (scan Ping) :

nmap -sP 127.0.0.1

Scanner une plage d’adresses. Ici toutes les adresses de 192.168.0 à 192.168.255 :

nmap 192.168.0-255

Connaitre le système d’exploitation de la machine (TCP/IP fingerprint) :

nmap -O 127.0.0.1

Si nmap n’arrive pas à determiner la version, on pourra lui demander de nous donner une liste des systèmes qui pourraient potentiellement correspondre :

nmap -O –osscan-guess 127.0.0.1

Scanner un port précis. Ici, c’est le port http :

nmap -p 80 127.0.0.1

Scanner une plage de ports. Ici on scan du port 0 au 80 et tous ceux supérieurs à 60000 ) :

nmap -p 0-80,60000 127.0.0.1

Scanner des serveurs web au hasard sur le réseau :

nmap -v -sS -iR 0 -p 80

Désactiver la résolution DNS inverse des hôtes, augmente la rapidité :

nmap -n 127.0.0.1

Scan par rebon ftp, permet de demander à un serveur FTP de scanner les ports à votre place (envoie des fichiers pour tester les ports ouverts). Cette fonctionnalité est souvent désactivée des serveurs FTP afin d’éviter les abus. Ici on passe par le serveur ftp qui a pour adresse 127.0.0.1 pour scanner une plage d’adresses ip :

nmap -b 127.0.0.1 192.168.0,.0-255

Usurper l’adresse ip source. Ici on scan 127.0.0.1, par l’interface réseau eth0, en se faisant passer pour 10.0.0.0 depuis le port 80 :

nmap -S 10.0.0.0 -g 80 -e eth0 -P0 127.0.0.1

Usurper l’adresse MAC :

nmap –spoof-mac 01:02:03:04:05:06 127.0.0.1
nmap –spoof-mac Cisco 127.0.0.1

Choisir un fichier de sortie pour y ecrire les résultats du scan :

nmap -oN resultat 127.0.0.1
nmap -oX resultat.xml 127.0.0.1

Trace les paquets et les données envoyés et reçus. Pratique pour verifier qu’une usurpation fonctionne :

nmap –packet-trace -S 10.0.0.0 -eth0 127.0.0.1

3. Solution

Enpêcher le balayage des ports d’une machine reste assez difficile en soi. En effet, même en rajoutant des règles à iptables, les techniques de scan étant tellement diverses, cela ne sera ne fonctionnera pas à 100%.

En revanche, on peut très bien utiliser des outils spécialisés dans la détection de ces derniers commescnalogd par exemple.

Pour s’en servir, nous allons devoir récupérer les sources sur le site officel et lancer les commandes suivantes :

cd /usr/local/src/
tar zxvf scanlogd-*.tar.gz
rm -f scanlogd-*.tar.gz
cd scanlogd-*/
make linux
adduser scanlogd

On pourra ensuite le lancer manuellement, via la commande scanlogd. Toutes les tentatives de scan sur la machine seront alors visibles dans le fichier /var/log/messages :

# tailf /var/log/messages | grep scanlogd
Dec 3 17:54:43 localhost scanlogd: 192.168.0.188 to 192.168.0.175 ports 80, 554, 256, 21, 22, 23, …, TOS 00, TTL 64 @18:54:43

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

La modération des commentaires est activée. Votre commentaire peut prendre un certain temps avant d’apparaître.

Quitter la version mobile