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 pare-feu et d’adapter les règles en fonction des résultats.
Ici nous allons utiliser NMAP qui est un des logiciel les plus utilisé, open-source, et disponible sur Windows, Mac OS et Linux. En complément de nmap, on peut identifier les ports ouverts avec netstat
.
Nmap s’utilise en ligne de commande :
nmap -options ip_machine
Par défaut, nmap réalise un scan SYN
du protocole TCP. Mais si on scanne une machine protégé par un firewall, ce dernier peut bloquer ce genre de paquets ; si tel est le cas, nmap utilisera le scan via TCP connect
. On peut également vérifier les ports UDP.
Dans ce cas, la commande sera :
nmap -sS -sU ip_machine
Nmap nous retournera un résultat de ce genre :
# nmap -sS -sU 192.168.0.3
Starting Nmap 7.92 ( https://nmap.org ) at 2022-08-26 14:37 CEST
Nmap scan report for 192.168.0.3
Host is up (0.00043s latency).
Not shown: 997 closed udp ports (port-unreach), 992 closed tcp ports (reset)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
3001/tcp open nessus
3306/tcp open mysql
137/udp open netbios-ns
138/udp open|filtered netbios-dgm
5353/udp open zeroconf
MAC Address: 2C:27:D7:A2:73:44 (Hewlett Packard)
Nmap done: 1 IP address (1 host up) scanned in 1003.20 seconds
Sur le résultat, on voit les types de ports ouvert, le protocole utilisé et le statut.
On pourra ainsi modifier les paramètres de son pare-feu pour fermer les ports qui n’ont pas besoin de l’être.
L’ajout de l’option -sV
nous retournera le nom et la version du logiciel qui est utilisé sur la machine.
# nmap -sS -sU -sV 192.168.0.3
Starting Nmap 7.92 ( https://nmap.org ) at 2022-08-26 15:16 CEST
Nmap scan report for 192.168.0.3
Host is up (0.00041s latency).
Not shown: 997 closed udp ports (port-unreach), 992 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD 1.3.5b
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u7 (protocol 2.0)
80/tcp open http Apache httpd 2.4.25
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
443/tcp open ssl/http Apache httpd 2.4.25
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
3001/tcp open nessus?
3306/tcp open mysql MySQL 5.5.5-10.1.48-MariaDB-0+deb9u2
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
138/udp open|filtered netbios-dgm
5353/udp open mdns DNS-based service discovery
MAC Address: 2C:27:D7:A2:73:44 (Hewlett Packard)
Service Info: Host: SERVP; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1097.88 seconds
Autres options intéressant à utiliser : le timing. Les machines peuvent être paramétrer pour bloquer les scanns de ports. Pour cela, il y a une option -Tx
avec X
pouvant prendre des valeurs de 0 à 5. 0 très lent à 5 très agressif. Par défaut, nmap a un réglage à 3.
# nmap -sS -sU -sV -T0 192.168.0.3
IPV6
Nmap sait également scanner des adresse IPV6. il faut lui passer l’option -6
:
# nmap -6 fe80::226:18ff:fe5a:b4ed