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 comme scnalogd 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
17 Commentaires pour "Utilisation de Nmap et outil de detection des scans de ports"
Flux des commentaires de cet article Ajouter un commentaireTrès bon article.
Juste un lien vers mon blog pour le compléter (en anglais, désolé) :
http://www.phocean.net
Ça parle de SinFP qui est une alternative pour détecter l'OS quand Nmap échoue.
Salut,
merci pour cet article très intéressant.
Très bon tutoriel merci et comme ça on peut se protéger un peu mieux.
Bonjour,
c'est très bien fait ça m'a bcp aidé, merci
ça serai mieux d'ajouter l'installation de nmap!!
@Maha : c'est ajouté.
c cool et pratique merci du fond du cœur...........
merci pour ce tuto. mais quel est la commande pour scanner un site web et voir les ports ouverts et fermés. merci !!!!
@best.hacker7 : sudo reboot
Cool ! assez claire et compréhensif !
Salut, je cherchais bcp un tutoriel aussi clair que celui-ci et voilà.... félicitation, prend courage.
salut a tous svp j voudrais savoir comment installer nmap sous windows si possible. merci
Salut, Peut-on installer nmap sur Mac ? si oui comment ?
Merci pour cette article ça vient de m'aider enormement.
Merci pour ce tuto aussi claire et compréhensible.
Ca pourra m'aider aussi.
C'est un article intéressant. Je peux maintenant scanner mes ports comme bon me semble avec nmap
Il y a-t-il d'autres solutions en ligne sans utiliser Nmap ?
merci pour cet article intéressant