Nmap è lo strumento ideale per eseguire un semplice inventario della rete o una valutazione delle vulnerabilità.
Per impostazione predefinita, Nmap esegue una scansione SYN (SYN scan), che funziona su ogni stack compatibile con TCP, invece di dipendere dalle idiosincrasie di specifiche piattaforme. Esso può essere utilizzato per scandire con rapidità migliaia di porte, e consente una chiara, affidabile distinzione fra porte in stati aperti, chiusi e filtrati.
Per eseguire un SYN scan sull’host www.yourorg.com, usate il comando
nmap www.yourorg.com
Sebbene non essenziale, esso è il migliore se si ha accesso root sulla macchina Unix o Linux, o si utilizza un account di amministratore su Windows, poiché la maggior parte delle tipologie di scansione spediscono e ricevono pacchetti ‘raw’ (non formattati, o ‘grezzi’), e sono disponibili soltanto per utenti con tali privilegi.
Se non si posseggono i necessari permessi o state scandendo una rete IPv6, usate il comando
nmap –sT www.yourorg.com
per eseguire una scansione di tipo TCP connect (scansione TCP con connessione).
Nmap scandisce tutte le porte fino alla 1024 inclusa, come anche le porte superiori indicate nel file nmap-services. Potete anche specificare le porte che volete scandire usando –p, quindi:
nmap –p U:53,T:21-25 www.yourorg.com
questo comando andrà a fare un scansione solo della porta UDP 53 e le porte TCP da 21 a 25.
Una volta che scoprite le porti visibili di una macchina, avete necessità di sapere quali servizi stanno girando su di esse, al fine di catalogarle o determinare a quali exploit la macchina è vulnerabile.
L’opzione –sV abilita l’interrogazione di individuazione della versione, ma un’opzione migliore è –A, che abilita sia l’identificazione del sistema operativo, sia la sua versione.
Ciò che segue utilizza il database nmap-service-probes per provare e determinare il protocollo del servizio, il nome dell’applicazione, il numero di versione, il nome host, il tipo di dispositivo, la famiglia del sistema operativo, e altri vari dettagli come la versione del protocollo SSH o se un server X è aperto alle connessioni:
nmap –A www.yourorg.com
Se Nmap è compilato con il supporto OpenSSL, esso si può anche connettere a un server SSL per ricavare il tipo di servizio ‘in ascolto’ dietro lo ‘strato’ di cifratura.
Un altro vantaggio di utilizzare la version detection è che Nmap cercherà di ottenere una risposta dalle porte TCP e UDP che una semplice scansione di porta non può stabilire se sono aperte o filtrate; poi, Nmap cambierà lo stato in ‘aperto’ se ha successo.
Nmap offre diversi formati di output per l’utilizzo sia da parte dell’utente, sia della macchina, includendo XML, che può essere importato in un database o analizzato da programmi come l’interfaccia grafica utente di Nmap, NmapFE. Per esempio, aggiungendo le seguienti opzioni:
-oX e –oN
potete salvare il normale output per una vostra revisione personale, salvando poi una versione XML della medesima scansione per un’analisi di programma, come in
nmap –A –oX scanreport.xml –oN scanreport.txt www.yourorg.com
Ci sono anche opzioni per il controllo del dettaglio dell’output, come anche vari messaggi di debugging. Se una scansione prolungata non viene completata per qualche ragione, essa può essere ripresa per arrivare all’obiettivo che si stava ricercando quando l’esecuzione si è bloccata, ma sfortunatamente, questa funzionalità non supporta il formato di output XML.