Scaner les ports ouverts avec Nmap

nmap scaner les ports ouverts

Scanner une machine, et surtout un serveur, permet de vérifier la sécurité de base de la machine en identifiant les ports ouverts. Donc susceptibles d’être attaqués.
le scan permet également de tester le bon fonctionnement du firewall et d’adapter les règle en fonction des résultats.

Il existe quantité de logiciels de scan de ports et pléthore de méthodes de scan pour identifier les ports et les failles.
Ici nous allons utiliser NMAP qui est un des logiciel les plus répandu, open source, et surtout disponible sur Windows, Mac OS et Linux. C’est quand même plus pratique si on jongle entre plusieurs OS.
En complément de Nmap vous pouvez identifier les ports ouverts avec Netstat.

Dans ce tuto NAMP nous allons voir les différentes techniques de scan de port.
Sans trop rentrer dans les détails, voici les options de base pour faire un scan assez efficace depuis une machine sous Debian.

nmap -options ip_du_serveur

On peut également taper directement nmap ip_du_serveur sans options.
Nmap réalisera par défaut un scan SYN du protocole TCP.

Par défaut c’est bien mais il y a quelques manques.
Si on scanne une machine protégée par un firewall, ce dernier peut bloquer les paquets SYN.
Nmap utilisera alors le scan par TCP connect().
Autre point, avec cette commande, Nmap ne scannera  qui le protocole TCP et pas le protocole UDP. Et sur ce dernier aussi il y a peut-être des ports à fermer.

Donc, on va demander explicitement à Nmap de faire un scan TCP SYN + un scan UDP.
Ce qui donne :

nmap -sS -sU ip_du_serveur

Nmap retournera un résultat de ce genre :

# nmap -sS -sU 192.168.1.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2014-01-02 10:43 CET
Interesting ports on votre_serveur (192.168.1.101):
Not shown: 3108 closed ports
PORT      STATE         SERVICE
21/tcp    open          ftp
25/tcp    open          smtp
53/tcp    open          domain
80/tcp    open          http
53/udp    open          domain
53/udp    open          domain
67/udp    open|filtered dhcps
68/udp    open|filtered dhcpc
88/udp    open|filtered kerberos-sec
123/udp   open|filtered ntp
137/udp   open|filtered netbios-ns
MAC Address: adrese_mac_du_serveur (Microsoft)

Nmap finished: 1 IP address (1 host up) scanned in 175.176 seconds

On voit donc ici qu’en TCP les ports ftp, smtp, http, etc… qui sont ouverts. Et qu’en UDP on a domain, dhcp, ntp, etc…

A partir de là, on peut ajuster son firwall en conséquence.
Si par exemple, ce serveur n’est pas un serveur web, on peut désactiver le service http et aussi fermer le port correspondant.

Une autre option peut donner des informations intéressantes à quelqu’un qui voudrait s’en prendre à ce serveur. C’est l’option -sV.
En ajoutant cette option aux deux précédentes Nmap retournera la version du logiciel qui écoute sur un port donné.

nmap -sS -sU -sV 192.168.1.101

Nmap retournera (extrait) :

PORT      STATE SERVICE       VERSION
21/tcp    open  ftp           FileZilla ftpd 0.9.37 beta
25/tcp    open  smtp
53/tcp    open  domain?
80/tcp    open  http          Microsoft IIS webserver 7.0
88/tcp    open  kerberos-sec  Microsoft Windows kerberos-sec
110/tcp   open  pop3
135/tcp   open  msrpc         Microsoft Windows RPC

La par exemple, si on imagine qu’il y a une faille de sécurité sur Filezilla 0.9.37 beta… Il n’y a plus qu’à se servir 🙂

Autre option que l’on peut ajouter, c’est le réglage du timing.

Si on scanne un serveur distant et qu’on ne peut pas maitriser le firewall d’en face, comme par exemple tester son propre serveur hébergé chez OVH, il est bon d’indiquer à Nmap de ne pas y aller « comme un sauvage » histoire de ne pas se faire remarquer.
On ajoute donc l’option -Tx à notre commande.
« X » pourra prendre 6 valeurs, de 0 à 5. Sachant que 0 sera le plus lent et 5 le plus agressif. Par défaut nmap est réglé à 3.
Exemple :

nmap -sS -sU -sV -T3 192.168.1.101

Quels sont les protocoles disponibles avec Nmap ?

C’est peut-être par là qu’il faut commencer en fait 🙂

Nmap permet de savoir quels sont les protocoles disponibles sur la machine d’en face. Ca permet de se faire une idée tout de suite.
Pour cela on passe l’option -sO.

nmap -sO 192.168.1.101

Nmap retournera :

# nmap -sO 192.168.1.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2014-01-02 10:59 CET
Interesting protocols on votre_serveur (192.168.1.101):
Not shown: 243 closed protocols
PROTOCOL STATE         SERVICE
1        open          icmp
2        open|filtered igmp
4        open|filtered ip
6        open          tcp
17       open          udp
145      open|filtered unknown
MAC Address: mac (Microsoft)

Nmap finished: 1 IP address (1 host up) scanned in 30.881 seconds

Scanner avec Nmap en IPV6 ?

Nmap sait également scanner des IP v6. Il suffit de passer l’option -6.
Par contre attention pour scanner en ipv6, il faut que ce dernier soit activé sur votre machine « source ».

nmap -6 3ffe:7501:4819:2000:210:f3ff:fe03:14d0

Vous avez aimé cet article ? Réagissez !

Votre email ne sera pas publié. Les champs requis sont marqués d'une astérisque *