Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Nmap 6: le novità

Tante novità per Nmap: arrivano nuovi strumenti e molti script per automatizzare le scansioni.
Tante novità per Nmap: arrivano nuovi strumenti e molti script per automatizzare le scansioni.
Link copiato negli appunti

Introduzione

Abbiamo già parlato di Nmap in un precedente articolo a proposito delle tecniche di firewall evasion. Dal 1997, anno in cui fu rilasciata la prima versione, Nmap ne ha fatta di strada, giungendo da pochi giorni alla release 6.00, che contiene una nutrita serie di miglioramenti (oltre 600 rispetto alla versione 5.00, secondo quanto riportato dal relativo changelog). In questo articolo andremo ad analizzarne i più significativi, anche perchè prenderli in considerazione tutti sarebbe davvero impossibile.

Complessivamente, almeno a parere di chi scrive, si ha l'impressione che gli sivluppatori, oltre ad aver introdotto enhancements sia a livello di funzionalità che di performance, abbiano anche impresso una vera e propria "sterzata" nella direzione del Vulnerabilitiy Assessment e del Penetration Testing, potenziando ad esempio l'integrazione con i db pubblici che tengono traccia delle vulnerabilità scoperte, come CVE, OSVDB e BID già a livello di librerie, attraverso la library vulns.

Nmap Scripting Engine

L'Nmap Scripting Engine (NSE) è il motore di scripting su cui è costruito Nmap e permette agli utenti di scrivere e condividere con la community i propri script. Ad oggi, nella versione 6.00 si contano oltre 348 script, mentre nella versione 5.00 erano "solo" 59. Poichè Nmap nasce innanzitutto per l'attività di information gathering, sono stati realizzati una serie script di broadcast in grado di riconoscere nuovi servizi in ascolto, che spaziano dal DNS Service Discovery Protocol (DNS-SD) al discovery di servizi che annunciano la presenza in rete di applicazioni come dropbox, pc-anywhere o Microsoft SQL Server o ancora servizi ben noti come dhcp, netbios e ping. Sono stati inoltre aggiunti script in grado di riconoscere 44 nuovi protocolli, tra cui alcuni be noti come UPnP, vnc o iscsi e addirittura bitcoin e altri un pò più "oscuri" ai più come hadoop, drda o acarsd. Si noti invece, per tornare un attimo a ciò che si accennava in Introduzione circa il penetration testing, la presenza di script per il rilevamento di backdoors come BackOrifice o NetBus.

Sempre a proposito di pentest, NSE integra ora 53 script per il bruteforcing di altrettanti servizi di autenticazione, tra cui alcuni notissimi. Oltre a script per il bruteforcing di servizi di rete "classici" come ftp-brute, http-brute, pop3-brute o telnet-brute, vale certamente la pena di citare quelli scritti per testare web applications, come http-joomla-brute, http-wordpress-brute o DBMS come ms-sql-brute, mysql-brute, oracle-brute (e oracle-sid-brute) e addirittura exploitation tools come nessus-xmlrpc-brute e metasploit-xmlrpc-brute.
Oltre al bruteforcing puro vi è ora anche la possibilità di sferrare attacchi a dizionario utilizzando una lista di 5000 password che a prima vista potrebbero sembrare pochissime per chi è abituato ad utilizzare dizionari ben più corposi o rainbow-tables. La particolarità di tale dizionario però risiede nel fatto che è stato costruito utilizzando le 635.546 password esposte a seguito di noti episodi di compromissione come quello relativo al sito di gossip Gawker, descritto su slashdot
e combinando tali risultati con quelli venuti fuori da altri leaks come quelli relativi a MySpace, PHPBB e così via. Si tratta quindi di un dizionario di password "di qualità", cioè delle 5000 password risultate essere le più utilizzate in assoluto, proprio a seguito dell'analisi delle utenze compromesse di cui sopra. Le utenze compromesse grazie a questi tipi di attacco, inoltre, possono ora essere conservate in una "credentials storage library" sia per usi futuri che per generare una reportistica delle credenziali compromesse.

Web Scanning

A seguito della continua proliferazione di servizi esposti via HTTP, anche Nmap si è adeguato aumentando il numero degli script focalizzati sul web scanning, che sono passati da 6 a 54. Tra questi ce ne sono alcuni che in realtà possono essere sostituiti da semplici chiamate GET via telnet come http-title, che determina la pagina di default di un web server e altri invece che si rivelano certamente più interessanti, come ad esempio http-backup-finder, che setaccia un sito web alla ricerca di copie di backup utilizzando filename noti come index.bak, index.html~, default.bak e così via. Analogamente, può risultare sicuramente utile lo script http-enum che scansiona l'albero delle directory di un sito web testando oltre 2000 possibili URI o http-email-harvest che effettua una ricerca di indirizzi e-mail.

Front-end e performance

Come ben sanno gli utenti abituali, Nmap è dotato da tempo di una GUI cross-platform chiamata Zenmap, scaricabile - come Nmap - dal sito nmap.org. Uno dei miglioramenti apportati nella versione 6.00 al modulo network topology viewer (che consente l'esplorazione interattiva della rete scansionata), visibile in fig. 1, riguarda la possibilità di poter selezionare degli script e relativi argomenti attraverso un'interfaccia grafica raggiungibile dal menu "Profile-->Edit Selected Profile" e selezionando la tab "Scripting".

Il Network Topology Viewer di Zenmap
(clic per ingrandire)


Il Network Topology Viewer di Zenmap

In questo modo è possibile decidere di volta in volta quali script applicare in una scansione a seconda dei risultati che si vogliono ottenere. In figura è visibile l'interfaccia per la selezione degli script.

Interfaccia di selezione degli script
(clic per ingrandire)


Interfaccia di selezione degli script

Ad esempio, selezionando lo script http-brute

nmap --script http-brute -p 80

Ogni script è ampiamente commentato e l'utilizzo risulta davvero agevole.

Per quanto riguarda invece l'aspetto delle performance, oltre al pieno supporto al protocollo IPv6, sono state apportati significativi miglioramenti in tal senso. Innanzitutto è stato completamente riscritto il traceroute Last but not least

Nuovi strumenti integrati

Un discorso a parte meritano certamente i nuovi tool che Nmap integra ora al suo interno e di cui pure si è accennato in un precedente articolo. Il primo di questi è Nping. Come si intuisce dal nome, Nping non è solo un'utility per il rilevamento degli host attivi, ma un vero e proprio strumento di analisi che consente la generazione di pacchetti per condurre stress test, ARP poisoning, attacchi DoS e altro. Nping offre inoltre una particolare modalità operativa chiamata "echo mode", che consente agli utenti di poter osservare come cambiano i pacchetti in transito, rivelando le differenze tra pacchetti inviati e pacchetti ricevuti. In figura 3 è visibile il risultato dell'esecuzione di Nping sul sito html.it, ove l'opzione --tcp indica il TCP Probe Mode e le porte testate (opzione -p) sono la 80 e la 433. Per una descrizione completa delle possibilità offerte da Nping si veda la relativa documentazione.

Figura 3. L'output di Nping
(clic per ingrandire)


L'output di Nping

Un altro strumento interessante è Ncat

Conclusioni

Sono molti i miglioramenti apportati nella versione 6.00 di Nmap e trattarli tutti puntualmente esula certamente dagli scopi del presente articolo. Per una descrizione più approfondita si rimanda al sito nmap.org, che contiene anche tutta la documentazione di supporto, nonchè una Wiki.

Ti consigliamo anche