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.

  1. 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.
  2. 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.
  3. 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.

Qualcuno ha descritto nmap come se fosse 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 uno scan con profilo complesso utilizzando Zenmap (ma volendo si può fare anche attraverso il terminale di Windows, ovvero il Command Promt o CMD, o quello di Linux). Abbiamo utilizzato ed inserito come target il sito scanme.nmap.org ed il comando nella linea Command per effettuarvi lo scanning:

nmap -p0- -v -A -T4 scanme.nmap.org

(è possibile ovviamente utilizzare anche e direttamente gli IP). Logicamente, possiamo scegliere un diverso target, ovvero un altro sito da scannerizzare. Sarebbe anche possibile fare uno scan più veloce ottenendo meno informazioni con il comando:

nmap scanme.nmap.org

Ma, vediamo ora, cosa possiamo dedurre dallo scan. Prima di tutto osserviamo la sessione Nmap Output. La scelta nella linea di comando utilizzata per il profilo completto -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, fondamentalmente è lo scripting engine.

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 anche 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.

Immagine proveniente da https://nmap.org/book/port-scanning-tutorial.html

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 a 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *