Molti tendono a vedere lo scanning come parte integrante del footprinting (di cui abbiamo parlato qui) ma, sebbene essi appartengano entrambi al data gathering (collezione dati) ed alla pratica hacking, i loro strumenti ed il loro procedimento sono molto diversi. Lo scanning, infatti, richiede anche una buona conoscenza della struttura e del funzionamento del network, dei protocolli e dei sistemi operativi: un hacker etico, ovvero un esperto di sicurezza che aiuta le aziende a migliorare la propria protezione trovando le falle nel sistema, spesso è in grado di ricostruire la mappa del network del proprio cliente migliorandola rispetto a quella consegnatagli (in genere obsoleta ed inaccurata) proprio grazie allo scanning.
Innanzitutto, lo scanning è necessariamente una fase successiva a quella del footprinting e non può desumerne: esso in fatti, ed in parte, è possibile metterlo in pratica grazie ad alcune informazioni recuperate durante la prima lunga fase di collezione; più tali dati saranno corretti e da noi ben interpretati più semplice si rivelerà essere lo scanning.
Ma diamogli una definizione: lo scanning è un processo utilizzato per sondare ed ingaggiare il target prescelto ottenendo informazioni su uno o un gruppo di hosts (ovvero i nodi ed i computer della rete).
Vi sono varie tipologie di scanning e diversi software che possiamo utilizzare per metterlo in atto.
Va anche sottolineato che, quando si mette in pratica lo scanning, bisogna sapere come nascondere le proprie tracce per minimizzare la possibilità di rivelare la propria presenza all’interno del sistema ed evitare di allarmare firewall et similia. A questo proprosito, nel corso del tempo, abbiamo visto alcuni degli innumerevoli strumenti che possono aiutarci in questo come, per esempio, il browser TOR e Noisy. Alcuni potrebbero a questo punto suggerire l’uso del sistema operativo, Tails studiato appositamente per rendere facile per chiunque navigare in modo anonimo, ma in caso di un uso professionale ci sono altri OS più adatti alla pratica in oggetto e più comodi da personalizzare secondo le proprie necessità (come Kali Linux, ottimo per il pen testing e l’hacking etico, ma che sconsigliamo a chi ha poca pratica con gli OS di Linux).
Tra le tante informazioni che possiamo recuperare e analizzare assieme a quelle precedentemente collezionate con il footprinting troviamo:
- host attivi sul network, poiché non tutti gli IP trovati inizialmente potrebbero essere funzionanti
- informazioni relative a porte aperte e/o chiuse
- informazioni sui sistemi operativi e sull’architettura utilizzata
- servizi o processi attivi sugli hosts
- tipi e importanza delle potenziali vulnerabilità
- informazioni relative ad aggiornamenti e patch presenti nel sistema
- presenza di firewalls
- indirizzi dei router o di altri strumenti
Per controllare i sistemi attivi esistono quattro diversi metodi che si compensano tra loro e che verranno scelti dall’utente a seconda del sistema con cui si mette alla prova: wardiling, pinging e port scanning.
- Wardiling, uno dei metodi più antiquati (risale infatti agli anni Ottanta), ma che può ancora rivelarsi utile. Esso consiste nel comporre un blocco di numeri di telefono usando un modem standard per localizzare dei sistemi che hanno il proprio modem collegato e che accettani connessioni.
- Pinging (o ICMP scanning), uno dei primi metodi che si imparano quando ci si approccia alle chat oppure all’hacking. Viene utilizzato per determinare se l’host remoto è connesso o meno: è un buon metodo per inizializzare lo scanning anche perché ci suggerisce qla velocità di scambio dei pacchetti. Il comando utilizzato su terminale è costituito dalla parola pink e dal nome dell’host oppure dall’IP del proprio target (potrebbe per esempio essere il link di un sito internet, sarà facile risalire all’IP utilizzando nslookup). Un altro modo per ottenere il pink è il comando: nmap -sn -v seguito dall’indirizzo IP del target.
- Una volta localizzati i sistemi connessi, il passo successivo sarà quello di controllarne lo stato delle porte. Anche in questo caso si potrà ricorrere ad nmap.
USARE ZENMAP
Qualcuno ha descritto nmap come il coltellino svizzero proprio per la sua utilità. In effetti, questo strumento open source ci permette di esplorare e controllare la sicurezza della rete. Zenmap è semplicemente l’interfaccia sviluppata per rendere l’utilizzo di nmap più diretto, inserendo automaticamente i comandi a seconda dell’azione richiesta e senza la necessità di ricorrere al terminale. Diamo quindi un’occhiata veloce a questa GUI.
Abbiamo effettuato un scan con profilo veloce utilizzando l’indirizzo del sito scanme.nmap.org (è possibile ovviamente utilizzare anche e direttamente gli IP). Vediamo, allora, cosa possiamo dedurne. Prima di tutto guardiamo la sessione Nmap Output.
La scelta del comando -T4 ci dice che stiamo effettuando uno scan veloce, mentre la flag -A attiva il controllo del sistema operatico, dello script scanning e del traceroute.
Altri comandi simili sono i seguenti:
- -T0, uno scan particolarmente lento ed utile per bypassare l’IDS (i sistemi di rilevazione delle intrusioni)
- -T1, simile a quello precedente, leggermente più veloce ma comunque lento
- -T2, una via di mezzo
- -T3, è la modalità tendenzialmente preimpostata
- -T5 molto veloce ma poco aggressivo
La prime stringhe mostrano la versione di Nmap usata ed informazioni su quello che verrà eseguito, in questo caso sono stati caricati 151 scripts dal NSE (Nmap Scripting Engine).
Dopodiché, come possiamo vedere nell’immagine sottostante, troviamo lo scan del ping per comprendere se l’host è connesso, possiamo controllare i servizi e l’OS, mappare con tracerout la topologia del network, seguirà quindi un report che mostrerà dei dettagli relativi alle porte aperte ed ai servizi.
Vediamo quindi che il sito di scanme.nmap.org, che ci permette di essere utilizzato come prova per comprendere come funziona Zenmap o lo stesso nmap, ha ben 5 porte aperte che potrebbero essere sfruttate per un possibile attacco.
Nella sezione dedicata alla topologia possiamo osservare la mappatura della rete che abbiamo scannerizzato osservando visivamente il suo schema.

Uno scanning di questo tipo può essere utilizzato tranquillamente per provare e cercare possibili porte aperte e vulnerabilità del nostro stesso sistema per, poi, eventualmente occuparci della loro correzione. Dobbiamo, infatti, sempre ricordare che questo tipo di strumenti a nostra disposizione andrebbero sfruttati di modo da comprendere quale sia il modo migliore per proteggere i nostri sistemi e proteggerne le informazioni al loro interno.
Per capirne di più basterà giocare un po’ con Zenmap oppure con i comandi di nmap tramite terminale, osservarne i dettagli ed i report così da comprendere anche come la topologia di un sito possa essere completamente diversa da quella di un altro e quali possano essere i suoi potenziali punti deboli.
Comincia la discussione