Nmap est l'abréviation de Network Mapper. Il s'agit d'un outil de sécurité open-source pour l'exploration du réseau, le scan de sécurité et l'audit. Cependant, la commande Nmap comporte de nombreuses options qui peuvent rendre l'utilitaire plus robuste et difficile à suivre pour les nouveaux utilisateurs. L'objectif de ce guide est de présenter à un utilisateur l'outil de ligne de commande Nmap pour scanner un hôte ou un réseau afin de découvrir les éventuels points vulnérables des hôtes. Vous apprendrez également comment utiliser Nmap à des fins offensives et défensives. Voyons quelques exemples courants et pratiques exemples de nmap fonctionnant sur des systèmes Linux ou de type Unix.
Qu'est-ce que le Nmap et à quoi sert-il ?
nmap en action
Nmap ("Network Mapper") est un outil open source pour l'exploration des réseaux et l'audit de sécurité. Il a été conçu pour scanner rapidement de grands réseaux, bien qu'il fonctionne bien contre des hôtes uniques. Nmap utilise les paquets IP bruts de manière originale pour déterminer quels hôtes sont disponibles sur le réseau, quels services (nom et version de l'application) ces hôtes offrent, quels systèmes d'exploitation (et versions d'OS) ils utilisent, quels types de filtres de paquets/pare-feu sont utilisés, et des dizaines d'autres caractéristiques. Bien que Nmap soit couramment utilisé pour les audits de sécurité, de nombreux administrateurs de systèmes et de réseaux le trouvent utile pour des tâches de routine telles que l'inventaire du réseau, la gestion des programmes de mise à jour des services et la surveillance de la disponibilité des hôtes ou des services.
Il a été écrit à l'origine par Gordon Lyon et il peut répondre facilement aux questions suivantes :
- Trouver les ordinateurs en fonctionnement sur le réseau local
- Quelles adresses IP avez-vous trouvé sur le réseau local ?
- Découvrez le système d'exploitation de votre machine cible
- Découvrez quels ports sont ouverts sur la machine que vous venez de scanner ?
- Vérifiez si le système est infecté par un logiciel malveillant ou un virus.
- Recherchez les serveurs ou les services réseau non autorisés sur votre réseau.
- Localisez et supprimez les ordinateurs qui ne répondent pas au niveau minimal de sécurité de l'organisation.
Exemples de commandes Nmap en Linux et Unix - Exemple de configuration (LAB) pour
Le balayage de port peut être illégal dans certaines juridictions. Configurez donc un laboratoire comme suit pour exécuter des exemples de nmap à des fins d'apprentissage :
+---------+ +---------+ | Network | +--------+ | server1 |-----------+ swtich +---------|server2 | +---------+ | (sw0) | +--------+ +----+----+ | | +---------+----------------+ | wks01 Linux/macOS/Win | +--------------------------+
Où,
- wks01 est votre ordinateur exécutant Linux/macOS (OS X) ou un système d'exploitation de type Unix. Il est utilisé pour scanner votre réseau local. La commande nmap doit être installée sur cet ordinateur et vous allez taper tous les exemples nmap rencontrés ici.
- server1 peut être alimenté par les systèmes d'exploitation Linux / Unix / MS-Windows. Il s'agit d'un serveur non corrigé. N'hésitez pas à installer quelques services tels qu'un serveur web, un serveur FTP ou de fichiers, etc.
- server2 peut être alimenté par les systèmes d'exploitation Linux / Unix / MS-Windows. Il s'agit d'un serveur entièrement patché avec un pare-feu. Là encore, n'hésitez pas à installer quelques services tels qu'un serveur web, un serveur de fichiers, etc.
- Les trois systèmes sont reliés par un commutateur de réseau.
Mettons les mains dans le cambouis avec les exemples de nmap. Veuillez noter que de nombreux exemples doivent être exécutés par l'utilisateur root.
Comment installer nmap sous Linux ?
Veuillez consulter le tutoriel suivant pour compléter les exemples nmap mentionnés ci-dessous :
- Debian / Ubuntu Linux : Installer le logiciel nmap pour scanner le réseau
- CentOS / RHEL : Installer le scanner de sécurité réseau nmap
- OpenBSD : Installer le scanner de sécurité réseau nmap
1. Analyser un seul hôte ou une adresse IP (IPv4) en utilisant nmap
L'exemple le plus simple de nmap est de scanner une seule machine. Par exemple :
### Scan a single ip address ### nmap 192.168.1.1 ## Scan a host name ### nmap server1.cyberciti.biz ## Scan a host name with more info### nmap -v server1.cyberciti.biz
Fig.01 : sortie nmap
2. Scanner plusieurs adresses IP ou sous-réseaux (IPv4)
Dans cet exemple nmap, nous allons scanner plusieurs adresses IP ou CIDR. Par exemple :
# Nmap scan network example # nmap 192.168.1.1 192.168.1.2 192.168.1.3 ## works with same subnet i.e. 192.168.1.0/24 nmap 192.168.1.1,2,3
Vous pouvez également analyser une série d'adresses IP :
nmap 192.168.1.1-20
Vous pouvez analyser une gamme d'adresses IP en utilisant un caractère générique :
nmap 192.168.1.*
Enfin, vous scannez un sous-réseau entier :
nmap 192.168.1.0/24
3. Lire la liste des hôtes/réseaux à partir d'un fichier (IPv4)
Le site -iL L'option permet de lire la liste des systèmes cibles à l'aide d'un fichier texte. Cette option est utile pour analyser un grand nombre d'hôtes/réseaux. Par exemple, créez un fichier texte comme suit à l'aide de la commande cat :
cat > /tmp/test.txt
Ajoutez les noms d'hôtes, les CIDR ou les noms d'adresses IP comme suit :
server1.cyberciti.biz 192.168.1.0/24 192.168.1.1/24 10.1.2.3 localhost
nmap -iL /tmp/test.txt
L'exemple nmap ci-dessus va scanner server1.hebergementwebgratuit.com, et les CIDRs donnés et le scan peut prendre un certain temps.
4. Exclusion d'hôtes/réseaux (IPv4) des exemples de scan nmap
Lorsque vous analysez un grand nombre d'hôtes/réseaux, vous pouvez exclure des hôtes de l'analyse. Par exemple :
nmap 192.168.1.0/24 --exclude 192.168.1.5 nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254
OU liste d'exclusion à partir d'un fichier appelé /tmp/exclude.txt
nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt
5. Activer le script d'analyse de détection de système d'exploitation et de version (IPv4) avec des exemples nmap
Exécutez la commande suivante
nmap -A 192.168.1.254 nmap -v -A 192.168.1.1 nmap -A -iL /tmp/scanlist.txt
6. Déterminer si un hôte/réseau est protégé par un pare-feu à l'aide de la commande namp.
## nmap command examples for your host ## nmap -sA 192.168.1.254 nmap -sA server1.cyberciti.biz
7. Scanner un hôte lorsqu'il est protégé par le pare-feu
Dans cet exemple de commande Nmap, nous allons scanner un routeur/appareil wifi ayant 192.168.1.1 comme IP :
nmap -PN 192.168.1.1 nmap -PN server1.cyberciti.biz
8. Scanner un hôte/adresse IPv6 exemples
Le site -6 activer l'analyse IPv6 avec la commande namp. La syntaxe est la suivante :
nmap -6 IPv6-Address-Here nmap -6 server1.cyberciti.biz nmap -6 2607:f0d0:1002:51::4 nmap -v A -6 2607:f0d0:1002:51::4
9. Analyser un réseau et découvrir les serveurs et les appareils qui fonctionnent.
Ceci est connu sous le nom de découverte d'hôte ou de scan ping. Essayez les exemples nmap suivants :
nmap -sP 192.168.1.0/24
Voici à quoi cela ressemble :
Host 192.168.1.1 is up (0.00035s latency). MAC Address: BC:AE:C5:C3:16:93 (Unknown) Host 192.168.1.2 is up (0.0038s latency). MAC Address: 74:44:01:40:57:FB (Unknown) Host 192.168.1.5 is up. Host nas03 (192.168.1.12) is up (0.0091s latency). MAC Address: 00:11:32:11:15:FC (Synology Incorporated) Nmap done: 256 IP addresses (4 hosts up) scanned in 2.80 second
10. Comment puis-je effectuer un scan rapide en utilisant le namp ?
Ouvrez l'application terminal et exécutez les exemples nmap suivants :
nmap -F 192.168.1.1 nmap -6 -F IPv6_Address_Here
11. Afficher la raison pour laquelle un port est dans un état particulier
nmap --reason 192.168.1.1 nmap --reason server1.cyberciti.biz
Sorties :
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-07 21:16 IST Nmap scan report for router (192.168.2.254) Host is up, received arp-response (0.00026s latency). Not shown: 995 filtered ports Reason: 995 no-responses PORT STATE SERVICE REASON 22/tcp open ssh syn-ack ttl 64 53/tcp open domain syn-ack ttl 64 80/tcp open http syn-ack ttl 64 443/tcp open https syn-ack ttl 64 666/tcp open doom syn-ack ttl 64 MAC Address: 00:08:A2:0D:05:41 (ADI Engineering) Nmap done: 1 IP address (1 host up) scanned in 4.85 seconds
12. Afficher uniquement les ports ouverts (ou possiblement ouverts) en utilisant la commande nmap sous Linux
Cours :
nmap --open 192.168.1.1 nmap --open server1.cyberciti.biz nmap --open 192.168.2.18
Sorties du scan de mon serveur CentOS 7 Linux :
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-07 21:17 IST Nmap scan report for centos7 (192.168.2.18) Host is up (0.00015s latency). Not shown: 998 filtered ports, 1 closed port Some closed ports may be reported as filtered due to --defeat-rst-ratelimit PORT STATE SERVICE 22/tcp open ssh MAC Address: 00:01:C0:1B:28:7E (CompuLab) Nmap done: 1 IP address (1 host up) scanned in 5.07 seconds
13. Montrer tous les paquets envoyés et reçus
nmap --packet-trace 192.168.1.1 nmap --packet-trace server1.cyberciti.biz
14. Montrer les interfaces d'hôtes et les routes exemples de namp
Ceci est utile pour le débogage (commande ip ou commande route ou commande netstat comme la sortie de la commande nmap sous Linux).
nmap --iflist
Rapport détaillé créé par la commande Namp :
Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 02:01 IST ************************INTERFACES************************ DEV (SHORT) IP/MASK TYPE UP MAC lo (lo) 127.0.0.1/8 loopback up eth0 (eth0) 192.168.1.5/24 ethernet up B8:AC:6F:65:31:E5 vmnet1 (vmnet1) 192.168.121.1/24 ethernet up 00:50:56:C0:00:01 vmnet8 (vmnet8) 192.168.179.1/24 ethernet up 00:50:56:C0:00:08 ppp0 (ppp0) 10.1.19.69/32 point2point up **************************ROUTES************************** DST/MASK DEV GATEWAY 10.0.31.178/32 ppp0 209.133.67.35/32 eth0 192.168.1.2 192.168.1.0/0 eth0 192.168.121.0/0 vmnet1 192.168.179.0/0 vmnet8 169.254.0.0/0 eth0 10.0.0.0/0 ppp0 0.0.0.0/0 eth0 192.168.1.2
15. Comment puis-je analyser des ports spécifiques en utilisant nmap ?
Dans cet exemple, je vais utiliser nmap pour analyser les ports TCP ou UDP. Vous pouvez trouver une liste de tous les services et ports dans le fichier /etc/services fichier. Par exemple :
$ more /etc/services
Maintenant, essayez les exemples suivants pour vérifier le port TCP 80 et les autres :
nmap -p [port] hostName ## Scan port 80 nmap -p 80 192.168.1.1 ## Scan TCP port 80 nmap -p T:80 192.168.1.1 ## Scan UDP port 53 nmap -p U:53 192.168.1.1 ## Scan two ports ## nmap -p 80,443 192.168.1.1 ## Scan port ranges ## nmap -p 80-200 192.168.1.1 ## Combine all options ## nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1 nmap -p U:53,111,137,T:21-25,80,139,8080 server1.cyberciti.biz nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.1.254 ## Scan all ports with * wildcard ## nmap -p "*" 192.168.1.1 ## Scan top ports i.e. scan $number most common ports ## nmap --top-ports 5 192.168.1.1 nmap --top-ports 10 192.168.1.1
Exemples de résultats :
Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:23 IST Interesting ports on 192.168.1.1: PORT STATE SERVICE 21/tcp closed ftp 22/tcp open ssh 23/tcp closed telnet 25/tcp closed smtp 80/tcp open http 110/tcp closed pop3 139/tcp closed netbios-ssn 443/tcp closed https 445/tcp closed microsoft-ds 3389/tcp closed ms-term-serv MAC Address: BC:AE:C5:C3:16:93 (Unknown) Nmap done: 1 IP address (1 host up) scanned in 0.51 seconds
16 : La façon la plus rapide de scanner tous vos appareils/ordinateurs pour les ports ouverts.
Voici un exemple de nmap qui analyse tous vos appareils sur le réseau. Par exemple :
nmap -T5 192.168.1.0/24 nmap -T5 {sub/net} nmap -T5 CIDR
17. Comment détecter un système d'exploitation distant à l'aide de nmap ?
Vous pouvez identifier les applications et le système d'exploitation d'un hôte distant en utilisant l'option -O. Essayez les exemples de namp suivants :
nmap -O 192.168.1.1 nmap -O --osscan-guess 192.168.1.1 nmap -v -O --osscan-guess 192.168.1.1
Exemples de résultats :
Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:29 IST NSE: Loaded 0 scripts for scanning. Initiating ARP Ping Scan at 01:29 Scanning 192.168.1.1 [1 port] Completed ARP Ping Scan at 01:29, 0.01s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 01:29 Completed Parallel DNS resolution of 1 host. at 01:29, 0.22s elapsed Initiating SYN Stealth Scan at 01:29 Scanning 192.168.1.1 [1000 ports] Discovered open port 80/tcp on 192.168.1.1 Discovered open port 22/tcp on 192.168.1.1 Completed SYN Stealth Scan at 01:29, 0.16s elapsed (1000 total ports) Initiating OS detection (try #1) against 192.168.1.1 Retrying OS detection (try #2) against 192.168.1.1 Retrying OS detection (try #3) against 192.168.1.1 Retrying OS detection (try #4) against 192.168.1.1 Retrying OS detection (try #5) against 192.168.1.1 Host 192.168.1.1 is up (0.00049s latency). Interesting ports on 192.168.1.1: Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http MAC Address: BC:AE:C5:C3:16:93 (Unknown) Device type: WAP|general purpose|router|printer|broadband router Running (JUST GUESSING) : Linksys Linux 2.4.X (95%), Linux 2.4.X|2.6.X (94%), MikroTik RouterOS 3.X (92%), Lexmark embedded (90%), Enterasys embedded (89%), D-Link Linux 2.4.X (89%), Netgear Linux 2.4.X (89%) Aggressive OS guesses: OpenWrt White Russian 0.9 (Linux 2.4.30) (95%), OpenWrt 0.9 - 7.09 (Linux 2.4.30 - 2.4.34) (94%), OpenWrt Kamikaze 7.09 (Linux 2.6.22) (94%), Linux 2.4.21 - 2.4.31 (likely embedded) (92%), Linux 2.6.15 - 2.6.23 (embedded) (92%), Linux 2.6.15 - 2.6.24 (92%), MikroTik RouterOS 3.0beta5 (92%), MikroTik RouterOS 3.17 (92%), Linux 2.6.24 (91%), Linux 2.6.22 (90%) No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ). TCP/IP fingerprint: OS:SCAN(V=5.00%D=11/27%OT=22%CT=1%CU=30609%PV=Y%DS=1%G=Y%M=BCAEC5%TM=50B3CA OS:4B%P=x86_64-unknown-linux-gnu)SEQ(SP=C8%GCD=1%ISR=CB%TI=Z%CI=Z%II=I%TS=7 OS:)OPS(O1=M2300ST11NW2%O2=M2300ST11NW2%O3=M2300NNT11NW2%O4=M2300ST11NW2%O5 OS:=M2300ST11NW2%O6=M2300ST11)WIN(W1=45E8%W2=45E8%W3=45E8%W4=45E8%W5=45E8%W OS:6=45E8)ECN(R=Y%DF=Y%T=40%W=4600%O=M2300NNSNW2%CC=N%Q=)T1(R=Y%DF=Y%T=40%S OS:=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%R OS:D=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W= OS:0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID OS:=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S) Uptime guess: 12.990 days (since Wed Nov 14 01:44:40 2012) Network Distance: 1 hop TCP Sequence Prediction: Difficulty=200 (Good luck!) IP ID Sequence Generation: All zeros Read data files from: /usr/share/nmap OS detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 12.38 seconds Raw packets sent: 1126 (53.832KB) | Rcvd: 1066 (46.100KB)
Pour plus d'informations, reportez-vous à la section Empreintes digitales d'un serveur web et d'un serveur DNS - Outils en ligne de commande.
18. Comment puis-je détecter les numéros de version des services distants (serveur / démon) ?
Ouvrez le terminal et tapez la commande nmap suivante :
nmap -sV 192.168.1.1
Exemples de résultats :
Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:34 IST Interesting ports on 192.168.1.1: Not shown: 998 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh Dropbear sshd 0.52 (protocol 2.0) 80/tcp open http? 1 service unrecognized despite returning data.
19. Analyser un hôte en utilisant le ping TCP ACK (PA) et TCP Syn (PS)
Si le pare-feu bloque les pings ICMP standard, essayez les méthodes de découverte d'hôte suivantes :
nmap -PS 192.168.1.1 nmap -PS 80,21,443 192.168.1.1 nmap -PA 192.168.1.1 nmap -PA 80,21,200-512 192.168.1.1
20. Analyser un hôte en utilisant le protocole IP ping
Les commandes nmap sont les suivantes :
sudo nmap -PO 192.168.1.1 sudo nmap -PO 192.168.2.254
Exemple de session :
Starting Nmap 7.80 ( https://nmap.org ) at 2022-08-01 06:59 IST Stats: 0:00:01 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan SYN Stealth Scan Timing: About 0.65% done Nmap scan report for router (192.168.2.254) Host is up (0.00034s latency). Not shown: 996 filtered ports PORT STATE SERVICE 22/tcp open ssh 53/tcp open domain 80/tcp open http 443/tcp open https MAC Address: 00:08:A2:0D:05:41 (ADI Engineering) Nmap done: 1 IP address (1 host up) scanned in 4.85 seconds
21. Analyser un hôte en utilisant le ping UDP
Les exemples d'analyse nmap suivants contournent les pare-feu et les filtres qui ne filtrent que le TCP. Essayez-le :
nmap -PU 192.168.1.1 nmap -PU 2000.2001 192.168.1.1
22. Découvrez les ports TCP les plus utilisés en utilisant les exemples de TCP SYN Nmap Scan.
Par exemple :
### Stealthy scan ### nmap -sS 192.168.1.1 ### Find out the most commonly used TCP ports using TCP connect scan (warning: no stealth scan) ### OS Fingerprinting ### nmap -sT 192.168.1.1 ### Find out the most commonly used TCP ports using TCP ACK scan nmap -sA 192.168.1.1 ### Find out the most commonly used TCP ports using TCP Window scan nmap -sW 192.168.1.1 ### Find out the most commonly used TCP ports using TCP Maimon scan nmap -sM 192.168.1.1
23. Analyser un hôte pour les services UDP (UDP scan) exemples
La plupart des services populaires sur Internet fonctionnent avec le protocole TCP. DNS, SNMP et DHCP sont trois des services UDP les plus courants. Utilisez la syntaxe suivante pour connaître les services UDP :
nmap -sU nas03 nmap -sU 192.168.1.1
Exemples de résultats :
Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 00:52 IST Stats: 0:05:29 elapsed; 0 hosts completed (1 up), 1 undergoing UDP Scan UDP Scan Timing: About 32.49% done; ETC: 01:09 (0:11:26 remaining) Interesting ports on nas03 (192.168.1.12): Not shown: 995 closed ports PORT STATE SERVICE 111/udp open|filtered rpcbind 123/udp open|filtered ntp 161/udp open|filtered snmp 2049/udp open|filtered nfs 5353/udp open|filtered zeroconf MAC Address: 00:11:32:11:15:FC (Synology Incorporated) Nmap done: 1 IP address (1 host up) scanned in 1099.55 seconds
24. Recherche de protocole IP exemples nmap
Ce type d'analyse vous permet de déterminer quels protocoles IP (TCP, ICMP, IGMP, etc.) sont pris en charge par les machines cibles :
nmap -sO 192.168.1.1
25. Analyser un pare-feu pour détecter les faiblesses de sécurité
Les types d'analyse suivants exploitent une faille subtile dans le protocole TCP et permettent de tester la sécurité des attaques courantes :
## TCP Null Scan to fool a firewall to generate a response ## ## Does not set any bits (TCP flag header is 0) ## nmap -sN 192.168.1.254 ## TCP Fin scan to check firewall ## ## Sets just the TCP FIN bit ## nmap -sF 192.168.1.254 ## TCP Xmas scan to check firewall ## ## Sets the FIN, PSH, and URG flags, lighting the packet up like a Christmas tree ## nmap -sX 192.168.1.254
Voyez comment bloquer les paquets de Noël, les syn-floods et autres attaques d'escrocs avec iptables.
26. Scanner un pare-feu pour des fragments de paquets
L'option -f fait en sorte que le scan demandé (y compris les scans ping) utilise de minuscules paquets IP fragmentés. L'idée est de diviser l'en-tête TCP en plusieurs parties.
plusieurs paquets afin de rendre plus difficile la détection de ce que vous faites par les filtres de paquets, les systèmes de détection d'intrusion et autres nuisances.
27. Masquer un scan avec des leurres namp exemples
Le site -D option qui donne l'impression à l'hôte distant que le ou les hôtes que vous spécifiez comme leurres scannent aussi le réseau cible. Ainsi, leur IDS peut signaler 5 à 10 scans de ports à partir d'adresses IP uniques, mais ils ne sauront pas quelle IP les scannait et lesquelles étaient des leurres innocents :
nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip nmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5
28. Analyser un pare-feu pour la mystification d'adresse MAC nmap examples
Tapez la commande suivante :
### Spoof your MAC address ## nmap --spoof-mac MAC-ADDRESS-HERE 192.168.1.1 ### Add other options ### nmap -v -sT -PN --spoof-mac MAC-ADDRESS-HERE 192.168.1.1 ### Use a random MAC address ### ### The number 0, means nmap chooses a completely random MAC address ### nmap -v -sT -PN --spoof-mac 0 192.168.1.1
29. Comment puis-je sauvegarder les résultats dans un fichier texte ?
La syntaxe est la suivante :
nmap 192.168.1.1 > output.txt nmap -oN /path/to/filename 192.168.1.1 nmap -oN output.txt 192.168.1.1
Utilisez la commande more/cat/less ou bat comme suit :
less output.txt
30. Recherche de serveurs web et transfert dans Nikto pour analyse.
Dans cet exemple, je vais utiliser la fonction Nikto:
nmap -p80 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
31. Exemples d'accélération du scan nmap
Passez le -T à la commande nmap :
nmap -v -sS -A -T4 192.168.2.5
Exemples de résultats :
Starting Nmap 7.40 ( https://nmap.org ) at 2017-05-15 01:52 IST NSE: Loaded 143 scripts for scanning. NSE: Script Pre-scanning. Initiating NSE at 01:52 Completed NSE at 01:52, 0.00s elapsed Initiating NSE at 01:52 Completed NSE at 01:52, 0.00s elapsed Initiating ARP Ping Scan at 01:52 Scanning 192.168.2.15 [1 port] Completed ARP Ping Scan at 01:52, 0.01s elapsed (1 total hosts) Initiating SYN Stealth Scan at 01:52 Scanning dellm6700 (192.168.2.15) [1000 ports] Discovered open port 5900/tcp on 192.168.2.15 Discovered open port 80/tcp on 192.168.2.15 Discovered open port 22/tcp on 192.168.2.15 Completed SYN Stealth Scan at 01:53, 4.62s elapsed (1000 total ports) Initiating Service scan at 01:53 Scanning 3 services on dellm6700 (192.168.2.15) Completed Service scan at 01:53, 6.01s elapsed (3 services on 1 host) Initiating OS detection (try #1) against dellm6700 (192.168.2.15) Retrying OS detection (try #2) against dellm6700 (192.168.2.15) NSE: Script scanning 192.168.2.15. Initiating NSE at 01:53 Completed NSE at 01:53, 30.02s elapsed Initiating NSE at 01:53 Completed NSE at 01:53, 0.00s elapsed Nmap scan report for dellm6700 (192.168.2.15) Host is up (0.00044s latency). Not shown: 996 filtered ports PORT STATE SERVICE VERSION 22/tcp open ssh (protocol 2.0) | fingerprint-strings: | NULL: |_ SSH-2.0-OpenSSH_7.4p1 Ubuntu-10 | ssh-hostkey: | 2048 1d:14:84:f0:c7:21:10:0e:30:d9:f9:59:6b:c3:95:97 (RSA) |_ 256 dc:59:c6:6e:33:33:f2:d2:5d:9b:fd:b4:9c:52:c1:0a (ECDSA) 80/tcp open http nginx 1.10.0 (Ubuntu) | http-methods: |_ Supported Methods: GET HEAD |_http-server-header: nginx/1.10.0 (Ubuntu) |_http-title: Apache2 Ubuntu Default Page: It works 443/tcp closed https 5900/tcp open vnc VNC (protocol 3.7) 1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service : SF-Port22-TCP:V=7.40%I=7%D=5/15%Time=5918BCAA%P=x86_64-apple-darwin16.3.0% SF:r(NULL,20,"SSH-2.0-OpenSSH_7.4p1x20Ubuntu-10n"); MAC Address: F0:1F:AF:1F:2C:60 (Dell) Device type: general purpose Running (JUST GUESSING): Linux 3.X|4.X|2.6.X (95%), OpenBSD 4.X (85%) OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:2.6.32 cpe:/o:openbsd:openbsd:4.0 Aggressive OS guesses: Linux 3.11 - 4.1 (95%), Linux 4.4 (95%), Linux 3.13 (92%), Linux 4.0 (90%), Linux 2.6.32 (89%), Linux 2.6.32 or 3.10 (89%), Linux 3.2 - 3.8 (89%), Linux 3.10 - 3.12 (88%), Linux 2.6.32 - 2.6.33 (87%), Linux 2.6.32 - 2.6.35 (87%) No exact OS matches for host (test conditions non-ideal). Uptime guess: 0.000 days (since Mon May 15 01:53:08 2017) Network Distance: 1 hop TCP Sequence Prediction: Difficulty=252 (Good luck!) IP ID Sequence Generation: All zeros Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.44 ms dellm6700 (192.168.2.15) NSE: Script Post-scanning. Initiating NSE at 01:53 Completed NSE at 01:53, 0.00s elapsed Initiating NSE at 01:53 Completed NSE at 01:53, 0.00s elapsed Read data files from: /usr/local/bin/../share/nmap OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 46.02 seconds Raw packets sent: 2075 (95.016KB) | Rcvd: 50 (3.084KB)
32. Vous n'êtes pas fan des outils de ligne de commande de namp ?
Jusqu'à présent, nous avons vu des exemples de commandes Nmap utilisant les options de la ligne de commande Linux et Unix. Cependant, tout le monde n'est pas très à l'aise avec la CLI. Par conséquent, nous pouvons utiliser l'application GUI nommée Zenmapqui est l'outil frontal officiel de mappage du réseau :
Zenmap est l'interface graphique officielle du scanner de sécurité Nmap. Il s'agit d'une application gratuite et open source multi-plateforme (Linux, Windows, Mac OS X, BSD, etc.) qui vise à rendre Nmap facile à utiliser pour les débutants tout en fournissant des fonctionnalités avancées pour les utilisateurs expérimentés de Nmap. Les scans fréquemment utilisés peuvent être sauvegardés sous forme de profils afin de faciliter leur répétition. Un créateur de commandes permet la création interactive de lignes de commandes Nmap. Les résultats des scans peuvent être sauvegardés et consultés plus tard. Les résultats des scans sauvegardés peuvent être comparés les uns aux autres pour voir comment ils diffèrent. Les résultats des scans récents sont stockés dans une base de données consultable.
Vous pouvez installer zenmap en utilisant la commande apt-get ou la commande apt suivante :
$ sudo apt-get install zenmap
Exemples de résultats :
[sudo] password for vivek: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: zenmap 0 upgraded, 1 newly installed, 0 to remove and 11 not upgraded. Need to get 616 kB of archives. After this operation, 1,827 kB of additional disk space will be used. Get:1 http://debian.osuosl.org/debian/ squeeze/main zenmap amd64 5.00-3 [616 kB] Fetched 616 kB in 3s (199 kB/s) Selecting previously deselected package zenmap. (Reading database ... 281105 files and directories currently installed.) Unpacking zenmap (from .../zenmap_5.00-3_amd64.deb) ... Processing triggers for desktop-file-utils ... Processing triggers for gnome-menus ... Processing triggers for man-db ... Setting up zenmap (5.00-3) ... Processing triggers for python-central ...
Tapez la commande suivante pour démarrer zenmap :
$ sudo zenmap
Exemples de résultats
Fig.02 : zenmap en action
Comment détecter et bloquer le balayage des ports sur les serveurs Linux et Unix/BSD ?
Essayez les ressources suivantes :
- Comment utiliser l'outil psad pour détecter et bloquer les attaques par balayage de port en temps réel.
- Debian / Ubuntu Linux : Installer et configurer le pare-feu Shoreline (Shorewall).
- Tutoriel de configuration de pare-feu Iptables CentOS / Redhat.
- Linux : 20 exemples d'Iptables pour les nouveaux SysAdmins.
- 20 conseils pour renforcer la sécurité des serveurs Linux.
Conclusion
Dans ce guide, vous avez appris la commande Nmap avec de nombreux exemples pour Linux et une utilisation pratique pour sécuriser votre réseau ou vos applications. Vous pouvez également consulter la page de manuel de la commande Nmap en utilisant la commande man ou la commande help :
$ man nmap
$ nmap --help
Veuillez consulter les ressources suivantes pour de plus amples informations :
- Le projet officiel de Nmap page d'accueil ici.
La commande Nmap a beaucoup plus d'options, et veuillez consulter la page de manuel ou la documentation pour plus d'informations. Quelles sont vos astuces ou exemples de ligne de commande Nmap préférés ? Partagez vos trucs, astuces et conseils préférés dans les commentaires ci-dessous.