GNU/Linux >> Tutoriels Linux >  >> Linux

Voici tout ce que vous pouvez faire avec Nmap - Exemples de commandes

Nmap est un mappeur de réseau open source qui permet d'analyser le réseau d'hôtes, de services, d'effectuer une évaluation et un audit de sécurité. Cette commande utile est livrée avec de nombreuses options et fonctionnalités, mais vous devez avoir une expertise dans son utilisation. Dans ce tutoriel, je vais essayer de présenter quelques exemples de commandes qui peuvent vous aider à identifier d'éventuels points vulnérables dans les hôtes, l'ensemble du sous-réseau, la détection de la version du système d'exploitation et des services, la liste des services, les interfaces, les routes, l'identification mac, etc…

Alors, c'est parti.

Certaines versions de Linux peuvent ne pas être fournies avec nmap installé, vous pouvez donc l'installer en utilisant yum ou apt-get selon le système d'exploitation que vous utilisez.

# yum install nmap

ou

# apt-get install nmap

Commençons par analyser un seul hôte :

Analyse d'une adresse IP unique (pas de racine)

$ nmap 14.0.0.6

Exemple de sortie :

L'hôte est actif (latence de 0,00035 s). Non affiché :999 ports fermésPORT STATE SERVICE22/tcp open sshNmap done :1 adresse IP (1 hôte actif) analysée en 1,50 seconde

Analyse de plusieurs adresses IP (pas de racine)

$ nmap 14.0.0.6 14.0.0.5

Analyser plusieurs adresses IP en utilisant une virgule comme délimiteur

$ nmap 14.0.0.6,5 

La commande ci-dessus analysera les adresses IP 14.0.0.5 et 14.0.0.6

Analyse de la plage d'adresses IP (pas de racine)

$ nmap 14.0.0.1-5

La commande ci-dessus analysera l'adresse IP de 14.0.0.1 à 14.0.0.5

Analyse de l'adresse IP à l'aide d'un caractère générique (pas de racine)

$ nmap 14.0.0.*

Analyser toutes les adresses IP d'un sous-réseau

$ nmap 14.0.0.0/24

Scanner un hôte à l'aide d'un nom de domaine

$ nmap www.example.com

Analyser les hôtes lisant à partir d'un fichier texte

$ cat host-list.txt 14.0.0.1 www.example.com 14.0.0.2
$ nmap -iL host-list.txt

Analyser un sous-réseau en excluant une adresse IP particulière

$ nmap 14.0.0.0/24 --exclude 14.0.0.1

Analyser un sous-réseau en excluant la liste des adresses IP

$ nmap 14.0.0.0/24 --exclude 14.0.0.1,2

Analyser un sous-réseau en excluant la liste des adresses IP d'un fichier

$ cat exclude-ips.txt14.0.0.1,2,3,4,5
$ nmap 14.0.0.0/24 --excludefile exclude-ips.txt

Identifier les noms d'hôte de toutes les adresses IP d'un sous-réseau (pas de racine)

$ nmap -sL 14.0.0.0/24

Effectuer un balayage PING

Le balayage ping est généralement utilisé pour savoir quels hôtes sont actifs sur le réseau. Le balayage Ping peut être utilisé si vous souhaitez analyser un grand nombre d'hôtes dans un réseau.

# nmap -sP 14.0.0.6

Analyser un seul port d'une adresse IP ou d'un hôte particulier (pas de racine)

$ nmap -p 22 14.0.0.6

Exemple de résultat :

L'hôte est actif (latence de 0,00066 s).PORT   STATE SERVICE22/tcp open  sshNmap done :1 adresse IP (1 hôte actif) analysée en 0,47 seconde

Analyser une plage de ports (pas de racine)

$ nmap -p 15-23 14.0.0.6

Exemple de résultat :

PORT   STATE  SERVICE15/tcp fermé netstat16/tcp fermé inconnu17/tcp fermé qotd18/tcp fermé inconnu19/tcp fermé chargen20/tcp fermé ftp-data21/tcp fermé ftp22/tcp ouvert   ssh23/tcp fermé telnet

Effectuer une analyse rapide des ports (100 ports les plus courants) (sans racine)

$ nmap -F 14.0.0.6

Analyser le nombre supérieur de $nombre de ports (pas de racine)

$ nmap --top-ports 10 14.0.0.6
$ nmap --top-ports 2 14.0.0.6

Analyser tous les ports (pas de racine)

$ nmap -p- 14.0.0.6

La commande ci-dessus analysera les 65535 ports d'une adresse IP donnée.

Détection des informations sur le système d'exploitation et les services d'un hôte distant (sans racine)

$ nmap -A 14.0.0.6

Exemple de résultat :

Démarrage de Nmap 7.01 ( https://nmap.org ) au 2016-07-11 06:34 UTC Host is up (0.00029s latency). Non affiché :999 ports fermés PORT   ÉTAT SERVICE VERSION 22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu1 (Ubuntu Linux ; protocole 2.0) ::::::::::::::::::::

Détection de service (pas de racine)

$ nmap -sV 14.0.0.6

Détection de service agressive (pas de root)

La commande Nmap s'appuie sur différentes méthodes pour détecter le système d'exploitation et les informations de service. La détection de service agressive est utile lorsque le service s'exécute sur un port inhabituel (par exemple, SSH est censé écouter sur le port 22, mais l'hôte distant peut exécuter le service sur un port différent). La détection de service agressive est plus lente que la détection de service normale, car la dernière obtient les informations des bannières de service.

$ nmap -sV --version-intensity 5 14.0.0.6

Exemple de résultat :

L'hôte est opérationnel (latence de 0,00044 s). Non affiché :999 ports fermés   STATE SERVICE VERSION22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu1 (Ubuntu Linux ; protocole 2.0)Informations sur le service :OS :Linux ; CPE :cpe:/o:linux:linux_kernelService détection effectuée. Veuillez signaler tout résultat incorrect sur https://nmap.org/submit/

Détection du système d'exploitation (racine)

L'exemple de détection de service ci-dessus révélera les informations du système d'exploitation. Il est également possible de deviner le système d'exploitation et sa version en utilisant également la commande ci-dessous.

Remarque :La détection du système d'exploitation nécessite le privilège root.

$ nmap -O 14.0.0.6 L'empreinte digitale TCP/IP (pour l'analyse du système d'exploitation) nécessite des privilèges root. QUITTER !
# nmap -O 14.0.0.6
# nmap -O --osscan-guess 14.0.0.6Démarrage de Nmap 7.01 ( https://nmap.org ) au 2016-07-11 08:39 UTCL'hôte est en place (0,00035s de latence). Non affiché :999 fermé portsPORT    SERVICE D'ÉTAT22/tcp ouvert  sshSuppositions agressives du système d'exploitation :Linux 3.1 (93 %), Linux 3.2 (93 %), caméra réseau AXIS 210A ou 211 (Linux 2.6.17) (92 %), Android 5.0.2 (92 %), Android 5.1 (92 %), Linux 3.0 (92 %), Linux 3.11 (92 %), Linux 3.12 (92 %), Linux 3.12 - 3.19 (92 %), Linux 3.13   (92 %)
# nmap -v -O --osscan-guess 14.0.0.6

Détecter si un hôte est protégé par un pare-feu (racine)

Lorsque le pare-feu est désactivé sur l'hôte distant, le nmap analyse tous les ports et indique qu'ils ne sont pas filtrés, comme indiqué ci-dessous :

# nmap -sA 14.0.0.6L'hôte est actif (latence de 0,00042 s).Les 1 000 ports analysés sur henry2.cloudsecurity.in (14.0.0.6) ne sont pas filtrés 

Lorsque le pare-feu est activé sur l'hôte distant, le nmap indique que les ports sont filtrés :

# nmap -sA 14.0.0.6Rapport d'analyse Nmap pour henry2.cloudsecurity.in (14.0.0.6)L'hôte est actif (latence de 0,00045 s).Les 1 000 ports analysés sur henry2.cloudsecurity.in (14.0.0.6) sont filtrés 

Analyse à l'aide de scripts NSE

Il y a environ 400+ NSE (Nmap S écriture E ngine) scripts pouvant être utilisés avec nmap et chaque script est accompagné d'une bonne documentation. Afin d'identifier la liste des scripts installés sur votre machine, exécutez la commande ci-dessous :

# locate nse |grep script :::::::::::::::::::::::::::/usr/share/nmap/scripts/ssl-enum-ciphers.nse /usr/share /nmap/scripts/ssl-google-cert-catalog.nse /usr/share/nmap/scripts/ssl-heartbleed.nse /usr/share/nmap/scripts/ssl-known-key.nse /usr/share/nmap /scripts/ssl-poodle.nse /usr/share/nmap/scripts/sslv2.nse /usr/share/nmap/scripts/sstp-discover.nse /usr/share/nmap/scripts/stun-info.nse /usr /share/nmap/scripts/stun-version.nse /usr/share/nmap/scripts/stuxnet-detect.nse /usr/share/nmap/scripts/supermicro-ipmi-conf.nse /usr/share/nmap/scripts /svn-brute.nse /usr/share/nmap/scripts/targets-asn.nse /usr/share/nmap/scripts/targets-ipv6-map4to6.nse /usr/share/nmap/scripts/targets-ipv6-multicast -echo.nse /usr/share/nmap/scripts/targets-ipv6-multicast-invalid-dst.nse /usr/share/nmap/scripts/targets-ipv6-multicast-mld.nse /usr/share/nmap/scripts /targets-ipv6-multicast-slaac.nse /usr/share/nmap/scripts/targets-ipv6-wordlist.nse /usr/share/nmap/scripts/targets-sniffer.nse /usr/share/nmap/scripts/tar gets-traceroute.nse /usr/share/nmap/scripts/targets-xml.nse :::::::::::::

DNS Brute force pour identifier les sous-domaines d'un domaine donné (pas de racine)

nmap permet d'identifier la liste des sous-domaines pour un hôte donné. L'identification des sous-domaines d'un hôte peut révéler de nouvelles cibles lors de l'évaluation de la sécurité. Pour ce faire, dns-brute.nse le script doit être utilisé.

$ nmap -p 80 --script dns-brute.nse exemple.com

Exemple de sortie :

PORT   STATE SERVICE80/tcp open  résultats du script httpHost :| dns-brute :| Noms d'hôte DNS Brute-force :| www.exemple.com - 93.184.216.34|_    www.exemple.com - 2606:2800:220:1:248:1893:25c8:1946

Identifier les hôtes virtuels sur un hôte donné (pas de racine)

Le nom de domaine donné peut héberger plusieurs sites Web à l'aide de la fonction d'hôtes virtuels des serveurs Web. Vous pouvez identifier les hôtes virtuels à l'aide de hostmap-bfk.nse script.

$ nmap -p 80 --script hostmap-bfk.nse nmap.org Résultats du script hôte :| hostmap-bfk :| hôtes :| mail.nmap.org | 45.33.49.119 | 119.49.33.45.in-addr.arpa | ack.nmap.org | sectools.org | svn.nmap.org | insecure.com | mail.seclists.org | seclists.org | miroir.sectools.org | www.insecure.org | nmap.org | insecure.org | www.nmap.org |_    www.insecure.com

Identifier l'emplacement géographique d'un hôte donné

# nmap --traceroute --script traceroute-geolocation.nse -p 80 exemple.com

Exemple de sortie :

::::::::::::::::Résultats du script hôte :| traceroute-géolocalisation :| Hop RTT Address Geolocation | 1 0,44 14.0.0.1 23 113 Chine (Guangdong) | 2 0,88 10.180.141.1 -, - | 3 1,58 144.16.192.34 20 77 Inde () | 4 1.87 14.139.1.30 20 77 Inde () | 5 1.61 10.118.248.45 -, - | 6 11.62 10.161.18.5 -, - | 7    ...| 8 13.32 10.255.221.34 -, - | 9 14.71 115.249.209.6 18,72 Inde (Mah \ xc4 \ x81r \ xc4 \ x81shtra) | 10   ...| 11   ...| 12   ...| 13 293.92 XE-3-0-6.0.CJR01.SIN001.FLAGTEL.com (62.216.129.201) 51,0 Royaume-Uni () | 14 293.77 GE-2-0-0.0.pjr01.hkg005.flagtel.com.25.95.85.in-addr.arpa (85.9 5.25.41) 51,0 Royaume-Uni () | 15 168.70 SO-1-0-0.0.pjr01.wad001.flagtel.com (85.95.25.193) 51,0 Royaume-Uni () | 16 168.13 SO-2-2-0.0.pjr01.wad001.flagtel.com (85.95.25.37) 51,0 Royaume-Uni () | 17 293.97 SO-2-1-0.0.pjr01.lax002.flagtel.com (85.95.25.17) 51,0 Royaume-Uni () | 18 275.17 any2ix.coresite.com (206.223.143.232) 38, -97 États-Unis () | _ 19 295.32 93.184.216.34 42, -70 États-Unis (Massachusetts) :::::::::::::::::::S ::::::::::::::::::::

Par exemple, identifiez la liste des scripts liés à HTTP :

# locate nse |grep http /usr/share/nmap/nselib/http.lua /usr/share/nmap/nselib/httpspider.lua /usr/share/nmap/nselib /data/http-default-accounts-fingerprints.lua /usr/share/nmap/nselib/data/http-devframework-fingerprints.lua /usr/share/nmap/nselib/data/http-fingerprints.lua /usr/share /nmap/nselib/data/http-folders.txt /usr/share/nmap/nselib/data/http-sql-errors.lst /usr/share/nmap/nselib/data/http-web-files-extensions.lst /usr/share/nmap/scripts/http-adobe-coldfusion-apsa1301.nse /usr/share/nmap/scripts/http-affiliate-id.nse /usr/share/nmap/scripts/http-apache-negotiation.nse /usr/share/nmap/scripts/http-auth-finder.nse /usr/share/nmap/scripts/http-auth.nse /usr/share/nmap/scripts/http-avaya-ipoffice-users.nse /usr /share/nmap/scripts/http-awstatstotals-exec.nse /usr/share/nmap/scripts/http-axis2-dir-traversal.nse /usr/share/nmap/scripts/http-backup-finder.nse /usr /share/nmap/scripts/http-barracuda-dir-traversal.nse /usr/share/nmap/scripts/http-brute.nse /usr/ share/nmap/scripts/http-cakephp-version.nse /usr/share/nmap/scripts/http-chrono.nse /usr/share/nmap/scripts/http-cisco-anyconnect.nse /usr/share/nmap/ scripts/http-coldfusion-subzero.nse /usr/share/nmap/scripts/http-comments-displayer.nse /usr/share/nmap/scripts/http-config-backup.nse /usr/share/nmap/scripts/ http-cors.nse /usr/share/nmap/scripts/http-cross-domain-policy.nse /usr/share/nmap/scripts/http-csrf.nse /usr/share/nmap/scripts/http-date. nse /usr/share/nmap/scripts/http-default-accounts.nse /usr/share/nmap/scripts/http-devframework.nse /usr/share/nmap/scripts/http-dlink-backdoor.nse /usr/ share/nmap/scripts/http-dombased-xss.nse /usr/share/nmap/scripts/http-domino-enum-passwords.nse /usr/share/nmap/scripts/http-drupal-enum-users.nse / usr/share/nmap/scripts/http-drupal-enum.nse /usr/share/nmap/scripts/http-enum.nse /usr/share/nmap/scripts/http-errors.nse /usr/share/nmap/ scripts/http-exif-spider.nse /usr/share/nmap/scripts/http-favicon.nse /usr/share/nmap/scripts/http-feed.nse /usr/ share/nmap/scripts/http-fetch.nse /usr/share/nmap/scripts/http-fileupload-exploiter.nse /usr/share/nmap/scripts/http-form-brute.nse /usr/share/nmap/ scripts/http-form-fuzzer.nse /usr/share/nmap/scripts/http-frontpage-login.nse /usr/share/nmap/scripts/http-generator.nse /usr/share/nmap/scripts/http- git.nse /usr/share/nmap/scripts/http-gitweb-projects-enum.nse :::::::::::::::::::::

À partir de la sortie ci-dessus, vous pouvez copier le nom du script et l'utiliser avec –script option.

Obtenir des informations sur le service HTTP (pas de racine)

Il existe de nombreux scripts pour obtenir des informations de service HTTP telles que le titre de la page Web, les en-têtes HTTP, la recherche de divers chemins connus d'application Web, etc.

$ nmap --script=http-title 14.0.0.5 L'hôte est opérationnel (latence de 0,0000070 s). Non affiché :998 ports fermés PORT   SERVICE D'ÉTAT22/tcp ouvert  ssh80/tcp ouvert  http|_http-title :Apache2 Ubuntu Default Page :It works 

Obtenir les informations d'en-tête HTTP (pas de racine)

$ nmap --script=http-headers 14.0.0.5PORT   SERVICE D'ÉTAT22/tcp ouvert  ssh80/tcp ouvert  http| en-têtes http :| Date :lundi 11 juillet 2016 07:08:05 GMT | Serveur :Apache/2.4.18 (Ubuntu)| Dernière modification :lundi 11 juillet 2016 07:04:49 GMT | ETag :"2c39-53756c49f4280"| Plages d'acceptation :octets | Longueur du contenu :11321 | Varier :Accept-Encoding| Connexion :fermer | Type de contenu :text/html||_  (Type de requête :HEAD)

Identifier les chemins connus de l'application Web HTTP (pas de racine)

$ nmap --script=http-enum 14.0.0.580/tcp ouvert http| http-enum :|_  /server-status/ :dossier potentiellement intéressant 

Détecter la vulnérabilité SSL Heartbleed (pas de racine)

Vous avez peut-être entendu parler de la vulnérabilité SSL heartbleed. La commande Nmap peut être utilisée pour détecter cette vulnérabilité comme indiqué ci-dessous :

nmap -sV -p 443 --script=ssl-heartbleed 14.0.0.0/24

Identifier whois d'un nom de domaine (pas de racine)

$ nmap -sV --script=whois-domain.nse www.example.com

Exemple de résultat :

Résultats du script hôte :| domaine whois :|| Enregistrement de nom de domaine trouvé sur whois.iana.org| % Serveur IANA WHOIS| % pour plus d'informations sur l'IANA, visitez http://www.iana.org| % Cette requête a renvoyé 1 objet || domaine :       EXAMPLE.COM|| organisation :Internet Assigned Numbers Authority|| créé :      1992-01-01| source :       IANA|_

TCP Syn et UDP Scan (racine)

# nmap -sS -sU -PN 14.0.0.6

La commande ci-dessus analysera 2000 ports TCP et UDP communs. Le –PN requêtes d'options nmap pour ignorer l'analyse ping et supposer que l'hôte est actif. L'option est utile lorsque la machine distante a un pare-feu activé et abandonne tous les paquets ICMP.

Analyse de connexion TCP (pas de racine)

$ nmap -sT 14.0.0.6

La commande ci-dessus demande au système d'exploitation d'établir une connexion TCP aux 1000 ports communs au lieu d'envoyer le paquet TCP SYN.

Analyser une adresse IPv6 (pas de racine)

Toutes les commandes d'exemple ci-dessus analysaient une adresse IPv4, mais vous pouvez également analyser une adresse IPv6. Pour ce faire, vous devez utiliser l'option '-6 ' suivi d'une adresse IPv6.

$ nmap -6 2001:db8:000:3eff:fe52:77

Répertorier les interfaces hôtes et les routes (pas de racine)

$ nmap --iflistDémarrage de Nmap 7.01 ( https://nmap.org ) au 2016-07-11 09:53 UTC************************ ***INTERFACES************************DEV  (SHORT) IP/MASK                     TYPE     UP MTU   MAClo   (lo)    127.0.0.1/8                  loopback up 65536lo (lo)    ::1/128                    bouclage 65536ens3 (ens3)  14.0.0.5/24                  ethernet up 1450 FA:16:3E:C0:14:5Fens3 (ens3)  fe80::f816:34 ethernet/5fec0 1450  FA:16:3E:C0:14:5F****************************ROUTES*********** ***********. :1/128                     lo   0fe80::f816:3eff:fec0:145f/128 lo   0fe80::/64                     ens3 256ff00::/8                                       

Enregistrer les sorties Nmap dans un fichier texte

$ nmap -oN nmap_text.txt 14.0.0.6

Enregistrer la sortie Nmap au format XML

$ nmap -oX nmap_xml.xml 14.0.0.6

Enregistrer la sortie dans un format pour grep

$ nmap -oG nmap_grep.txt 14.0.0.6

Enregistrer la sortie Nmap dans tous les formats

$ nmap -oA allformats_file 14.0.0.6

Nmap avec interface graphique

Téléchargez Zenmap (ou) installez-le en utilisant apt-get/yum

$ sudo apt-get install zenmap


Linux
  1. Commande Linux wc avec exemples

  2. Commande de tri Linux avec exemples

  3. Commande Linux Tee avec exemples

  4. Commande Nohup avec exemples

  5. Commande JQ sous Linux avec exemples

Commande Tr sous Linux avec des exemples

15 Commande Linux ps avec exemples

Commande de CD Linux avec exemples

Commandes Nmap avec exemples

Commande d'historique avec exemples

Pouvez-vous faire mieux ? 15 exemples pratiques de commandes principales Linux