Metasploit Project
Template:Infobox Software Il Metasploit Project è un progetto di sicurezza informatica che fornisce informazioni sulle vulnerabilità, semplifica le operazioni di penetration testing ed aiuta nello sviluppo di sistemi di rilevamento di intrusioni. Il sub-project più conosciuto è Metasploit Framework, uno strumento per lo sviluppo e l'esecuzione di exploit ai danni di una macchina remota. Altri sub-project importanti comprendono l'Opcode Database, l'archivio di shellcode e la ricerca nella sicurezza.
Il Metasploit Project è noto anche per lo sviluppo di strumenti di elusione ed anti-rilevamento, alcuni dei quali sono inclusi in Metasploit Framework
Metasploit nasce nel 2003 come un gioco di rete basato sul linguaggio di scripting Perl. In un secondo momento, il Metasploit Framework viene completamente riscritto in Ruby. E' molto famoso per aver pubblicato alcuni degli exploit più sofisticati. Inoltre, è uno strumento potente: permette ai ricercatori di investigare su alcune potenziali nuove vulnerabilità.
Come alcuni prodotti commerciali ai quali si potrebbe paragonare come CANVAS o Core Security Technologies'[1] Core Impact, Metasploit può essere utilizzato dagli amministratori per testare le vulnerabilità dei loro sistemi per poterli così proteggere, oppure dai Black Hat e script kiddie per penetrarvi. Come molti strumenti di sicurezza, Metasploit può essere utilizzato per attività legittime e/o illegali.
La posizione guadagnata da Metasploit come un framework di sviluppo di vulnerabilità ha portato, in tempi recenti, alla pubblicazione di advisories spesso accompagnate da un modulo exploit, per il framework, che ne dimostra i rischi ed i passi per risolvere una particolare bug.[2][3] Metasploit 3.0 (in Ruby) da poco include degli strumenti di fuzzing, per scoprire vulnerabilità software da sé senza dover sviluppare degli exploit per bug pubbliche già note. Queste nuove possibilità si sono aperte grazie all'integrazione del toolset lorcon wireless (802.11) in Metasploit 3.0 nel novembre 2006.
Metasploit Framework
I passaggi fondamentali per l'exploiting di un sistema utilizzando il framework comprendono:
- La scelta e la configurazione di un exploit (codice che penetra in un sistema sfruttando una delle falle software dal quale è affetto; sono inclusi circa 300 differenti exploit per Windows, Unix/Linux e Mac OS X);
- Verificare che un determinato sistema sia soggetto all'azione di un determinato exploit (opzionale);
- La scelta e la configurazione di un payload (codice che verrà eseguito dopo un'intrusione avvenuta con successo, ad esempio: una shell remota o un server VNC);
- La scelta della tecnica di crittografia per il payload in modo da non essere rilevato dai sistemi anti-intrusione;
- L'esecuzione dell'exploit.
Questa modalità che permette di combinare qualsiasi exploit con qualsiasi payload è il maggior vantaggio di Framework: facilita le operazioni di chi attacca e di chi scrive exploit e payload.
L'ultima versione stabile di Metasploit Framework è la 3.2 ed è scritta in Ruby. La versione precedente: la 2.7, fu implementata in Perl. Framework è eseguibile su tutte le versione di Unix (inclusi Linux e Mac OS X) e su Windows. Include due linee di comando, un'interfaccia web ed una GUI. L'interfaccia web viene eseguita sul computer dell'hacker; una versione demo (2.8) è reperibile online.[4] Metasploit Framework può essere espanso per l'utilizzo di add-on in diverse lingue.
Per scegliere un exploit ed un payload, vi serviranno maggiori informazioni sul vostro bersaglio: come la versione del sistema operativo e quali servizi di rete sono attualmente installati ed in esecuzione. Queste informazioni sono facilmente reperibili mediante port scanning e strumenti di OS fingerprinting come nmap. Nessus può inoltre scoprire le vulnerabilità di un sistema.
Opcode Database
L'Opcode Database è un'importante risorsa per sviluppatori di nuovi exploit. I Buffer overflow di Windows spesso richiedono conoscenze specifiche di alcuni opcode nel programma che si intende attaccare o nelle sue DLL. Le posizioni degli opcode variano a seconda della versione e della patch, tuttavia sono interamente documentate e facilmente rintracciabili grazie all'Opcode Database. Questo permette di poter scrivere buffer overflow per le diverse versioni di un sistema operativo.
Shellcode Database
Lo Shellcode database contiene i payload utilizzati da Metasploit Framework. Sono scritti in assembly, i sorgenti sono completamente disponibili.
Sviluppatori Attuali
- H D Moore
- Egypt
- MC
- Ramon de Carvalho Valle
- Patrick Webster
- Efrain Torres
- Lurene Grenier
- I)ruid
- Chris Gates
- Kris Katterjohn
- Valsmith
Referenze
Collegamenti Esterni
- The Metasploit Project Sito ufficiale
- Pagina del progetto su Freshmeat
- Powerful payloads: The evolution of exploit frameworks, searchsecurity.com, 2005-10-20
- Chapter 12: Writing Exploits III from Sockets, Shellcode, Porting & Coding: Reverse Engineering Exploits and Tool Coding for Security Professionals by James C. Foster (ISBN 1-59749-005-9). Scritto da Vincent Liu, il capitolo 12 spiega come utilizzare Metasploit per sviluppare un exploit buffer overflow.