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