Categories: Articoli

Alla scoperta dei segreti di Nmap

Anche se il comando ping è un buon inizio, per la ricognizione della rete e la scansione delle porte non c’è niente di meglio di Nmap. Dal momento che avete già un elenco XML di macchine sulla vostra LAN, sarebbe bello poterlo riutilizzare per evitare di ripetere la scansione. Purtroppo, i file XML generati da Nmapsi4 non possono essere facilmente gestiti da Nmap stesso. Aprite quindi un terminale e fatelo manualmente. Per iniziare, basta inserire:

$ sudo nmap 192.168.0.0/24

Esegue la scansione della rete locale come prima, ma invece di pingare le macchine, sonda le 1.000 porte di servizio più comuni su ognuna di esse e dice se ce n’è qualcuna in ascolto. Inoltre, se lo si esegue come root, fornisce alcune informazioni aggiuntive su ogni host come l’indirizzo MAC e il produttore. È il nostro metodo preferito in redazione per trovare gli indirizzi IP delle Raspberry Pi sulle nostre reti domestiche. Dal momento che nella maggior parte dei dispositivi è abilitato l’SSH, è sufficiente eseguire la scansione della porta 22:

$ sudo nmap -p22 192.168.0.*

Come si può vedere, a Nmap non importa se si preferiscono i caratteri jolly o le maschere di subnet. La Pi 4 utilizza un adattatore Ethernet diverso da quello dei suoi predecessori, quindi non viene visualizzato come Raspberry Pi Foundation.

Una volta individuata la rete, fate clic su Scan Options per avviare una scansione più approfondita delle macchine

Individuare i servizi in esecuzione

Lasciamo ora le Pi e consideriamo i servizi in esecuzione sulla vostra rete. I risultati della scansione precedente possono rivelare host che eseguono SSH, interfacce Web, desktop remoti (VNC/RDP) e altro. I servizi in esecuzione potrebbero essere diversi da quelli elencati: sono solo ipotizzati in base al numero di porta in questa fase. Considerate ora il vostro router domestico. Quasi certamente sarà in esecuzione un pannello di controllo Web sulla porta 80, ma potrebbero essere attivi anche molti altri servizi. Per eseguire la scansione di ogni singola porta si può utilizzare il comando:

$ sudo nmap -p1-65535 192.168.0.1

Tuttavia, questo approccio non è il migliore. La scansione SYN predefinita di Nmap non è veloce per le porte chiuse e può intervenire una serie di ostacoli. Il tempo di completamento previsto nel nostro caso era di quasi un giorno, quindi abbiamo cambiato strumento. Masscan (Information Gathering > Network & Port Scanners) ha impiegato solo 15 minuti per dirci che non riusciva a trovare alcun servizio in esecuzione su porte oscure. Finora abbiamo spiato silenziosamente la rete con Etherape, abbiamo usato Nmap per trovare tutti gli host e ora stiamo scegliendo un host e facendo ispezioni approfondite. Si può utilizzare Nmap anche per eseguire il rilevamento della versione del sistema operativo e del servizio, anche se a volte si tratta di congetture se si incontrano impronte digitali sconosciute. I risultati della scansione precedente hanno indicato che il nostro router potrebbe avere un pannello di controllo Web in esecuzione sulla porta 80 e un server UPnP in esecuzione sulla porta 5000. Modificate i numeri qui sotto per adattarli alla vostra situazione. Eseguire $ nmap -A -p80,5000 192.168.0.1 ci ha rivelato che il server Web era Lighttpd e l’altro era MiniUPnpd. Il fatto che il router abbia tanti servizi in esecuzione non è necessariamente preoccupante di per sé. Abbiamo analizzato solo l’interfaccia LAN, cioè quella interna. Se ci fossero così tante porte aperte dall’esterno, sarebbe un problema. Per eseguire la scansione dall’esterno è necessario sapere l’indirizzo IP esterno, che è facile da trovare utilizzando un sito Web come https://ipinfo.io. Lo sfruttamento di un servizio vulnerabile è di solito un passo fondamentale in qualsiasi attività informatica illecita. L’anno scorso la vulnerabilità Log4shell in un framework Java ha compromesso migliaia di applicazioni, dai container Elasticsearch ai server di Minecraft. Sfortunatamente, molti server rimangono senza patch non solo per la disattenzione di alcuni amministratori, ma anche perché Log4j (il framework vulnerabile) è spesso sepolto nelle dipendenze delle principali applicazioni.

 

Scandagliare più a fondo con Nmap

Oltre alla ricognizione della rete e alla scoperta dei servizi, Nmap è in grado di fare ulteriori analisi. Grazie al suo potente motore di scripting (NSE o Nmap Scripting Engine), è possibile organizzare ogni sorta di attività personalizzata. Uno degli script più utili è quello fornito dal gruppo di analisi di sicurezza Vulners.com. Sfrutta la capacità di Nmap di rilevare le versioni dei servizi in esecuzione, insieme ai database delle vulnerabilità note, per indicare in modo dettagliato quali debolezze potrebbero affliggere il computer target. Per curiosità, abbiamo indagato sul server UPnP in esecuzione sul nostro router:

$ nmap -p 5000 -A –script vulners 192.168.0.1

Siamo rimasti sbigottiti quando abbiamo trovato nell’output quanto segue:

| vulners:

| cpe:/a:miniupnp_project:miniupnpd:1.9:

| EDB-ID:43501 7.5 https://vulners.

com/exploitdb/EDB-ID:43501 *EXPLOIT*

| CVE-2017-8798 7.5 https://vulners.

com/cve/CVE-2017-8798

 

I link ci hanno indicato che si trattava di un errore di firma degli interi nelle versioni 1.4-2.0 del client MiniUPnP e che i sistemi vulnerabili potevano essere sfruttati con un attacco Denial of Service. Anche se sarebbe stato divertente giocare con il codice Proof of Concept (PoC) a cui si fa riferimento in quei link, sarebbe stato inutile, perché si tratta di una vulnerabilità del programma client, non del server. Si tratta di una distinzione importante, perché il port scanning in generale può indicare solo i servizi vulnerabili sull’host. Potrebbero esserci molte altre vulnerabilità in altri software in esecuzione sul computer (e anche nella persona che lo utilizza) ma Nmap non può aiutarvi in questo senso. Questi script controllano solo le informazioni sulla versione, quindi vedere un output simile a quello sopra riportato non dovrebbe essere motivo di panico immediato. Ricordatevi che le vulnerabilità possono riguardare solo alcune funzioni di alcuni programmi in esecuzione in determinate configurazioni. Ma vale sempre la pena di indagare, ed è qui che strumenti come Pompem (vedi Pentesting > Exploitation Tools > Exploit Search) si rivelano utili.

Nel menu Pentesting ci sono numerosi strumenti accuratamente suddivisi in categorie. Nmap è il primo tool di scansione da utilizzare

 

 

 

 


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

hj_backdoor

Share
Published by
hj_backdoor

Recent Posts

Tracciamo l’attività al PC

Con ActivityWatch possiamo tenere sotto controllo il tempo passato con le varie attività al nostro…

1 giorno ago

Kaspersky protegge la posta elettronica

Rilasciata la nuova versione di Kaspersky Security for Mail Server che offre funzionalità avanzate per…

3 giorni ago

Giornata mondiale della password

Check Point raccomanda l'uso di password forti per proteggere gli utenti dalle minacce informatiche

5 giorni ago

La tecnologia nelle tessere della metro

Le carte trasporto servono a ridurre lo spreco di carta, velocizzare il transito dei passeggeri…

7 giorni ago

Kaspersky presenta Thin Client 2.0

Kaspersky ha sviluppato una propria infrastruttura thin client basata su KasperskyOS per garantire una connessione…

1 settimana ago

C’è una backdoor in Linux!

 Un semplice ritardo di 600 ms ha portato alla scoperta di una delle più pericolose…

1 settimana ago

Abbonati ad Hackerjournal per un anno a 33,90 € con digitale in omaggio anziché 46,90 €!

CLICCA QUI PER ABBONARTI!