Cos’è il Penetration test e l’information gathering

Il Penetration test è una tipologia di analisi utilizzata per valutare la sicurezza di tutto il sistema informatico che si interfaccia alla rete di una organizzazione. Per la maggior parte dei casi riguarderà applicazioni web ovvero software che si connettono alla rete. Per fare un esempio pratico un pen test che si focalizza su un portale web si concentrerà dapprima sull’autenticazione, poi sulle funzionalità, successivamente sull’interazione con i database e infine con la configurazione del server e degli elementi connessi alla rete.
Lo scopo è dunque quello di evidenziare le debolezze nel sistema fornendo un report all’azienda che richiede questo test.

fasi del penetration test

In questo grafico sono presenti tutte le fasi più interessanti di un penetration test:

  • Information Gathering: che si traduce nella raccolta di informazioni e quindi nello studio del target sotto tutti i punti di vista;
  • Vulnerability Assessment: ovvero il processo che permette di venire a conoscenza dello stato dell’esposizione dei sistemi alle vulnerabilità;
  • Exploitation: ovvero la parte del penetration test nella quale viene attaccato il sistema attraverso una falla o una vulnerabilità conosciuta;
  • Maintaining Access: ovvero la ricerca del mantenimento dell’accesso ad un sistema informatico;
  • Report: ciò che andrà consegnato al cliente che ha chiesto questo tipo di test. Verranno riportati tutti i dettagli di ciò che è stato scoperto riguardo alla sicurezza dei sistemi

Cos’è nel dettaglio l’Information Gathering

Come detto precedentemente l’information Gathering è la raccolta di informazioni utili ad un attacco. E’ dunque la prima ed anche una delle fasi più importanti di un penetration test (o di un attacco informatico se vogliamo riferirci ad un hacker).
Kali Linux è un sistema operativo che mette a disposizione parecchi tools per eseguire un Penetration test completo, quindi anche la parte di Information Gathering. Abbiamo già discusso nello specifico di tutti questi strumenti in un articolo precedente “Guida a Kali Linux” che sono davvero tanti anche per l’Information Gathering.

Information Gathering attivo e passivo

C’è una chiara distinzione fra queste due tipologie di Information Gathering:

  • Passivo: cerca di raccogliere quante più informazioni possibili senza avere un contatto diretto col nostro obbiettivo utilizzando servizi di terze parti. Un esempio  di tecnica di Information Gathering passiva è rappresentata dalla navigazione del sito web dell’azienda cercando di ottenere informazioni sul tipo di tecnologie utilizzate, tramite l’esaminazione dei banner presenti negli header di risposta o restituiti da pagine dell’applicazione,
  • Attivo: come è facile immaginare riguarda techiche più invasive e c’è la possibilità di essere direttamente visualizzabili dal nostro target perciò è spesso preferibile, per un attaccante, il metodo passivo. Un esempio di tecnica di Information Gathering attiva è rappresentata dall’utilizzo di port scanner quali Nmap, tipicamente utilizzati per individuare porte aperte o applicazioni web deployate sul target.

Esempi di tools per l’information Gathering 

Whois

comando whois

Per chi non lo sapesse Whois è un protocollo di rete molto noto, amministratori di siti web, servizi hosting  dato che ci consente di avere informazioni dettagliate su un dominio.  Grazie a Whois potremo avere informazioni riguardanti:

  • il nome del proprietario del dominio;
  • data della registrazione e scadenza;
  • altre informazioni varie come ad esempio informazioni sul server ecc.

Possiamo utilizzare Whois attraverso diversi siti web dedicati, in alternativa possiamo utilizzare il protocollo di rete anche attraverso il nostro terminale Linux grazie ad un tool dedicato. Nei repository ufficiali delle principali distribuzioni Linux troviamo Whois, tool open source a riga di comando che ci consente di operare nel famoso protocollo di rete direttamente dal nostro terminale

Dig

comando dig terminale linux

Dig ovvero Domain Information Groper è un programma Linux utilizzato per interrogare i record DNS. E’ ampiamente utilizzato per diagnosticare i server DNS, interrogare i server DNS,  eliminare la cache DNS con server DNS esterni e con decine di altre caratteristiche. Con il comando dig quindi è possibile richiedere informazioni su vari record DNS, inclusi indirizzi host, scambi di posta e server dei nomi. È lo strumento più comunemente usato dagli amministratori di sistema per la risoluzione dei problemi DNS per la sua flessibilità e facilità d’uso.

Dnsenum

comando dnesum terminale

Si tratta di uno script utilizzato per ricavare informazioni DNS di un dominio e per scoprire blocchi IP. Le operazioni che può fare sono:

  • Ottenere l’indirizzo dell’host
  • Ottenere i nomi dei servers
  • Eseguire quesy sui servers
  • Ottenere nomi di sottodomini tramite lo scraping di Google
  • Calcolare gli intervalli di rete del dominio di classe C ed eseguire qiery whois su di essi
  • Eseguire ricerche inverse su netrange

TCPtraceroute

comando terminale traceroute

E’ un’implementazione traceroute che utilizza pacchetti TCP. Il traceroute più tradizionale invia pacchetti ECHO UDP o ICMP con un TTL di uno e incrementa il TTL fino al raggiungimento della destinazione. Stampando i gateway che generano messaggi ICMP superati nel tempo lungo il percorso, è in grado di determinare il percorso che i pacchetti stanno prendendo per raggiungere la destinazione.
l problema è che con l’uso diffuso dei firewall su Internet moderno, molti dei pacchetti che traceroute (8) invia finiscono per essere filtrati, rendendo impossibile tracciare completamente il percorso verso la destinazione.
Tuttavia, in molti casi, questi firewall consentiranno i pacchetti TCP in entrata a porte specifiche su cui gli host che si trovano dietro il firewall sono in attesa di connessioni. Inviando pacchetti TCP SYN anziché UDP o ICMP ECHO, tcptraceroute è in grado di bypassare i filtri firewall più comuni.

Tctrace

Strumento simile e alternativo a TCPtraceroute che utilizza la stessa tecnica.

TheHarvester

comando theharvester su terminale

Si tratta di un software il cui scopo è quello di raccogliere e-mail, sottodomini, host, nomi dei dipendenti, porte aperte e banner da diverse fonti pubbliche come motori di ricerca, server di chiavi PGP e database di computer SHODAN.
Questo strumento ha lo scopo di aiutare i penetration tester nelle prime fasi del penetration test al fine di comprendere l’impronta del cliente su Internet. È anche utile per chiunque voglia sapere cosa può vedere un utente malintenzionato in merito alla propria organizzazione.

Nexsys, azienda informatica a Verona, sarà in grado di darti un servizio di consulenza affinchè la tua azienda sia sempre aggiornata e non esposta a vulnerabilità.
Oltre a questo Nexsys offre corsi di formazione in Ethical Hacking che ti forniranno le competenze necessarie ad implementare in autonomia tutte le misure di sicurezza informatica necessarie. Contattaci per avere più informazioni

X