NMAP, il re dei programmi di hacking

Con l’articolo di oggi inauguriamo una serie di contributi grazie ai quali andremo a descrivere i programmi più interessanti utilizzati dagli hacker etici; un modo per rendere facilmente comprensibili, anche a chi non ha conoscenze di hacking, le nostre guide.

Cominciamo con quello che con tutta probabilità è il programma più famoso che esista, reso celebre da tante scene di film hollywoodiani: Nmap.

Nmap, Network Mapper, disponibile sia su Linux che Windows, un programma che principalmente fa una scansione delle porte logiche di un computer, ma cosa sono le porte logiche?

Immaginate i messaggi informatici come un gruppo di cittadini che si reca in comune per usufruire dei servizi municipali. Tutti i cittadini sanno l’indirizzo dell’edificio (indirizzo IP), ma questo non è sufficiente perché per poter ricevere il servizio desiderato devono recarsi ad uno sportello specifico, anagrafe, Servizi Sociali, amministrazione etc etc. Le porte logiche sono esattamente come gli sportelli di un comune, ognuno ha una sua collocazione e un’etichetta che ne indica i servizi erogati.

Le porte sono gli “Sportelli Comunali” di un computer…

Un computer eroga dei servizi e quindi esistono dei costrutti logici, fisicamente non esistono, che si chiamano porte e ad ogni porta corrisponde un servizio fornito. C’è la porta 80 per i server che ospitano siti web, protocollo HTTP, c’è la porta 443 per i server che ospitano siti web tramite protocollo HTTPS e cosi via per i servizi di email(POP3, IMAP), la condivisione delle stampanti, dei file, delle cartelle etc etc.

Nmap è un programma che ha il compito di esplorare una rete in cerca delle macchine disponibili (host) e dei servizi che erogano; per far questo svolge attività di Port Scanning, ossia invia messaggi alle porte e attende una risposta che può essere:

  • positiva, la porta è “aperta” ed eroga un servizio;
  • negativa, la porta è “chiusa” e non offre alcun servizio.
  • nessuna risposta, in questo caso la porta viene definita “filtrata” e non è possibile stabilirne lo stato.

Dalla prospettiva di un hacker una porta chiusa è inutile, se non eroga servizi non è possibile utilizzarla per violare il sistema, al contrario se la porta è aperta esiste la possibilità che sfruttando debolezze (vulnerabilità) del servizio offerto l’hacker acceda al sistema, violando la macchina.

Per capire il funzionamento di Nmap e le sue opzioni dobbiamo anche capire come due macchine aprono un canale di comunicazione attraverso quello che viene chiamato Three-way handshake.

La macchina che si vuole connettere invia ad una determinata porta della macchina destinataria un primo messaggio che è una richiesta di sincronizzazione chiamato “SYN”, in altre parole gli sta dicendo:

Ciao, mi voglio mettere in comunicazione con te”.

Il computer destinatario risponde con un secondo messaggio chiamato “SYN-ACK” che possiamo leggere come:

“Ok, ho capito che ti vuoi connettere; sono pronto”.

A questo messaggio la prima macchina risponde con un terzo messaggio chiamato “ACK” che possiamo interpretare come:

“Ok, ho capito che sei pronto, incomincio a inviarti i miei messaggi su questa porta”.

Se i tre messaggi vengono scambiati senza intoppi la connessione è aperta e le macchine cominciano a comunicare.

Schema 3-way-handshake

Capito quale sia lo scopo principale di questo tool diamo un’occhiata alle sue principali opzioni per capirne il funzionamento. La sua sintassi è semplice, basta scrivere “nmap” seguito dalle opzioni scelte e infine dall’IP da sondare.

La prima opzione da scegliere è che tipo di scansione vogliamo realizzare, va da sé che ne esistono di vario tipo, ma per ora ci concentreremo sulle opzioni -sT e -sS.

-sT (TCP connect scan), in questo tipo di scansione le due macchine stabiliscono una connessione completa, ossia lo scambio iniziale di messaggi porta all’apertura di un canale di comunicazione.

L’opzione -sS che sta per TCP SYN scan, invece invia il primo messaggio (SYN), ma dopo che la porta destinataria ha risposto con il suo “SYN-ACK”, invece di mandare il terzo messaggio (ACK) chiude la comunicazione, in termini tecnici manda un messaggio di RESET(RST).

Perché?

La spiegazione sta nel fatto che di norma le macchine tengono traccia delle comunicazioni aperte, mentre quelle non concluse non vengono registrate, questo si traduce nella possibilità per l’hacker di portare a termine il Port Scanning restando nascosto.

L’output di una scansione con Nmap

Ovviamente stabilire lo stato di una porta non è sufficiente; per lanciare un attacco è fondamentale conoscere che servizio eroga e quale sia la versione di questo servizio al fine di poter fare ricerche e trovare eventuali vulnerabilità da sfruttare. L’opzione deputata al recupero delle informazioni basilari sul sistema operativo della macchina scansionata e le versioni dei servizi è -A.

Infine da annotare l’opzione -p- che estende la scansione a tutte le 65535 porte del sistema, questo è necessario perché di default Nmap scansiona solo le 1000 porte più comuni, ma per un hacker è fondamentale avere una visione totale del sistema da attaccare.

Ovviamente esistono altre numerose opzioni di Nmap e per chi volesse approfondire online è disponibile una guida ufficiale ; noi ci fermiamo ad una infarinatura utile per capire meglio come avvengono gli attacchi informatici e quali sono gli strumenti utilizzati dagli hacker.

Articolo creato 84

Un commento su “NMAP, il re dei programmi di hacking

I commenti sono chiusi.

Inizia a scrivere il termine ricerca qua sopra e premi invio per iniziare la ricerca. Premi ESC per annullare.

Torna in alto