Aide mémoire sur Nmap

Publié le

illustration de l'article

Lorsque l’on veut trouver les machines d’un réseau ou vérifier que les ports sont bien fermés, nmap est bien utile !

Trouver les hôtes sur un réseau

Pinger toutes les adresses de 192.168.1.0̀ à 192.168.1.255

nmap -sn 192.168.1.0/24

# stripped output 

Host is up (0.0080s latency).
Nmap scan report for 192.168.68.101
Host is up (0.0040s latency).
Nmap scan report for 192.168.68.102

-sn signifie ping Scan (il n’y a pas de vérification de tous les ports)

Nb: Pour trouver le réseau sur lequel vous êtes connecté, utilisez la commande ip addr (voir le mémo IP)

Trouver les ports ouverts

Scan rapide des ports courants

Listing des ports communément utilisés pour chaque hôte

nmap -F 192.168.1.0/24

# stripped output

Nmap scan report for 192.168.68.103
Host is up (0.0083s latency).
Not shown: 97 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap scan report for 192.168.68.104
Host is up (0.027s latency).
Not shown: 99 closed ports
PORT     STATE SERVICE
8009/tcp open  ajp13

Nmap restreint les ports scannés à ceux listés dans le fichier nmap-services (environ 2,200) qui enrichit la source originale IANA

Scan sur les ports spécifiés

Listing exhaustif de tous les ports possibles de chaque hôte.
Attention : très long…

nmap -p 1-65535 192.168.1.0/24

# stripped 

Completed Connect Scan at 10:11, 120.79s elapsed (196605 total ports)
Nmap scan report for lan.home (192.168.1.1)
Host is up (0.0046s latency).
Not shown: 65522 filtered ports
PORT      STATE  SERVICE
53/tcp    open   domain
80/tcp    open   http
113/tcp   closed ident
135/tcp   closed msrpc
137/tcp   closed netbios-ns
138/tcp   closed netbios-dgm
139/tcp   open   netbios-ssn
443/tcp   open   https
445/tcp   open   microsoft-ds
631/tcp   open   ipp
1990/tcp  open   stun-p1
8883/tcp  open   secure-mqtt
60000/tcp open   unknown

Nmap scan report for pc-2.home (192.168.1.10)
Host is up (0.020s latency).
All 65535 scanned ports on pc-2.home (192.168.1.10) are closed (65126) or filtered (409)

Il est possible de varier les paramètres de retry, timeout, etc avec l’option -T

nmap -p 1-65535 -T4 192.168.1.0/24

Voir les options -T0 à -T5

Trouver les OS et versions des services

Il est possible de détecter les ports, services, os et versions.
Utile lors de tests de pénétration par exemple (il suffit de regarder si des failles de sécurité existent pour la version trouvée)

sudo nmap -v -A -T4 192.168.1.0/24

# stripped 

Nmap scan report for 192.168.68.103
Host is up (0.0038s latency).
Not shown: 996 closed ports
PORT      STATE SERVICE    VERSION
22/tcp    open  ssh        Dropbear sshd 2015.67 (protocol 2.0)

map scan report for 192.168.68.104
Host is up (0.013s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE VERSION
8009/tcp open  http    Amazon Whisperplay DIAL REST service
 
  • -v : verbose
  • -A : permet la détection des OS et versions de logiciels utilisés
  • -T4 : pour une exécution plus rapide

Attention: commande à exécuter avec les privilèges root

Utiliser le Nmap Scripting Engine (NSE)

Nmap permet d’automatiser des tâches via des scripts personnalisés (ou ceux déjà fournis)

Lister les scripts disponibles

Aide sur toutes les catégories de scripts

 nmap --script-help '*'

Aide sur tous les scripts HTTP

 nmap --script-help 'http*'

Exécuter les scripts communs

nmap -sC 192.168.122.1
  • -sC ou --script=default

Audit d’authentification

 nmap -v --script "http-brute"  -T5 192.168.1.0/24

# stripped

Nmap scan report for 192.168.1.38
Host is up (0.0100s latency).
Not shown: 995 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
| http-brute:
|_  Path "/" does not require authentication
443/tcp   open  https
| http-brute:
|_  Path "/" does not require authentication
1900/tcp  open  upnp
30000/tcp open  ndmps

Sources

#nmap #outils

D'autres articles à lire