Recon: Osservare e Dedurre

Oggi effettuare una attacco utilizzando strumenti come Metasploit ed Armitage è scandalosamente semplice. Negli ultimi anni i tools potentissimi a disposizione pubblicamente e gratuitamente hanno reso il penetration test un’attività da script kiddie.

Naturalmente un ethical hacker vero non si limita a lanciare programmi e cliccare a casaccio come una scimmia; un penetration test che abbia valore non può essere portato avanti senza la capacità dell’operatore di osservare e dedurre.

La prima fase, forse quella più critica di un attacco è la ricognizione, effettuata tramite missioni di information gathering. Dicevo che priobabilmente è la più delicata in quanto è da questa fase di intelligence che si svilupperà tutta la strategia d’attacco. Cadere in una trappola di disinformazione in questa fase potrebbe significare compromettere il buon esito dell’operazione e il fallimento dell’obiettivo.

Osservare

La capacità di osservare e dedurre non implica necessariamente il ricorso a sofisticati strumenti. Basta una traccia, anche minima, per ricostruire o tentare di ricostruire la mappa del tesoro di un sistema target.

Faccio un esempio pratico. Interrogando la porta 80 di un host, con nmap (con l’opzione -sV), oppure ancor più semplicemente con netcat  posso ottenere gli header http del server. Ipotizziamo che questi header rivelino l’identità del server:

Apache 2.2.9

Cosa mi dice questo? Due cose: la prima ovvia ed evidente è il tipo e la versione del software, e già questo potrebbe condurmi a trovare vulnerabilità di questa specifica versione. Ma non basta.
Mi dice anche che si tratta di una versione vecchia, uscita nel Giugno del 2008; questo potrebbe suggerirmi che chi si occupa della gestione del sistema non ha una strategia di aggiornamenti, oppure tende a trascurare il problema. E qui casca l’asino.

Dedurre

Queste deduzioni ci portano ad altre intuizioni: probabilmente non solo Apache è stato installato e mai più aggiornato, ma anche gli altri servizi e le altre applicazioni. Ed è probabile che il sistema sia stato installato nel giro di pochi giorni e mai più aggiornato.

In questo caso saremmo in grado di stabilire le versioni degli altri software potenzialmente installati. Potrebbe trattarsi di un server LAMP (qunidi su piattaforma Linux,Apache,MySql e Php).

Seguendo il ragionamento di cui sopra, possiamo immaginare che la versione Php installata sia la 5.2.6 (disponibile dal 2 Maggio 2008, pochi giorni prima l’uscita di Apache 2.2.9).

Potrebbe essere stato installato un software per gestire i database di MySql da remoto, come phpMyAdmin; in questo casola versione compatibile con l’orizzonte temporale di Apache e Php dovrebbe essere la 2.11.7.0.

Cercando nel database di exploit-db, trovo un exploit che potrebbe adattarsi allo scenario illustrato, ovvero un exploit che permette di effettuare code-inection nelle versioni di phpMyAdmin inferiori alla 2.11.9.5.

Conclusioni

Quello che ho esposto è solo un caso ipotetico, ma mostra come sia possibile arrivare lontano anche senza sofisticati strumenti di fingerprinting, e senza usare tools che sono molto comodi, ma che fanno anche tanto “rumore”.

Come? Mi chiedete cosa fare una volta acquisite tutte queste informazioni? Ovvio, si attacca con Metasploit ed Armitage: elementare Watson!

2 Trackbacks / Pingbacks

  1. Come Scoprire il Web Server di un Sito con Nmap | PillolHacking.Net
  2. > Come Scoprire il Web Server di un Sito con Nmap | Giornale Blog

I commenti sono bloccati.