
A caccia di intrusi con Nmap
Un controllo sistematico delle porte di rete permette di individuare eventuali tentativi di attacco che potrebbero mettere in pericolo il PC. Ecco come si fa
(pagina 1 di 3)
Tra i tanti compiti svolti dagli amministratori di sistema, c’è anche
quello di verificare la sicurezza della rete e delle macchine che la
compongono. Una parte preponderante di questa attività riguarda la
fase di “auditing”, durante la quale le macchine sono sottoposte a
particolari controlli, spesso con simulazioni di attacchi al sistema, atti a verificarne la “robustezza”. Tra questi, riveste un ruolo fondamentale il cosiddetto
“portscanning”. In pratica, tramite l’utilizzo di particolari software, detti
“portscanner” si esegue un controllo accurato (scansione) delle porte di rete,
cioè quelle utilizzate dal sistema per offrire servizi come HTTP (server web),
FTP, Samba, SSH, ma anche IRC, P2P, database server e molto altro ancora.
Tra gli strumenti più utilizzati per svolgere questo tipo di attività, quello più
diffuso è senza dubbio Nmap, il portscanner per antonomasia.
Portscanning in pratica
Nel corso dell’articolo scopriremo come utilizzarlo per scovare eventuali punti
vulnerabili che si annidano all’interno di una rete e saremo in grado di svolgere
le seguenti operazioni: scoprire quante macchine sono attive all’interno di una
rete; enumerare (verificare) le porte di rete aperte su una o più macchine;
interrogare i servizi di un PC al fine di scoprirne la versione del software utilizzato
per erogarli e capire se questo è affetto da qualche vulnerabilità particolare;
determinare il sistema operativo utilizzato e se possibile le caratteristiche
hardware; scoprire il tipo e le regole di un eventuale firewall. Tutte queste operazioni
sono necessarie nella primissima fase del processo di auditing, detta di
information gathering, nella quale è necessario acquisire il maggior numero
di informazioni su una macchina nella maniera più rapida possibile e, magari,
restando “invisibili”. Per farlo ci serviremo di Nmap, software composto da
due eseguibili: nmap e zenmap. Il primo è il
portscanner in versione console, il secondo la
sua interfaccia grafica. Nel tutorial “Alla scoperta
delle macchine” impareremo a individuare
i PC attivi in rete dopodiché esamineremo
in dettaglio le funzionalità più avanzate del
programma, iniziando, ovviamente, dal portscanning classico. A questo punto,
dopo aver imparato come si esegue una scansione e a interpretarne il risultato,
con il tutorial “Service Versioning e OS Detection”, passeremo alla seconda
fase che ci consentirà di scoprire la versione del software utilizzato per fornire
un particolare servizio (versioning) e di identificare il sistema operativo installato
sulla macchina bersaglio. Queste informazioni sono molto importanti in
previsione di un attacco perché permettono di sfruttare vulnerabilità ed exploit
specifici di un software o di un sistema operativo.
Le fasi di una connessione
Come funziona il sistema Three Way Handshake
Ogni connessione inizia con una sequenza composta da tre
fasi (three way handshake): il client invia un pacchetto SYN
con un numero di sequenza casuale al server; il server invia
un pacchetto SYN-ACK con il numero di sequenza inviato
dal client, incrementato di uno, e un numero di ACK casuale;
il client procede all’invio dei dati incrementando di uno il
numero di ACK per ogni pacchetto inviato. La sicurezza sta
tutta nel numero di sequenza del SYN e dell’ACK: se questi
numeri non fossero casuali per un aggressore sarebbe facile
individuarli e inserirsi nella connessione.