Metasploit Project
Il Metasploit Project è un progetto di sicurezza informatica che fornisce informazioni sulle vulnerabilità, semplifica le operazioni di penetration testing e aiuta nello sviluppo di sistemi di rilevamento di intrusioni. Il sottoprogetto più conosciuto è Metasploit Framework, uno strumento open source[1] per lo sviluppo e l'esecuzione di exploits ai danni di una macchina remota. Altri sottoprogetti importanti comprendono l'Opcode Database, l'archivio di shellcode e la relativa ricerca.
Metasploit Framework software | |
---|---|
"Point. Click. Root." | |
Genere | Sicurezza informatica |
Sviluppatore | Rapid7 LLC |
Ultima versione | 6.4.37 (21 novembre 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | Ruby |
Licenza | BSD License (licenza libera) |
Sito web | www.metasploit.com/ |
Il Metasploit Project è conosciuto per lo sviluppo di strumenti di elusione e anti-rilevamento, alcuni dei quali sono inclusi in Metasploit Framework. È noto anche per aver pubblicato alcuni degli exploits più sofisticati, inoltre è uno strumento potente in quanto permette ai ricercatori di investigare su alcune potenziali nuove vulnerabilità.
Storia
modificaMetasploit viene creato da H. D. Moore nel 2003 come strumento portabile di rete basato sul linguaggio di scripting Perl; dopo quattro anni è rilasciato completamente riscritto in Ruby.
Il 21 ottobre 2009 l'azienda Rapid7 ufficializza l'acquisto del Metasploit Project. Successivamente all’acquisto, Rapid7 ha aggiunto due edizioni proprietarie open core chiamate Metasploit Express e Metasploit Pro.
Lo si potrebbe paragonare ad alcuni prodotti commerciali come Canvas[2] di Immunity Inc. oppure Core Impact sviluppato da Core Security Technologies.[3] Metasploit può essere utilizzato dagli amministratori per testare le vulnerabilità dei loro sistemi al fine di aumentarne il livello di sicurezza, oppure dai black hat e script kiddie per tentare di penetrarvi. Come molti strumenti relativi all’ambito della sicurezza informatica, Metasploit può essere utilizzato per scopi legittimi e/o illegali. La posizione emergente[4] di Metasploit come framework di sviluppo di codici exploits ha portato alla pubblicazione di advisories sulle vulnerabilità dei software spesso accompagnati[5] da un modulo exploit Metasploit di terze parti che evidenzia la vulnerabilità, i rischi e i rimedi per risolvere un determinato bug.[6][7]
Metasploit 3.0 include degli strumenti di fuzzing, per scoprire vulnerabilità software da sé senza dover sviluppare degli exploits per i bugs noti. Queste nuove possibilità si sono aperte grazie all'integrazione del toolset lorcon wireless in Metasploit 3.0 nel novembre 2006.
Metasploit 4.0 è stato lanciato nel mese di agosto del 2011.
Metasploit 5.0 è stato lanciato nel gennaio 2019, ed ha portato con sé nuovi moduli di AV Bypass e molte altre espansioni fra le quali nuove API e librerie.
Metasploit Framework
modificaI passaggi fondamentali per l'exploiting di un sistema utilizzando Metasploit Framework comprendono:
- Scegliere e configurare un exploit (codice che penetra in un sistema sfruttandone i bugs; sono inclusi circa 2000 exploits diversi per Windows, Unix/Linux e Mac OS X).
- Controllare se il sistema attaccato è suscettibile all’exploit selezionato (facoltativo).
- Scegliere e configurare un payload (codice da eseguire sul sistema attaccato dopo esserci penetrati con successo; per esempio una shell remota o un VNC server).
- Scegliere la tecnica di codifica in modo che l’intrusion prevention system (IPS) ignori il payload codificato.
- Eseguire l’exploit.
Questo approccio modulare (che permette la combinazione di qualsiasi codice exploit con qualsiasi playload) è il vantaggio principale di Metasploit Framework. Inoltre, facilita le operazioni degli attaccanti e di chi scrive exploits e payloads. Metasploit funziona su Unix (compresi Linux e Mac OS X) e su Windows. Le funzionalità di Metasploit Framework sono inoltre disponibili in più lingue. Per scegliere l’exploit e il payload sono necessarie alcune informazioni sul sistema che si vuole attaccare, come la versione del sistema operativo e i servizi di rete installati. Queste informazioni possono essere raccolte attraverso strumenti di port scanning o di OS fingerprinting, utilizzando, ad esempio, i servizi forniti da Nmap. Scanner di vulnerabilità come Nexpose, Nessus e OpenVAS possono individuare le vulnerabilità dei sistemi che si desidera attaccare. Metasploit può importare i dati degli scanner e comparare le vulnerabilità individuate con i moduli exploit esistenti per eseguire un accurato exploitation.
Interfacce
modificaSono disponibili diverse interfacce di Metasploit e le più conosciute sono mantenute da Rapid7[8] e Strategic Cyber LLC.
Metasploit Framework
modificaSi tratta di una versione gratuita ed è caratterizzata da: interfaccia a linea di comando, import da terze parti, exploitation manuale e azioni di forza bruta anch’esse condotte manualmente. Questa versione di Metasploit Project include anche Zenmap, un famoso port scanner, e un compilatore per Ruby, il linguaggio usato per questa versione.
Metasploit Community
modificaViene lanciata da Rapid7 nell’ottobre 2011 ed è un’interfaccia utente web-based per Metasploit. Tale versione, che comprende un insieme ridotto di funzionalità rispetto alle versioni a pagamento, include la ricerca di reti, il modulo di navigazione internet e l’exploitation manuale. Metasploit Community è inclusa nel programma di installazione principale.
Metasploit Express
modificaÈ rilasciata da Rapid7 nell’aprile 2012. Metasploit Express è un’edizione commerciale pensata per quei team di sicurezza informatica che hanno la necessità di verificare le vulnerabilità. Inoltre, offre un’interfaccia grafica utente, integra le funzioni di ricerca di Nmap, aggiunge azioni intelligenti di attacco a forza bruta e fornisce un metodo di raccolta automatico dei risultati.
Metasploit Pro
modificaL’edizione in questione è stata immessa sul mercato da Rapid7 nell’ottobre del 2010. Metasploit Pro è concepita per venire incontro alle esigenze dei penetration testers. Rispetto alla versione Express sono state aggiunte funzionalità come Quick Start Wizards/MetaModules, campagne di sviluppo e gestione nell’ambito dell’ingegneria sociale, test delle applicazioni web, un’avanzata interfaccia a linee di comando chiamata Pro Console, payloads dinamici per aggirare gli antivirus, integrazione di Nexpose per la scansione delle vulnerabilità ad hoc e VPN pivoting.
Armitage
modificaArmitage è uno strumento per Metasploit Project nell’ambito della gestione degli attacchi informatici che visualizza gli obiettivi e suggerisce i codici exploit da utilizzare. Si colloca nella categoria di strumenti relativi alla sicurezza delle reti ed è gratuito e open source. È noto per aver contribuito alla collaborazione nei red team consentendo di condividere sessioni, dati e comunicazioni attraverso una singola istanza di Metasploit.[9]
Cobalt Strike
modificaCobalt Strike è una raccolta di strumenti per la simulazione delle minacce fornita da Strategic Cyber LLC che si integra con Metasploit Framework. Oltre a tutte le funzioni presenti in Armitage, Cobalt Strike include strumenti per il post-exploitation e per la generazione dei report.[10]
Exploits
modificaA oggi, Metasploit ha più di 1700 exploits, raccolti sotto le seguenti piattaforme: AIX, Android, BSD, bsdi, Cisco, FreeBSD, hpux, IRIX, Java, JavaScript, Linux, mainframe, multi (applicabile a più piattaforme), NetBSD, NetWare, Node.js, OpenBSD, OSX, PHP, Python, R, Ruby, Solaris, Unix e Windows.
Payloads
modificaAl momento Metasploit conta più di 495 payloads. Alcuni di questi sono:
- Command shell, permette agli utenti di utilizzare collezioni di script o comandi arbitrari contro un determinato host.
- Meterpreter, permette agli utenti di controllare lo schermo del dispositivo bersaglio usando VNC e di navigare su internet, caricare e scaricare file.
- Payload dinamici, permettono agli utenti di raggirare le difese degli antivirus generando payloads unici.
Opcode Database
modificaL'Opcode Database è un'importante risorsa per sviluppatori di nuovi exploits. 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
modificaLo Shellcode database contiene i payload utilizzati da Metasploit Framework. Sono scritti in assembly e i sorgenti sono completamente disponibili.
Sviluppatori
modificaMetasploit Framework è un progetto open source il cui codice sorgente è presente su GitHub.[11] La comunità può contribuire alla sviluppo del progetto inviando il proprio lavoro.[12] Ciascun contributo viene revisionato da un team di dipendenti interni a Rapid7 e da alcuni sviluppatori considerati esperti e affidabili esterni all’azienda. Segue la lista degli sviluppatori originali:
- H. D. Moore (fondatore e chief architect)
- Matt Miller (core developer dal 2004 al 2008)
- spoonm (core developer dal 2003 al 2008)
Note
modifica- ^ Licenza di Metasploit Framework
- ^ Immunity - Canvas, su immunityinc.com. URL consultato il 9 gennaio 2018 (archiviato dall'url originale il 5 gennaio 2018).
- ^ Core Security Technologies
- ^ SecTools.Org: Top 125 Network Security Tools
- ^ Exploit Database - Metasploit
- ^ ACSSEC-2005-11-25-0x1 VMWare Workstation 5.5.0 <= build-18007 G SX Server Variants And Others, 20 Dicembre 2005.
- ^ Broadcom Wireless Driver Probe Response SSID Overflow, 11 Novembre 2006.
- ^ Edizioni di Metasploit supportate da Rapid7
- ^ Una GUI per Metasploit
- ^ Sito ufficiale di Cobalt Strike
- ^ GitHub - Metasploit Framework
- ^ Contribute to Metasploit
Bibliografia
modifica- David Kennedy, Jim O'Gorman, Devon Kearns, Mati Aharoni, Metasploit: The Penetration Tester's Guide, 2011.
Altri progetti
modifica- Wikimedia Commons contiene immagini o altri file su Metasploit Project
Collegamenti esterni
modifica- (EN) Sito ufficiale, su metasploit.com.
- Repository sorgenti di Metasploit Project, su github.com.
- Sito di segnalazione bug, su github.com.
- Pagina del progetto su Freecode, su freecode.com.
- 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.