Hacking Tutorial – Impariamo le basi del Penetration Testing (IV parte)

29 mar, 09 Hacking Tutorial – Impariamo le basi del Penetration Testing (IV parte)

In questa puntata parleremo di enumeration e scanning due tecniche molto rilevanti durante i penetration testing. Gli obiettivi primari di questo approccio e quello di scoprire più informazioni possibili riguardo i servizi che girano su un determinato host target e le relative versioni, le porte di comunicazione di questi ultimi verso internet e la versione di sistema operativo utilizzato. Questa fase si potrebbe definire un estensione dell’information gathering (uno dei punti che abbiamo trattato nei precedenti post) in quanto ci aiuta a definire meglio quella che è la struttura e la tipologia di rete che stiamo analizzando.

Una poca attenzione nello strutturare le fasi di information gathering e enumeration scanning porta alla riduzione delle possibilità di successo del testing. Detto questo addentriamoci meglio nei dettagli.

Scanning

Durante questa fase, bisogna cercare di reperire più informazioni possibili riguardo il nostro target, all’inizio cerchermo di concentrarci specialmente su:

  • che tipo di porte comunicano con l’esterno e che servizi sono attivi su quest’ultime.
  • che tipo di sistema operativo ( o firmware) è presente sul nostro target.

Sono due punti importanti che meritano di essere sviscerati nel migliore dei modi, inoltre è indispensabile tenere bene a mente che il “tempo è denaro” quindi dev’essere utilizzato nel migliore dei modi concentrandosi solo su host che sono disponibili e che offrono servizi verso l’esterno. In fin dei conti non ci pagano per giocare ma per fornire un report dettagliato su quelle che sono le possibili vulnerabilità.

Come lavora uno scanner di rete

Uno scanner lavora scandagliando una rete e cercando di capire quali host sono attivi e rispondono a “stimoli esterni”. Un modo per sapere se un host è attivo e può essere raggiunto dall’esterno è quello di usare pacchetti ICMP, questo perchè molte volte nelle aziende di piccolo e medio calibro il protocollo ICMP non viene disabilitato in quanto utile per testare eventuali anomalie di comunicazione da parte degli host facenti parte della rete. Naturalmente non tutti i  team di rete applicano questo tipo di politica, quindi molte delle volte lo sfruttare questa tipologia di scansione non porta a risultati sperati. A questo punto se ci accorgiamo che ICMP è bloccato si può ovviare al problema utilizzando pacchetti TCP ACK, si sollecita l’host target con TCP ACK e si aspetta un TCP RST, solitamente questa tecnica permette di capire se l’host è attivo anche se nel mezzo vi sono dei firewall in quanto tendenzialmente il flusso su questa porta non viene bloccato. A questo punto dovreste aver segnato tutti gli host che hanno risposto alle vostre richieste e quindi poter sapere chi sono attivi e rispondono e chi invece sono inattivi e/o non raggiungibili.

Port Scanning

Esistono diversi tipi di port scanning, quello più utilizzato ma non esente da falsi positivi ( vuol dire che viene rilevato un servizio o un sistema operativo che non sono quelli installati sul host target) è il SYN SCAN.

synscan

Il SYN SCAN funziona in questo modo: si inoltra un pacchetto con il flag SYN impostato all’host target e si aspetta una risposta. A questo punto possono verificarsi due cose: riceviamo come risposta un pacchetto con i flag SYN/ACK settatti che indica che la porta e quindi il servizio in ascolto sono attivi e raggiungibili mentre la seconda può essere un pacchetto di ritorno con settato il flag RST, indica che la porta contattata non risponde. Questo tipo di tecnica e molto veloce e abbastanza invisibile ai log di sistema in quanto non termina la fase di handshaking (inzio di una comunicazione bidirezionale tra due host).

sniffing

Altre tecniche, che analizzeremo più avanti, utilizzate per la scansione di un sistema possono essere realizzate settando ad arte i  flag FIN, PUSH, URG etc. Nel prossimo articolo parleremo meglio di come poter sfruttare nmap, uno degli scanner di rete più utilizzati, per capire quali servizi e quali porte sono disponibili su un host target.

Articoli che potrebbero interessarti:

  1. Hacking Tutorial – Impariamo le basi del Penetration Testing (II parte) Prima di passare al vero e proprio argomento di questo articolo l’Information Gathering dobbiamo porre alcune basi cercando di capire...
  2. Hacking Tutorial – Impariamo le basi del Penetration Testing Con questo articolo incominceremo una serie di post in cui parleremo di penetration testing, di come si svolge e come...
  3. Basi sul Penetration Testing (VI parte) Continuiamo il nostro percorso sulle basi del penetration testing parlando di Enumeration, nei precedenti post avevamo discusso di cosa volesse...
  4. Hacking Video – Nmap e Obscure your OS Fingerprint Nell’episodio 501 di hak5 vengono spiegati alcuni concetti come il port-scanning e l’offuscamento, della versione del sistema operativo, da tecniche...

Leave a Reply