GNU/Linux >> Linux Esercitazione >  >> Linux

Ecco tutto ciò che puoi fare con Nmap – Esempi di comandi

Nmap è un mappatore di rete open source che consente di scansionare la rete di host, servizi, eseguire valutazioni della sicurezza e auditing. Questo utile comando include un sacco di opzioni e funzionalità, ma devi avere esperienza per usarlo. In questo tutorial, cercherò di introdurre alcuni esempi di comandi che possono aiutarti a identificare possibili punti vulnerabili negli host, intera sottorete, rilevamento della versione del sistema operativo e dei servizi, elenco di servizi, interfacce, percorsi, identificazione del mac ecc...

Quindi, eccoci qui.

Alcuni dei gusti di Linux potrebbero non venire con nmap installato, quindi puoi installarlo usando yum o apt-get a seconda del sistema operativo in uso.

# yum install nmap

o

# apt-get install nmap

Iniziamo con la scansione di un singolo host:

Scansione di un singolo indirizzo IP (senza root)

$ nmap 14.0.0.6

Esempio di output:

Host attivo (latenza 0.00035s).Non mostrato:999 porte chiusePORT STATE SERVICE22/tcp aperto sshNmap eseguito:1 indirizzo IP (1 host attivo) scansionato in 1,50 secondi

Scansione di più indirizzi IP (senza root)

$ nmap 14.0.0.6 14.0.0.5

Scansione di più indirizzi IP utilizzando la virgola come delimitatore

$ nmap 14.0.0.6,5 

Il comando sopra eseguirà la scansione degli indirizzi IP 14.0.0.5 e 14.0.0.6

Intervallo di scansione di indirizzi IP (senza root)

$ nmap 14.0.0.1-5

Il comando sopra eseguirà la scansione dell'indirizzo IP a partire da 14.0.0.1 a 14.0.0.5

Scansione dell'indirizzo IP tramite caratteri jolly (senza root)

$ nmap 14.0.0.*

Scansione di tutti gli indirizzi IP in una sottorete

$ nmap 14.0.0.0/24

Scansione di un host utilizzando il nome di dominio

$ nmap www.example.com

Scansione degli host che leggono da un file di testo

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

Scansione di una sottorete escludendo un particolare indirizzo IP

$ nmap 14.0.0.0/24 --exclude 14.0.0.1

Scansiona una sottorete escludendo l'elenco di indirizzi IP

$ nmap 14.0.0.0/24 --exclude 14.0.0.1,2

Scansiona una sottorete escludendo l'elenco di indirizzi IP da un file

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

Identifica i nomi host di tutti gli IP in una sottorete (senza root)

$ nmap -sL 14.0.0.0/24

Esegui scansione PING

Il ping sweep viene generalmente utilizzato per scoprire quali host sono attivi nella rete. È possibile utilizzare Ping sweep se si desidera eseguire la scansione di un numero elevato di host in una rete.

# nmap -sP 14.0.0.6

Scansiona una singola porta di un particolare indirizzo IP o host (senza root)

$ nmap -p 22 14.0.0.6

Risultato di esempio:

L'host è attivo (0,00066 di latenza).PORT   STATE SERVICE22/tcp aperto  sshNmap eseguito:1 indirizzo IP (1 host attivo) scansionato in 0,47 secondi

Scansiona un intervallo di porte (senza root)

$ nmap -p 15-23 14.0.0.6

Risultato di esempio:

PORT   STATE  SERVICE15/tcp closed netstat16/tcp closed unknown17/tcp closed qotd18/tcp closed unknown19/tcp closed chargen20/tcp closed ftp-data21/tcp closed ftp22/tcp open   ssh23/tcp closed telnet

Esegui una scansione veloce delle porte (100 porte più comuni) (senza root)

$ nmap -F 14.0.0.6

Scansiona il primo $numero di porte (senza root)

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

Scansiona tutte le porte (senza root)

$ nmap -p- 14.0.0.6

Il comando precedente eseguirà la scansione di tutte le 65535 porte di un determinato indirizzo IP.

Rilevamento delle informazioni sul sistema operativo e sul servizio di un host remoto (senza root)

$ nmap -A 14.0.0.6

Risultato di esempio:

Avvio di Nmap 7.01 ( https://nmap.org ) alle 06:34 UTC dell'11-07-2016 L'host è attivo (latenza 0.00029s). Non mostrato:999 porte chiuse PORT   STATE SERVICE VERSION 22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu1 (Ubuntu Linux; protocollo 2.0) :::::::::::::::::::::

Rilevamento del servizio (nessuna radice)

$ nmap -sV 14.0.0.6

Rilevamento di servizi aggressivi (nessuna radice)

Il comando Nmap si basa su diversi metodi per rilevare il sistema operativo e le informazioni sul servizio. Il rilevamento del servizio aggressivo è utile quando il servizio viene eseguito su una porta non comune (ad esempio, SSH dovrebbe essere in ascolto sulla porta 22, ma l'host remoto potrebbe eseguire il servizio su una porta diversa). Il rilevamento del servizio aggressivo è più lento del normale rilevamento del servizio, poiché quest'ultimo ottiene le informazioni dai banner del servizio.

$ nmap -sV --version-intensity 5 14.0.0.6

Risultato di esempio:

Host attivo (latenza 0.00044s).Non mostrato:999 porte chiusePORT   STATE SERVICE VERSION22/tcp open ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu1 (Ubuntu Linux; protocollo 2.0)Informazioni sul servizio:OS:Linux; CPE:cpe:/o:linux:linux_kernelService rilevamento eseguito. Segnala eventuali risultati errati su https://nmap.org/submit/

Rilevamento del sistema operativo (radice)

L'esempio di rilevamento del servizio di cui sopra rivelerà le informazioni sul sistema operativo. È anche possibile indovinare il sistema operativo e la sua versione utilizzando anche il comando seguente.

Nota:il rilevamento del sistema operativo richiede il privilegio di root.

$ nmap -O 14.0.0.6 Il fingerprinting TCP/IP (per la scansione del sistema operativo) richiede i privilegi di root.CHIUDERE!
# nmap -O 14.0.0.6
# nmap -O --osscan-guess 14.0.0.6Avvio di Nmap 7.01 ( https://nmap.org ) alle 11-07-2016 08:39 UTCHost è attivo (latenza 0.00035s).Non mostrato:999 chiuso portsPORT   STATE SERVICE22/tcp open  sshAggressive OS supposizioni:Linux 3.1 (93%), Linux 3.2 (93%), AXIS 210A o 211 Network Camera (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

Rileva se un host è protetto da un firewall (root)

Quando il firewall è disabilitato nell'host remoto, nmap scansiona tutte le porte e dice che non sono filtrate come mostrato di seguito:

# nmap -sA 14.0.0.6Host attivo (latenza 0.00042s).Tutte le 1000 porte scansionate su henry2.cloudsecurity.in (14.0.0.6) non sono filtrate 

Quando il firewall è abilitato nell'host remoto, nmap dice che le porte sono filtrate:

# nmap -sA 14.0.0.6Rapporto di scansione Nmap per henry2.cloudsecurity.in (14.0.0.6)L'host è attivo (0.00045 di latenza).Tutte le 1000 porte scansionate su henry2.cloudsecurity.in (14.0.0.6) vengono filtrate 

Scansione tramite script NSE

Ci sono circa 400+ NSE (Nmap S scripting E ngine) che possono essere utilizzati con nmap e ogni script viene fornito con una buona documentazione. Per identificare l'elenco degli script installati nella tua macchina, esegui il comando seguente:

# 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 per identificare i sottodomini di un determinato dominio (senza root)

nmap consente di identificare l'elenco dei sottodomini per un determinato host. L'identificazione dei sottodomini di un host può rivelare nuovi obiettivi durante l'esecuzione della valutazione della sicurezza. Per farlo, dns-brute.nse è necessario utilizzare lo script.

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

Esempio di output:

PORT   STATE SERVICE80/tcp open  httpRisultati dello script host:| dns-bruto:| Nomi host DNS Brute-force:| www.example.com - 93.184.216.34|_    www.example.com - 2606:2800:220:1:248:1893:25c8:1946

Identificazione degli host virtuali su un determinato host (senza root)

Il nome di dominio fornito può ospitare più siti Web utilizzando la funzione host virtuale dei server Web. Puoi identificare gli host virtuali utilizzando hostmap-bfk.nse copione.

$ nmap -p 80 --script hostmap-bfk.nse nmap.org Risultati dello script host:| hostmap-bfk:| ospita:| mail.nmap.org | 45.33.49.119 | 119.49.33.45.in-addr.arpa | ack.nmap.org | sectools.org | svn.nmap.org | insicuro.com | mail.seclists.org | seclists.org | mirror.sectools.org | www.insicuro.org | nmap.org | insicuro.org | www.nmap.org |_    www.insecure.com

Identifica la posizione geografica di un determinato host

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

Esempio di output:

:::::::::::::::::Risultati dello script host:| traceroute-geolocalizzazione:| Hop rtt indirizzo geolocalizzazione | 1 0.44 14.0.0.1 23.113 Cina (Guangdong) | 2 0.88 10.180.141.1 -, - | 3 1.58 144.16.192.34 20,77 India () | 4 1.87 14.139.1.30 20,77 India () | 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 India (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 Regno Unito () | 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 Regno Unito () | 15 168.70 SO-1-0-0.0.pjr01.wad001.flagtel.com (85.95.25.193) 51,0 Regno Unito () | 16 168.13 SO-2-2-0.0.pjr01.wad001.flagtel.com (85.95.25.37) 51,0 Regno Unito () | 17 293.97 SO-2-1-0.0.pjr01.lax002.flagtel.com (85.95.25.17) 51,0 Regno Unito () | 18 275.17 Any2ix.coresite.com (206.223.143.232) 38, -97 Stati Uniti () | _ 19 295.32 93.184.216.34 42, -70 Stati Uniti (Massachusetts) :::::::::::::::::::::::::::::::::::::::::::::::. ha :::::::::::::::::::::

Ad esempio, identifica l'elenco di script correlati a 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 :::::::::::::::::::::::

Dall'output sopra, puoi copiare il nome dello script e usarlo con –script opzione.

Ottieni informazioni sul servizio HTTP (senza root)

Esistono molti script per ottenere informazioni sul servizio HTTP come il titolo della pagina Web, le intestazioni HTTP, la ricerca di vari percorsi noti dell'applicazione Web ecc...

$ nmap --script=http-title 14.0.0.5 Host attivo (0.0000070 di latenza).Non mostrato:998 porte chiusePORT   STATE SERVICE22/tcp open  ssh80/tcp open  http|_http-title:Apache2 Ubuntu Pagina predefinita:funziona 

Ottieni informazioni sull'intestazione HTTP (nessuna radice)

$ nmap --script=http-headers 14.0.0.5PORT   STATE SERVICE22/tcp open  ssh80/tcp open  http| http-intestazioni:| Data:Mon, 11 Jul 2016 07:08:05 GMT| Server:Apache/2.4.18 (Ubuntu)| Ultima modifica:Mon, 11 Jul 2016 07:04:49 GMT| ETag:"2c39-53756c49f4280"| Accetta-Range:byte| Contenuto-Lunghezza:11321| Varia:Accetta-Codifica| Collegamento:chiudi| Tipo di contenuto:text/html||_  (Tipo di richiesta:HEAD)

Identifica i percorsi noti dell'applicazione Web HTTP (senza root)

$ nmap --script=http-enum 14.0.0.580/tcp aperto  http| http-enum:|_  /server-status/:cartella potenzialmente interessante 

Rileva la vulnerabilità di Heartbleed SSL (senza root)

Potresti aver sentito parlare della vulnerabilità SSL heartbleed. Il comando Nmap può essere utilizzato per rilevare questa vulnerabilità come mostrato di seguito:

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

Identifica il whois di un nome di dominio (senza root)

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

Risultato di esempio:

Risultati dello script host:| dominio-whois:|| Record del nome di dominio trovato su whois.iana.org| % server WHOIS IANA| % per ulteriori informazioni su IANA, visitare http://www.iana.org| % Questa query ha restituito 1 oggetto|| dominio:       EXAMPLE.COM|| organizzazione:Internet Assigned Numbers Authority|| creato:      1992-01-01| fonte:       IANA|_

TCP Syn e Scansione UDP (root)

# nmap -sS -sU -PN 14.0.0.6

Il comando precedente eseguirà la scansione di 2000 porte TCP e UDP comuni. Il –PN richieste di opzioni nmap per saltare la scansione ping e presumere che l'host sia attivo. L'opzione è utile quando la macchina remota ha il firewall abilitato e rilascia tutti i pacchetti ICMP.

Scansione connessione TCP (senza root)

$ nmap -sT 14.0.0.6

Il comando precedente richiede al sistema operativo di stabilire una connessione TCP alle 1000 porte comuni invece di inviare il pacchetto TCP SYN.

Scansiona un indirizzo IPv6 (senza root)

Tutti i comandi di esempio precedenti stavano scansionando un indirizzo IPv4, ma puoi anche scansionare l'indirizzo IPv6. Per farlo, devi utilizzare l'opzione '-6 ' seguito da un indirizzo IPv6.

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

Elenca interfacce e percorsi host (nessuna root)

$ nmap --iflistStarting Nmap 7.01 ( https://nmap.org ) at 2016-07-11 09:53 UTC********************* ***INTERFACCE************************DEV  (SHORT) IP/MASK                      TYPE     UP MTU   MAClo   (lo)    127.0.0.1/8                 loopback 65536lo (lo)    ::1/128                     loopback up 65536ens3 (ens3)  14.0.0.5/24                 ethernet up 1450  FA:16:3E:C0:14:5Fens3 (ens3)  fe80::f816:16f:fec/fec 1450  FA:16:3E:C0:14:5F****************************** PERCORSI*********** ********************** :1/128                      lo   0fe80::f816:3eff:fec0:145f/128 lo   0fe80::/64                    ens3 256ff00::/8                6 
 Salva gli output di Nmap in un file di testo 

$ nmap -oN nmap_text.txt 14.0.0.6

Salva l'output di Nmap come XML

$ nmap -oX nmap_xml.xml 14.0.0.6

Salva l'output in un formato per grep

$ nmap -oG nmap_grep.txt 14.0.0.6

Salva l'output di Nmap in tutti i formati

$ nmap -oA allformats_file 14.0.0.6

Nmap con GUI

Scarica Zenmap (o) installalo usando apt-get/yum

$ sudo apt-get install zenmap


Linux
  1. Comando wc Linux con esempi

  2. Comando di ordinamento Linux con esempi

  3. Comando Tee Linux con esempi

  4. Comando Nohup con esempi

  5. Comando JQ in Linux con esempi

Comando Tr in Linux con esempi

15 Comando Linux ps con esempi

Comando CD Linux con esempi

Comandi Nmap con esempi

Comando della cronologia con esempi

Puoi superare questo? 15 Esempi pratici di comandi principali di Linux