Nmap è l’abbreviazione di Network Mapper. È uno strumento di sicurezza open-source per l’esplorazione della rete, la scansione della sicurezza e l’auditing. Tuttavia, il comando Nmap viene fornito con molte opzioni che possono rendere l’utilità più robusta e difficile da seguire per i nuovi utenti. Lo scopo di questa guida è di introdurre un utente allo strumento a riga di comando Nmap per scansionare un host o una rete per scoprire i possibili punti vulnerabili negli host. Imparerete anche come usare Nmap per scopi offensivi e difensivi. Vediamo alcuni esempi di comandi Nmap comuni in esecuzione su Linux o sistemi Unix-like.

PUBBLICITA’

Cos’è Nmap e a cosa serve?

nmap in azione

Dalla pagina man:

Nmap (“Network Mapper”) è uno strumento open source per l’esplorazione della rete e il controllo della sicurezza. È stato progettato per scansionare rapidamente grandi reti, anche se funziona bene contro singoli host. Nmap usa i pacchetti IP grezzi in modi nuovi per determinare quali host sono disponibili sulla rete, quali servizi (nome e versione dell’applicazione) questi host stanno offrendo, quali sistemi operativi (e versioni del sistema operativo) stanno eseguendo, che tipo di filtri di pacchetti/firewall sono in uso, e decine di altre caratteristiche. Mentre Nmap è comunemente usato per controlli di sicurezza, molti amministratori di sistema e di rete lo trovano utile per compiti di routine come l’inventario della rete, la gestione dei programmi di aggiornamento dei servizi e il monitoraggio degli host o dei tempi di attività dei servizi.

E’ stato originariamente scritto da Gordon Lyon e può rispondere facilmente alle seguenti domande:

  1. Trova i computer in esecuzione sulla rete locale
  2. Quali indirizzi IP hai trovato in esecuzione sulla rete locale?
  3. Scopri il sistema operativo della tua macchina di destinazione
  4. Scopri quali porte sono aperte sulla macchina che hai appena scansionato?
  5. Vedi se il sistema è infettato da malware o virus.
  6. Cerca server o servizi di rete non autorizzati sulla tua rete.
  7. Localizzare e rimuovere i computer che non soddisfano il livello minimo di sicurezza dell’organizzazione.

Esempi di comandi Nmap in Linux e Unix – Esempio di configurazione (LAB) per

La scansione delle porte può essere illegale in alcune giurisdizioni. Quindi configura un laboratorio come segue:

 +---------+ +---------+ | Network | +--------+ | server1 |-----------+ swtich +---------|server2 | +---------+ | (sw0) | +--------+ +----+----+ | | +---------+----------------+ | wks01 Linux/macOS/Win | +--------------------------+

dove,

  • wks01 è il tuo computer con sistema operativo Linux/macOS (OS X) o Unix. Viene utilizzato per la scansione della vostra rete locale. Il comando nmap deve essere installato su questo computer.
  • server1 può essere alimentato da sistemi operativi Linux / Unix / MS-Windows. Questo è un server senza patch. Sentiti libero di installare alcuni servizi come un web-server, un file server e così via.
  • server2 può essere alimentato da sistemi operativi Linux / Unix / MS-Windows. Si tratta di un server completamente patchato con firewall. Di nuovo, sentiti libero di installare alcuni servizi come un web-server, un file server e così via.
  • Tutti e tre i sistemi sono collegati tramite switch.

Come faccio a installare nmap su Linux?

Vedi:

  1. Debian / Ubuntu Linux: Installare il software nmap per la scansione della rete
  2. CentOS / RHEL: Installare nmap Network Security Scanner
  3. OpenBSD: Installare nmap Network Security Scanner

Scansionare un singolo host o un indirizzo IP (IPv4) usando nmap

Fig.01: output di nmap

Scansione di più indirizzi IP o subnet (IPv4)

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

Puoi scansionare anche un intervallo di indirizzi IP:

nmap 192.168.1.1-20

Puoi scansionare un intervallo di indirizzi IP usando un carattere jolly:

nmap 192.168.1.*

Infine, puoi scansionare un’intera subnet:

nmap 192.168.1.0/24

Lettura lista di host/reti da un file (IPv4)

L’opzione -iL ti permette di leggere la lista dei sistemi target usando un file di testo. Questo è utile per scansionare un gran numero di host/reti. Crea un file di testo come segue:
cat > /tmp/test.txt
Applica i nomi come segue:

server1.cyberciti.biz192.168.1.0/24192.168.1.1/2410.1.2.3localhost

La sintassi è la seguente:

nmap -iL /tmp/test.txt

Esclusione di host/reti (IPv4) da esempi di scansione nmap

Quando si scansiona un gran numero di host/reti è possibile escludere gli host da una scansione:

nmap 192.168.1.0/24 --exclude 192.168.1.5nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254

Oppure escludere la lista da un file chiamato /tmp/exclude.txt

nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt

Accendi lo script di scansione del sistema operativo e della versione (IPv4) con nmap

nmap -A 192.168.1.254nmap -v -A 192.168.1.1nmap -A -iL /tmp/scanlist.txt 

Trova se un host/rete è protetto da un firewall usando il comando namp

## nmap command examples for your host ##nmap -sA 192.168.1.254nmap -sA server1.cyberciti.biz

Scansiona un host quando è protetto dal firewall

In questo esempio di comando Nmap stiamo per scansionare un router/dispositivo wifi che ha 192.168.1.1 come IP:

nmap -PN 192.168.1.1nmap -PN server1.cyberciti.biz

Scansione di un host/indirizzo IPv6 esempi

L’opzione -6 abilita la scansione IPv6 con il comando namp. La sintassi è:

nmap -6 IPv6-Address-Herenmap -6 server1.cyberciti.biznmap -6 2607:f0d0:1002:51::4nmap -v A -6 2607:f0d0:1002:51::4

Scansiona una rete e scopri quali server e dispositivi sono attivi e funzionanti

Questo è conosciuto come host discovery o ping scan:

nmap -sP 192.168.1.0/24

Ecco come appare:

Come posso eseguire una scansione veloce usando il namp?

nmap -F 192.168.1.1nmap -6 -F IPv6_Address_Here

Visualizza il motivo per cui una porta è in un particolare stato

nmap --reason 192.168.1.1nmap --reason server1.cyberciti.biz

Outputs:

Mostra solo le porte aperte (o possibilmente aperte) usando il comando nmap in Linux

Esegui:

nmap --open 192.168.1.1nmap --open server1.cyberciti.biznmap --open 192.168.2.18

Esiti della scansione dal mio server Linux CentOS 7:

Mostra tutti i pacchetti inviati e ricevuti

nmap --packet-trace 192.168.1.1nmap --packet-trace server1.cyberciti.biz

Mostra le interfacce host e i percorsi

Questo è utile per il debug (comando ip o comando route o comando netstat come l’output usando il comando nmap su Linux)

nmap --iflist

Rapporto dettagliato creato dal comando Namp:

Come faccio la scansione di porte specifiche usando nmap?

Esiti di esempio:

16: Il modo più veloce per scansionare tutti i tuoi dispositivi/computer per le porte aperte

nmap -T5 192.168.1.0/24nmap -T5 {sub/net}

Come faccio a rilevare il sistema operativo remoto con l’aiuto di nmap?

Puoi identificare le applicazioni e il sistema operativo di un host remoto usando l’opzione -O:

nmap -O 192.168.1.1nmap -O --osscan-guess 192.168.1.1nmap -v -O --osscan-guess 192.168.1.1

Esiti di esempio:

Vedi anche Fingerprinting a web-server and a dns server command line tools per maggiori informazioni.

Come faccio a rilevare i numeri di versione dei servizi remoti (server/demone)?

Apri il terminale e poi digita il seguente comando nmap:

nmap -sV 192.168.1.1

Esiti di esempio:

Scansiona un host usando ping TCP ACK (PA) e TCP Syn (PS)

Se il firewall sta bloccando i ping ICMP standard, prova i seguenti metodi di scoperta degli host:

nmap -PS 192.168.1.1nmap -PS 80,21,443 192.168.1.1nmap -PA 192.168.1.1nmap -PA 80,21,200-512 192.168.1.1

Scansiona un host usando il protocollo IP ping

nmap -PO 192.168.1.1

Scansiona un host usando UDP ping

Questo scan bypassa i firewall e i filtri che schermano solo TCP:

nmap -PU 192.168.1.1nmap -PU 2000.2001 192.168.1.1

Trova le porte TCP più comunemente usate usando il TCP SYN Scan

Scansiona un host per i servizi UDP (UDP scan)

La maggior parte dei servizi popolari su Internet gira sul protocollo TCP. DNS, SNMP e DHCP sono tre dei servizi UDP più comuni. Usa la seguente sintassi per scoprire i servizi UDP:

nmap -sU nas03nmap -sU 192.168.1.1

Esiti di esempio:

Scansione del protocollo IP

Questo tipo di scansione ti permette di determinare quali protocolli IP (TCP, ICMP, IGMP, ecc.) sono supportati dalle macchine di destinazione:

nmap -sO 192.168.1.1

Scansiona un firewall per debolezze di sicurezza

I seguenti tipi di scansione sfruttano una sottile falla nel TCP e sono buoni per testare la sicurezza degli attacchi comuni:

Vedi come bloccare i packkets Xmas, syn-floods e altri attacchi conman con iptables.

Scansiona un firewall per frammenti di pacchetti

L’opzione -f fa sì che la scansione richiesta (incluse le scansioni ping) utilizzi piccoli pacchetti IP frammentati. L’idea è quella di dividere l’intestazione TCP su più pacchetti per rendere più difficile ai filtri dei pacchetti, ai sistemi di rilevamento delle intrusioni e ad altre seccature di rilevare ciò che stai facendo.

Cloak una scansione con esche

L’opzione -D fa sembrare all’host remoto che anche l’host o gli host che specifichi come esche stanno scansionando la rete di destinazione. Così il loro IDS potrebbe riportare 5-10 scansioni di porte da indirizzi IP unici, ma non sapranno quale IP li stava scansionando e quali erano innocenti esche:

nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ipnmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5

Scansiona un firewall per lo spoofing degli indirizzi MAC

Come posso salvare l’output in un file di testo?

La sintassi è:

nmap 192.168.1.1 > output.txtnmap -oN /path/to/filename 192.168.1.1nmap -oN output.txt 192.168.1.1

Scansione di server web e pipe in Nikto per la scansione

nmap -p80 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
nmap -p80,443 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -

Velocizza nmap

Passa l’opzione -T al comando nmap:
nmap -v -sS -A -T4 192.168.2.5
Esiti di esempio:

Non sei un fan degli strumenti a riga di comando namp?

Finora abbiamo visto esempi di comandi Nmap utilizzando le opzioni della riga di comando di Linux e Unix. Tuttavia, non tutti sono super comodi con la CLI. Quindi, possiamo usare l’applicazione GUI chiamata Zenmap, che è il front end/GUI ufficiale del network mapper:

Zenmap è la GUI ufficiale di Nmap Security Scanner. È un’applicazione multipiattaforma (Linux, Windows, Mac OS X, BSD, ecc.) libera e open source che mira a rendere Nmap facile da usare per i principianti, mentre fornisce funzioni avanzate per gli utenti esperti di Nmap. Le scansioni usate frequentemente possono essere salvate come profili per renderle facili da eseguire ripetutamente. Un creatore di comandi permette la creazione interattiva di linee di comando Nmap. I risultati delle scansioni possono essere salvati e visualizzati in seguito. I risultati delle scansioni salvate possono essere confrontati tra loro per vedere come differiscono. I risultati delle scansioni recenti sono memorizzati in un database ricercabile.

Puoi installare zenmap usando il seguente comando apt-get o il comando apt:
$ sudo apt-get install zenmap
Sample outputs:

Tiraduci il seguente comando per avviare zenmap:
$ sudo zenmap
Sample outputs

Fig.02zenmap in azione

Come posso rilevare e bloccare il port scanning sui server Linux e Unix/BSD?

Prova le seguenti risorse:

  1. Come usare lo strumento psad per rilevare e bloccare gli attacchi port scan in tempo reale.
  2. Debian / Ubuntu Linux: Installare e configurare Shoreline Firewall (Shorewall).
  3. CentOS / Redhat Iptables Firewall Configuration Tutorial.
  4. Linux: 20 Iptables Examples For New SysAdmins.
  5. 20 Linux Server Hardening Security Tips.

Conclusion

In questa guida, hai imparato il comando Nmap con molti esempi per Linux e l’uso con vari esempi. Si prega di consultare le seguenti risorse per ulteriori informazioni:

  • La home page ufficiale del progetto Nmap qui.

Il comando Nmap ha molte altre opzioni, e si prega di consultare la pagina man o la documentazione per ulteriori informazioni. Quali sono alcuni dei tuoi trucchi preferiti per la riga di comando di Nmap? Condividi i tuoi suggerimenti, trucchi e consigli preferiti nei commenti qui sotto.

🐧 Supporta il mio lavoro su Patreon o con una donazione.
🐧 Ricevi gli ultimi tutorial su Linux, Open Source & DevOps via RSS feed o newsletter settimanale via email.
🐧 25 commenti finora… aggiungine uno ↓
Categoria Lista di comandi Unix e Linux
File Gestione cat
Firewall Alpine Awall – CentOS 8 – OpenSUSE – RHEL 8 – Ubuntu 16.04 – Ubuntu 18.04 – Ubuntu 20.04
Utilità di rete dig – host – ip – nmap
OpenVPN CentOS 7 – CentOS 8 – Debian 10 – Debian 8/9 – Ubuntu 18.04 – Ubuntu 20.04
Package Manager apk – apt
Gestione Processi bg – chroot – cron – disown – fg – jobs – killall – kill – pidof – pstree – pwdx – time
Ricerca grep – whereis – which
Informazioni utente gruppi – id – lastcomm – last – lid/libuser-lid – logname – members – users – whoami – who – w
WireGuard VPN Alpine – CentOS 8 – Debian 10 – Firewall – Ubuntu 20.04

admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

lg