Tra gli strumenti per verificare la sicurezza della propria rete, controllare quali servizi sono in uso e su quali porte essi sono in ascolto, uno dei software migliori da utilizzare è certamente Nmap (Network Mapper).
Nmap è un software libero rilasciato sotto licenza GNU GPL ed è stato sviluppato proprio per avviare attività di port scanning, sia in locale che in remoto, su singoli indirizzi IP – privati o pubblici – o sugli intervalli specificati dall’utente così da determinare la presenza di porte aperte.
Il programma di base funziona da riga di comando ma è disponibile anche una pratica interfaccia utente che abbiamo presentato qualche tempo fa nell’articolo Port scanner: scansione di tutte le porte sull’IP pubblico.
Un’applicazione come Fing (Chi è connesso alla rete WiFi o al router?), comodamente installabile su uno smartphone Android, consente di verificare quali dispositivi sono connessi alla rete locale e permette, per ciascuno di essi, di stabilire in esecuzione e le porte in ascolto. Nmap nasce come software destinato principalmente per utilizzi professionali quindi per effettuare la scansione di centinaia o migliaia di dispositivi collegati alla rete.
Oltre all’attività di port scanning, Nmap consente di lanciare il comando ping (Ping cos’è, come funziona e a cosa serve) e controllare i sistemi operativi utilizzati su ciascun dispositivo. Si tratta inoltre di un software multipiattaforma disponibile nelle versioni per tutti i principali sistemi operativi, compresi Linux, Windows e macOS, che può contare anche su un’attivissima comunità di sviluppatori e utenti in tutto il mondo.
Estremamente versatile, Nmap consente anche di fare un inventario dei dispositivi collegati alla rete locale rilevando velocemente i device che non dovrebbero essere connessi.
Nel seguito presentiamo alcuni comandi di Nmap, utili nella maggior parte delle situazioni. I comandi descritti possono essere digitati nella casella Comando della versione di Nmap dotata di interfaccia grafica (chiamata Zenmap) oppure utilizzati da riga di comando.
Arping: per scoprire l’elenco dei dispositivi collegati alla rete locale
Utilizzando richieste ARP (Address Resolution Protocol) è possibile inviare frame di dati sulla rete per scoprire i dispositivi collegati e risalire al corrispondente MAC address. ARP è un protocollo di servizio che opera al livello di collegamento nella pila ISO/OSI.
La funzione di arping è analoga all’utilità ping precedentemente citata, soltanto che quest’ultima lavora a livello più alto ossia quello di rete (IP).
Il comando seguente permette di avviare con Nmap la scansione Arping della rete locale il cui gateway (generalmente il modem router) abbia indirizzo IP privato 192.168.1.1:
Come indicato con la subnet mask utilizzata, la scansione avverrà tra l’IP 192.168.1.1 e l’IP 192.168.1.254: Subnet mask, cos’è e a che cosa serve.
È importante evidenziare che questo tipo di scansione non invia alcun tipo di pacchetto ai dispositivi collegati alla rete. Nmap mostrerà gli indirizzi IP associati a ciascun dispositivo, il corrispondente MAC address e il produttore (o meglio, il produttore della scheda di rete, Ethernet o WiFi desunto dal MAC address; vedere anche Come cambiare MAC address su Windows, Linux e macOS).
L’opzione -sn
può essere considerata alla stregua di una scansione veloce e “leggera”.
Come trovare l’intervallo di indirizzi IP usati in rete locale
Per identificare l’intervallo di indirizzi locali usati all’interno della LAN basterà, in Windows, accedere al prompt dei comandi e digitare ipconfig /all
.
In Linux, invece, si può usare il comando ip addr
nella finestra del terminale (con netstat -i
si ottiene l’elenco completo delle interfacce di rete in uso).
Come avviare un port scanning con Nmap
Nmap permette di usare una vasta schiera di tecniche differenti per eseguire un port scanning e andare alla ricerca di porte aperte e servizi in ascolto.
Rimuovendo l’opzione -sn
, Nmap avvierà una scansione più approfondita sugli indirizzi IP indicati. In particolare, l’utilità effettuerà un port scan ovvero andrà anche alla ricerca delle porte aperte su ciascun dispositivo. Se, ad esempio, su uno o più device connessi in LAN dovesse risultare in esecuzione un server web, la porta 80 o la 443 potrebbero risultare aperte.
Digitando nmap 192.168.1.0/24
(sostituire il gruppo di IP d’interesse), Nmap restituirà anche la lista integrale delle porte aperte sui vari sistemi.
Cliccando sul menu a tendina Profilo, in alto a destra nella schermata principale di Zenmap, è possibile avviare diverse tipologie di port scanning.
Il comando nmap -T4 -A -v 192.168.1.0/24
corrisponde a un port scanning aggressivo ulteriormente ampliabile chiedendo anche la verifica sulle porte UDP aperte: nmap -sS -sU -T4 -A -v 192.168.1.0/24
.
Al termine della scansione Nmap mostrerà un resoconto completo in formato testuale di tutte le informazioni raccolte durante la scansione, compresi sistemi operativi e relative versioni utilizzati su tutti i dispositivi.
Nella colonna di sinistra di Nmap sono indicati gli indirizzi IP di ciascun dispositivo rilevato in rete (l’icona a sinistra permette di capire il sistema operativo installato): dopo aver cliccato su uno di essi, si potrà accedere al contenuto della scheda Porte / Hosts per verificare le porte aperte (evidenziate in verde) e i servizi in ascolto su tali porte.
Per ciascuna porta Nmap indica il servizio in esecuzione con tanto di nome e versione: così è possibile sapere se una macchina stesse eseguendo una versione obsoleta, e quindi vulnerabile, di un componente server.
Cliccando sulla scheda Topologia si possono visualizzare in forma grafica tutti gli host collegati alla rete, nell’intervallo di IP indicato in fase di scansione: il tasto destro consentirà di accedere immediatamente alle informazioni raccolte per ciascun dispositivo.
In precedenza abbiamo fatto unicamente riferimento alla scansione della rete locale: Nmap consente però di specificare anche intervalli di indirizzi IP pubblici da “scandagliare”. Questo tipo di attività andrebbero però eseguite previo consenso degli amministratori dei sistemi che rispondono alle richieste remote su IP pubblici. Il motore di ricerca Shodan mostra i risultati dei port scanning portati a termine su scala planetaria: Shodan, cos’è e come permette di scovare webcam, router, NAS e altri dispositivi remoti.
Ciò che è importante verificare è quali porte fossero eventualmente visibili e raggiungibili dall’esterno sull’IP pubblico. A tal proposito vedere l’articolo Come rendere la rete sicura sia in azienda che a casa.
La scansione delle porte eventualmente visibili sull’IP pubblico può essere avviata digitando ad esempio nmap -sS -sU -T4 -A -v
seguito dall’IP pubblico da esaminare.
L’IP pubblico correntemente assegnato alla propria connessione di rete può essere desunto a questo indirizzo (vedere Your IP address a destra del logo).
Altri comandi Nmap utili sono riassunti a questo indirizzo.