NMAP (Network Mapper) est un utilitaire réseau open source en ligne de commandes du monde Unix.
Il vous permet de faire un port scan, analyses de rĂ©seau, des audits de sĂ©curitĂ© de lâinfrastructure du rĂ©seau.
Zenmap est un GUI pour Nmap disponible pour Linux, Windows, Mac OS X, BSD, etc.
Source : https://www.malekal.com/comment-utiliser-nmap-windows-zenmap/
Voici une prĂ©sentation de lâinterface de Nmap pour Windows.
Celle-ci est relativement simple.
Comment faire un scan de ports TCP/UDP avec Nmap sur Windows :
- Ouvrez Nmap Zenmap
- Puis dans cible, saisissez soit lâadresse IP de lâhĂŽte Ă scanner, soit un masque de sous-rĂ©seau pour scanner entiĂšrement un rĂ©seau
Dans Profil, choisissez le type de scan. Par défaut, nmap est réglé sur Intense Scan.
- Cliquez sur le bouton Scan tout Ă droite
- Les hĂŽtes dĂ©tectĂ©s sâaffiche dans la liste de gauche et sur la page principale les rĂ©sultats du scan. Une icone indique le type dâappareil et OS (Windows, Linux, âŠ)
- La sortie Nmap sâaffiche sur la fenĂȘtre principale
Cliquez sur Services afin de lister les services détectés et accessibles
Si vous souhaitez obtenir une vue interactive des connexions entre les hĂŽtes du rĂ©seau LAN, cliquez sur lâonglet Topologie. Chaque anneau reprĂ©sente un saut de rĂ©seau supplĂ©mentaire Ă partir du nĆud central. Un clic sur un nĆud le fait apparaĂźtre au centre.
Lâonglet DĂ©tails de lâhĂŽte regroupe toutes les informations sur un seul hĂŽte dans un affichage hiĂ©rarchique. On y trouve le nombre de ports ouverts, les adressages rĂ©seaux (adresse IP, adresse Mac), le type de hĂŽte, le type dâOS, etc…
Nmap sur Linux
sudo apt install nmap #Pour les distributions basés sur Debian
Exemples de commandes nmap :
Voici la syntaxe par défaut de nmap :
nmap [Type de Scans] [Options] {Host cible}
Pour analyser une machine distante :
nmap 192.168.1.1 nmap www.host.tld
Ou encore pour scanner plusieurs hĂŽtes :
nmap 192.168.1.1 192.168.1.2 192.168.1.3
Pour scanner un réseau entier, on peut spécifier un masque de sous réseau :
nmap 192.168.1.0/24 nmap 192.168.1.*
Mais on peut aussi analyser un intervalle de machines comme ceci :
nmap 192.168.1.0-200
Pour afficher des détails, on ajoute les options -v ou -vv pour le mode bavard :
nmap -v 192.168.1.1 nmap -vv 192.168.1.1
Pour scanner des hĂŽtes depuis un fichier :
nmap -iL /tmp/listehote.txt
Pour exclure des hĂŽtes dâune analyse :
nmap 192.168.1.0/24 --exclude 192.168.1.1 nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5 nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3
Ou encore exclure des hĂŽtes depuis un fichier :
nmap 192.168.1.0/24 --excludefile exclusion.txt
Scanner tous les ports TCP :
nmap -sT 192.168.1.1
Scanner tous les ports UDP :
nmap -sU 192.168.1.1
Scanner un port TCP en particulier :
nmap -p T:80 192.168.1.1
Scanner un port UDP en particulier :
nmap -p U:53 192.168.1.1
Pour scanner un intervalle de ports :
nmap -p T:1-1024 192.168.1.1
Pour combiner plusieurs scans de ports réseaux spécifiques :
nmap -p U:53,9,113,T:21-25,80,443,8080 192.168.1.1
Le scan rapide rechercher les ports répertoriés dans les fichiers nmap-services, cela permet de recenser les principaux services réseaux.
Pour cela, on utilise lâoption -F de Nmap :
nmap -F 192.168.1.1
Nous pouvons trouver les versions du service qui sâexĂ©cutent sur des hĂŽtes distants avec lâoption -sV :
nmap -sV 192.168.1.1
Analyser les informations du systĂšme dâexploitation et Traceroute
Nmap est aussi capable de dĂ©tecter le systĂšme dâexploitation et la version en cours dâexĂ©cution sur lâhĂŽte distant.
Pour activer la dĂ©tection du systĂšme dâexploitation et de la version, lâanalyse des scripts et le traceroute, nous pouvons utiliser lâoption -A :
Nmap effectue un TCP/IP fingerprint et affiche le traceroute.
Si vous dĂ©sirez nâavoir que la dĂ©tection de lâOS, il faut utiliser lâoption -O :
nmap -O 192.168.1.1
DĂ©sactiver la dĂ©couverte dâhĂŽte (pas de ping) ou rĂ©solution DNS
Ne pas envoyer de requĂȘte ping Ă lâhĂŽte avant la numĂ©risation avec lâoption -Pn :
nmap -Pn 192.168.1.1
Pour dĂ©sactiver la rĂ©solution DNS, utilisez lâoption -n :
nmap -n 192.168.1.1
Effectuer des scans pour tromper un pare-feu
TCP Null Scan â Ne dĂ©finissez aucun bit (lâen-tĂȘte de lâindicateur TCP est 0).
nmap -sN 192.168.1.1
TCP Fin Scan â DĂ©finissez uniquement le bit TCP FIN.
nmap -sF 192.168.1.1
TCP Xmas Scan â DĂ©finissez les drapeaux FIN, PSH et URG (allumant le paquet comme un arbre de NoĂ«l).
nmap -sX 192.168.1.1
Changer le type de scan
Lâoption -P permet de changer le type de scan :
- -Pn: Traitez tous les hĂŽtes comme en ligne â ignorez la dĂ©couverte des hĂŽtes
- -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP découverte vers des ports donnés
- -PE / PP / PM: sondes de dĂ©couverte dâĂ©cho, dâhorodatage et de demande de masque de rĂ©seau ICMP
- -PO [liste de protocoles]: Ping de protocole IP
Analyser les hĂŽtes distants Ă lâaide de TCP ACK (PA) et TCP Syn (PS) :
nmap -PS 192.168.1.1
Analyser lâhĂŽte distant pour des ports spĂ©cifiques avec TCP ACK :
nmap -PA -p 22,80 192.168.1.1
Analyser lâhĂŽte distant pour des ports spĂ©cifiques avec TCP Syn :
nmap -PS -p 22,80 192.168.1.1
Effectuer une analyse furtive (TCP SYN Scan) :
nmap -sS 192.168.0.101
Scanner de vulnérabilités Nmap
Il existe un script prĂ©dĂ©fini prĂ©sent dans la commande dans Nmap qui permet aux utilisateurs dâexĂ©cuter un scan de vulnĂ©rabilitĂ©s. Cela est donc trĂšs pratique pour sâassurer que votre systĂšme est Ă jour et non vulnĂ©rable.
On peut utiliser ces scripts prédéfinis ou posséder leur langage de programmation Lua pour dériver une fonctionnalité spécifique qui peut aider à la détection CVE.
Pour cela, on utilise lâoption -script vuln :
nmap -Pn âscript vuln 192.168.1.1
Vous pouvez simplement utiliser le vérificateur de logiciels malveillants Google SafeBrowsing par la commande:
nmap -p80 âscript http-google-malware www.site-web.com
Lancer une attaque bruteforce
Vous pouvez Ă©galement utiliser Nmap pour lancer une attaque par bruteforce.
LĂ aussi, on utilise lâoption -script pour spĂ©cifier le type dâattaque.
nmap -sV âscript http-wordpress-brute âscript-args âuserdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=domain.com, http-wordpress-brute.threads=3,brute.firstonly=trueâ 192.168.1.1
Brute force attack against MS-SQL:
nmap -p 1433 âscript ms-sql-brute âscript-args userdb=customuser.txt,passdb=custompass.txt 192.168.1.105
Brute force attack against FTP:
nmap âscript ftp-brute -p 21 192.168.1.105
Enregistrer le résultat du scan dans un fichier
Lâoption -oN permet dâenregistrer le rĂ©sultat du portscan dans un fichier au format texte :
nmap -oN output.txt 192.168.1.1
Pour enregistrer le résultat du scan de port dans un fichier au format XML :
nmap -oX output.xml 192.168.1.1
Liste des options Nmap
Options | Commandes |
âexclude | Exclure des hĂŽtes du scan |
-n | Désactiver la résolution DNS |
âopen | Afficher que les ports ouverts |
-oN | Enregistrer le résultat du scan dans un fichier au formate texte |
-oX | Enregistrer le résultat du scan dans un fichier au formate XML |
-p | Spécifier les ports réseaux à scanner |
-Pn | DĂ©sactiver la dĂ©couverte dâhĂŽte |
-r | Analyser les ports consécutivement |
-sT | Faire un scan de port TCP |
-sU | Faire un scan de port UDP |
-sV | Trouver les versions du service |
-script | Utilise un script interne à nmap pour scan de vulnérabilité, bruteforce, etc |
-v -vv | Mode bavard |