In un panorama di cybersecurity in costante evoluzione, è fondamentale essere sempre un passo avanti ai soggetti malintenzionati, e la comprensione delle complessità della tua rete è parte integrante di questo processo. Uno strumento che può aiutarti in questo senso si è guadagnato la reputazione di protagonista della cybersecurity: Nmap. Nmap, acronimo di Network Mapper, possiede le chiavi per sbloccare preziose informazioni sulla tua infrastruttura di rete. Che tu sia un professionista della cybersecurity alla ricerca di vulnerabilità o un amministratore di sistema che si occupa della salute della tua rete, capire come utilizzare Nmap è fondamentale.
Che cos’è Nmap?
Nmap è un’utilità open-source usata per la scansione della rete e l’audit di sicurezza. Grazie alle sue capacità e alla sua versatilità, questo software è diventato un punto fermo nell’arsenale dei professionisti della cybersecurity, degli amministratori di sistema e degli hacker etici. La serie di funzioni di Nmap va oltre la scansione di rete di base e comprende:
- Individuazione degli host:Nmap identifica gli host attivi su una rete, gettando le basi per un’esplorazione più approfondita.
- Scansione delle porte:Nmap individua le porte e i servizi aperti, fornendo agli amministratori una comprensione della superficie di attacco di una rete.
- Rilevamento della versione:Nmap può identificare le versioni dei servizi e aiutare a individuare le potenziali vulnerabilità associate a versioni specifiche.
- Possibilità di interagire utilizzando gli script:NSE (Nmap Scripting Engine) di Nmap consente agli utenti di creare scansioni personalizzate e di automatizzare attività complesse.
- Impronta digitale del sistema operativo:Le funzionalità di rilevamento del sistema operativo di Nmap consentono agli amministratori di identificare i sistemi operativi in esecuzione sugli host rilevati, aiutando l’inventario della rete e le valutazioni di sicurezza.
Conoscere Nmap: scansione della rete e audit di sicurezza
La scansione della rete esplora sistematicamente una rete di computer per identificarne i componenti, valutarne la topologia e scoprire potenziali punti deboli della sicurezza. Quando gli amministratori sanno come è configurata una rete, possono prendere decisioni informate sulla sicurezza e rafforzare il perimetro digitale.
Grazie alla sua vasta gamma di tecniche di scansione e alla sua personalizzazione, Nmap è lo strumento leader per la scansione della rete e l’audit di sicurezza. Ecco alcuni dei ruoli che svolge:
- Inventario di rete: Nmap è in grado di creare un elenco di tutte le risorse software e di servizio presenti in una rete e di creare una “mappa” della rete con dettagli che includono indirizzi IP, porte, versioni di software o servizi, sistemi operativi e indirizzi MAC.
- Rilevamento delle vulnerabilità:Nmap può scansionare una rete alla ricerca di vulnerabilità confrontando i sistemi operativi e le versioni dei servizi in esecuzione su una rete con le vulnerabilità note utilizzando Nmap Scripting Engine (NSE).
- Monitoraggio della rete: Il monitoraggio della rete può essere realizzato automatizzando le attività di scansione con Nmap Scripting Engine.
Come iniziare con Nmap
Installare Nmap
Il primo passo per utilizzare Nmap è installarlo sul computer. Di seguito vengono illustrate le istruzioni per i tre principali sistemi operativi. Si può fare riferimento alla pagina di download di Nmap per ogni processo di installazione per assicurarsi di ottenere la versione più recente del software.
Installare Nmap su Linux
La modalità di installazione di Nmap su Linux dipende dalla distribuzione in uso. Per le distribuzioni basate su RPM come Red Hat, Mandrake, SUSE e Fedora, utilizza il seguente comando:
yum install nmap
Per Debian Linux e i suoi derivati come Ubuntu, esegui questo comando:
apt-get install nmap
Sulla maggior parte delle distribuzioni Linux, ZenMap, l’interfaccia grafica ufficiale di Nmap deve essere installata separatamente.
Installare Nmap su Windows
Inizia consultando la pagina di download di Nmap e scarica l’ultima versione stabile di Nmap per Windows. Una volta scaricata, fai doppio clic sul file di installazione. Clicca su Sì quando Windows chiede se si desidera consentire all’applicazione di apportare modifiche al dispositivo e accettare la licenza.
Nel menu successivo ti verrà chiesto quali componenti desideri installare. Tutto ciò di cui hai bisogno sarà già controllato, compreso ZenMap se preferisci usare un’interfaccia grafica. Clicca su Next in questa schermata.
Nella schermata finale della configurazione di Nmap, clicca su Install.
Dopo l’installazione di Nmap, apparirà la schermata di configurazione di Npcap. Npcap è la versione Windows della libreria libpcap, che supporta la cattura dei pacchetti e l’analisi della rete ed è necessaria per il funzionamento di Nmap. Accetta la licenza e clicca su Install nella schermata successiva. Ulteriormente segui le fasi del processo di installazione, lasciando invariate le impostazioni predefinite. Una volta completata l’installazione, sul desktop sarà presente un collegamento a Zenmap e una cartella del menu di avvio.
Installare Nmap su Mac
Esistono un paio di opzioni per installare Nmap su un computer Mac. Il primo è semplice se hai già installato Homebrew. È sufficiente utilizzare il seguente comando:
brew install nmap
È altretanto possibile visitare la mappa dei download di Nmap, scorrere fino alla sezione Mac OS X Binaries e scaricare l’ultima versione stabile del programma di installazione, un file .dmg. Questa versione è dotata anche di ZenMap. È sufficiente fare doppio clic sul file dmg per avviare il programma di installazione e seguire le istruzioni.
Comandi e sintassi di base di Nmap
Ora che Nmap è stato installato, è possibile iniziare a imparare alcuni dei comandi base per iniziare la scansione della rete:
Guida
Per ottenere aiuto da Nmap, non è nemmeno necessario utilizzare un parametro. Basta eseguire nmap in un terminale.
nmap
Semplice individuazione degli host
Il primo passo della scansione della rete è l’individuazione degli host, che rivela i dispositivi attivi sulla rete. Ecco il comando:
nmap <target>
Nel comando, <target> può essere un indirizzo IP, un nome host o un intervallo di indirizzi IP. Ecco alcuni esempi di ciascuno di essi:
#IP singolo nmap 127.0.0.1 #Nome dell’host nmap example.com #Intervallo di indirizzi IP nmap 192.168.10.0/24
Scansione ping
Questo comando identifica gli host attivi sulla rete senza inviare alcun pacchetto all’host. La sintassi di questa scansione è:
nmap -sn <target>
In questo caso <target> può anche essere un indirizzo IP, un nome host o un intervallo di indirizzi IP.
Scansione delle porte di base
È possibile utilizzare la scansione delle porte di base per sondare le porte e i servizi aperti su una destinazione. Il comando è il seguente:
nmap -p <port-range> <target>
Sostituisci <port-range> con un singolo numero di porta o un intervallo di porte (ad esempio 80, 443 o 1-1024) e <target> con l’indirizzo IP o il nome dell’host della destinazione.
Rilevamento della versione
L’apprendimento delle versioni dei servizi in esecuzione sulle porte aperte è essenziale per la valutazione della vulnerabilità. Per abilitare il rilevamento della versione in una scansione della porta di base, basta modificare l’ultimo comando in questo modo:
nmap -sV -p <port-range> <target>
Il -sV indica a Nmap di eseguire il rilevamento della versione sulle porte specificate.
Fingerprinting del sistema operativo:
Nmap può anche determinare il sistema operativo di un host di destinazione tramite il fingerprinting del sistema operativo quando si utilizza il flag -O. Ecco il comando:
nmap -O <target>
Qui, <target> è un indirizzo IP o un nome di host.
Utilizzo di Nmap per la scansione della rete
Adesso che conosci alcuni dei comandi e delle opzioni di base di Nmap, ti aiuteremo a metterli in pratica. Per seguire la procedura, è necessario un intervallo di IP da scansionare. Per trovare un intervallo sulla rete, occorre innanzitutto individuare l’indirizzo IP del dispositivo. Per lo scopo di questo articolo, useremo 10.0.0.23, quindi per il nostro intervallo IP useremo 10.0.0.0/24, che è la notazione CIDR (Classless Inter-Domain Routing) che rappresenta i 256 indirizzi 10.0.0.0 – 10.0.0.255. Per alcune di queste scansioni è possibile utilizzare anche scanme.nmap.org, creato per aiutare le persone a imparare a usare Nmap.
Utilizzo di una scansione ping per identificare gli host attivi
La scansione ping costituisce la base dell’individuazione degli host, consentendo di trovare rapidamente gli host attivi di una rete. Per fare una scansione ping dell’intervallo di indirizzi IP sulla mia rete, utilizza il seguente comando:
nmap -sn 10.0.0.0/24
Ecco il risultato, che mostra cinque host sulla mia rete:
Esplorazione di diverse tecniche di scansione delle porte
Nmap non si limita alla sola scansione ping. Una scansione ping ci fornisce gli indirizzi IP degli host, ma questo è l’unico dato che raccogliamo dalla scansione. Dovremo esplorare altre tecniche di scansione per ottenere maggiori informazioni sugli host.
Scansione TCP connect
La scansione TCP connect è la tecnica di scansione più semplice. Nmap stabilisce un handshake TCP completo a tre vie con ogni porta di destinazione per determinarne lo stato (aperta, chiusa o filtrata). Ecco un esempio che utilizza un IP trovato in una scansione ping:
nmap -sT 10.0.0.1
Questa scansione fornisce un elenco delle porte di questo host:
Scansione SYN
La scansione SYN, una scansione semiaperta o stealth, invia pacchetti SYN alle porte di destinazione senza completare l’handshake. Valuta le risposte per determinare l’apertura della porta senza connettersi completamente. Questa tecnica è più veloce della scansione TCP connect e ha meno probabilità di essere rilevata. Ecco un esempio di scansione SYN sullo stesso indirizzo IP:
sudo nmap -sS 10.0.0.1
Si noterà che con questo comando è stato usato sudo. Alcuni comandi Nmap richiedono i privilegi di root e restituiscono questo messaggio: “È stato richiesto un tipo di scansione che richiede i privilegi di root.” Questo perché l’invio e la ricezione di pacchetti raw richiede l’accesso root su un sistema Unix o Mac. In Windows, è necessario utilizzare un account di amministratore.
Ecco i risultati della scansione:
Scansione UDP
Una scansione UDP si rivolge alle porte UDP dell’host di destinazione. Trattandosi di un protocollo senza connessione, per determinare lo stato di una porta UDP è necessario interpretare la risposta o la sua mancanza. Con questa scansione, Nmap rileva il limite di velocità e riduce la velocità per evitare il flooding. Quando ciò accade, la scansione può richiedere molto tempo, fino a 18 ore, con un limite di un pacchetto al secondo. Per questo motivo, abbiamo usato l’opzione -F per analizzare solo le prime 100 porte piuttosto che tutte le 65.535.
Ecco un esempio che richiede anche i privilegi di root o un account di amministratore:
sudo nmap -sU 10.0.0.1 -F
Ed ecco il risultato:
Scansione del sistema operativo
Conoscere i sistemi operativi in esecuzione sugli host di destinazione è importante per comprendere l’architettura di una rete. Ecco un esempio, che richiede ancora una volta i privilegi di root o un account di amministratore:
sudo nmap -O 10.0.0.0/24
Anche in questo caso abbiamo utilizzato una serie di indirizzi IP per la scansione. Ecco un paio di risultati:
Utilizzo di Nmap per gli audit di sicurezza
I comandi appena appresi ti permetteranno di iniziare un’audit di sicurezza elencando tutte le porte aperte, i servizi e i sistemi operativi in uso sulla rete. Questo controllo di sicurezza ti indicherà i potenziali punti di ingresso per i soggetti malintenzionati. È possibile trovare ancora più informazioni sui controlli di sicurezza utilizzando Nmap Scripting Engine o NSE.
NSE è dotato di una suite di script che ti aiuterà a trovare le vulnerabilità nei tuoi sistemi. Il motore di scripting utilizza il linguaggio di programmazione Lua ed è possibile scrivere i propri script per personalizzare le scansioni in base alle proprie esigenze. L’elenco attuale degli script NSE conta 604 voci che si possono consultare qui. La maggior parte di essi è preinstallata con Nmap.
Per il nostro esempio, useremo lo script vulners, che utilizza il database delle vulnerabilità di Vulners. Questo script dipende dalla disponibilità di informazioni sulle versioni del software, pertanto è necessario utilizzare il flag -sV. Ecco un esempio di scansione che utilizza questo script per analizzare un intervallo di IP:
nmap -sV --script=vulners 10.0.0.0/24
Fortunatamente o sfortunatamente, questa rete non presentava vulnerabilità, ma ecco un risultato parziale:
Nmap per diversi sistemi operativi
Mentre i comandi di Nmap sono generalmente coerenti tra i diversi sistemi operativi, alcuni suggerimenti e considerazioni possono essere più rilevanti per sistemi operativi specifici.
Linux
- Installare Nmap:La modalità di installazione di Nmap dipende dal tuo gestore di pacchetti. Si utilizzerà apt-get su Debian e Ubuntu o yum su RHEL/CentOS. Si può anche consultare la pagina di download di Nmap e installare manualmente i pacchetti RPM.
- Eseguire Nmap:Per l’esecuzione di Nmap su Linux, apri il terminale e inserisci il comando Nmap desiderato
- Aggiornare Nmap:Ciò dipende dalla tua distribuzione Linux. Per Debian e Ubuntu, il comando è sudo apt-get update e sudo apt-get upgrade nmap; per RHEL/Centos, è sudo yum update nmap.
- Disinstallare Nmap: Anche in questo caso, dipende dalla distribuzione. Utilizza sudo apt-get remove nmap per Debian/Ubuntu e sudo yum remove nmap per RHEL/Centos.
Windows
- Installare Nmap:Consulta la pagina di download di Nmap e scarica l’eseguibile di installazione.
- Eseguire Nmap:In Windows, esegui Nmap aprendo il Prompt dei comandi o PowerShell e immetti il comando Nmap desiderato.
- Aggiornare Nmap:Nmap rileva e aggiorna automaticamente l’ultima versione su Windows.
- Disinstallare Nmap:Apri la cartella in cui è installato Nmap e fai doppio clic sullo script di disinstallazione per avviare il processo.
- Prestazioni:Nmap su Windows potrebbe non essere efficiente come su un sistema basato su Unix e supporta solo le interfacce Ethernet per le scansioni di pacchetti grezzi, ma le prestazioni sono generalmente sufficienti per la maggior parte dei casi d’uso.
Mac
- Installare Nmap: Su Mac, è possibile installare Nmap scaricando il file di installazione .dmg dalla pagina di download di Nmap oppure con Homebrew tramite questo comando: brew install nmap.
- Eseguire Nmap:Apri l’applicazione terminale e inserisci il comando Nmap desiderato.
- Aggiornare Nmap: Se hai installato Nmap con Homebrew, esegui brew upgrade nmap per aggiornarlo. Se hai scaricato il file .dmg, è possibile trovare la propria versione di nmap eseguendo il comando nmap. È possibile confrontarla con l’attuale versione stabile nella pagina di download per verificare se è necessario scaricare una nuova installazione.
- Disinstallare Nmap: Se hai installato Nmap con Homebrew, esegui brew uninstall nmap per disinstallarlo. Se hai installato Nmap dal sito web ufficiale, esegui sudo rm -rf /usr/local/bin/nmap /usr/local/share/man/man1/nmap.1.
Utilizzare Nmap per una maggiore sicurezza di rete
Nmap può essere un alleato prezioso quando l’obiettivo è quello di mantenere la rete sicura. Utilizzando varie tecniche di scansione, Nmap scopre gli host attivi, sonda le porte aperte e identifica le potenziali vulnerabilità. Nmap Scripting Engine (NSE) ti aiuterà ad automatizzare queste valutazioni e a risolvere problemi di sicurezza specifici.
Per sfruttare Nmap in modo efficace:
- Adatta le scansioni a obiettivi e ambiti specifici.
- Applica regolarmente patch ai sistemi per proteggerti dalle vulnerabilità note.
- Esegui regolari controlli di sicurezza per essere sempre all’avanguardia.
Con Nmap come copilota di fiducia per la sicurezza, puoi navigare nel complesso panorama della sicurezza di rete, proteggere le tue risorse digitali e tutelarti dalle minacce informatiche.