Metasploit 5.0 offre un nuovo servizio dati, introduce nuove funzionalità di evasione, supporta più lingue e si basa sul sempre crescente repository di contenuti di sicurezza offensivi di livello mondiale. Siamo in grado di continuare ad innovare ed espanderci in gran parte grazie ai molti utenti e sviluppatori open source che hanno la priorità di condividere le loro conoscenze con la comunità. Tu hai la nostra gratitudine.

Siamo lieti di annunciare il rilascio di Metasploit 5.0, il culmine del lavoro del team Metasploit nell’ultimo anno. Come prima importante major release di Metasploit dal 2011, Metasploit 5.0 offre molte nuove funzionalità. Il nuovo database e le API di automazione, i moduli di evasione e le librerie di Metasploit, il supporto esteso delle lingue, il miglioramento delle prestazioni e la facilità d’uso gettano le basi per migliori capacità di lavoro in team, integrazione degli strumenti e exploitation su vasta scala.

API di database e automazione

Metasploit 5.0 è il primo passo per modernizzare il modo in cui Metasploit interagisce con i dati e altri strumenti. Oltre al backend di database Postgresql esistente da 4.x, Metasploit 5.0 aggiunge la capacità di eseguire il database da solo come servizio RESTful, con cui possono interagire più console Metasploit e persino strumenti esterni. La modifica consente inoltre di scaricare alcune operazioni di massa sul servizio database, migliorando le prestazioni consentendo l’elaborazione parallela del database e operazioni regolari msfconsole.

La nuova API JSON-RPC di Metasploit sono una gradita aggiunta per gli utenti che desiderano integrare Metasploit con nuovi strumenti e linguaggi. Metasploit ha supportato a lungo l’automazione tramite il proprio protocollo di rete univoco, ma essere unico significava anche che era più difficile testare o eseguire il debug utilizzando strumenti standard come “curl”. Metasploit 5.0 aggiunge anche un framework di servizi Web comune per esporre sia il database che le API di automazione; questo framework supporta l’autenticazione avanzata e le operazioni simultanee e apre la strada a futuri servizi.

Per compatibilità con le versioni precedenti, Metasploit 5.0 supporta ancora l’esecuzione solo con un database locale o senza alcun database. Supporta anche il protocollo RPC basato su MessagePack originale. Puoi leggere ulteriori informazioni su come configurare ed eseguire questi nuovi servizi qui .

Moduli di evasione e librerie

All’inizio del 2018, abbiamo annunciato il nuovo tipo di modulo di evasione in Metasploit insieme a un paio di moduli di esempio. Questi moduli consentono agli utenti di sviluppare facilmente le proprie evasioni e aggiungono una serie di librerie convenienti che gli sviluppatori possono utilizzare per aggiungere nuove mutazioni al volo ai payload; un modulo recentesfrutta queste librerie di evasione per generare al volo servizi unici e persistenti. Scrivere lo shellcode in C è sicuramente più divertente dell’assembler, e con le librerie di generazione di Metasploit 5.0, puoi farlo anche tu. Puoi leggere ulteriori informazioni sui moduli di evasione, le librerie e su come creare il tuo contenuto evasivo qui .

Miglioramento dell’usabilità e exploitation su vasta scala

Una funzionalità richiesta da tempo per Metasploit è la possibilità di eseguire un modulo di exploit contro più di un obiettivo alla volta. Mentre Metasploit ha supportato il concetto di scanner in grado di indirizzare una sottorete o un intervallo di rete, l’utilizzo di un modulo di exploit era limitato a un solo host alla volta. Ciò significava che qualsiasi tentativo di sfruttamento di massa richiedeva di scrivere uno script o un’interazione manuale. Con Metasploit 5.0, qualsiasi modulo può ora indirizzare più host nello stesso modo impostando RHOSTS su un intervallo di IP o facendo riferimento a un file hosts con l’opzione file://. È anche possibile utilizzare il vecchio metodo di impostazione di RHOST da solo, poiché ora Metasploit tratta RHOST e RHOSTS come opzioni identiche.

Caratteristiche che non avresti mai saputo di avere!

Non tutto ciò che abbiamo creato per Metasploit 5.0 è rimasto lì. In molti casi, una funzione aggiunta è risultata utile anche per gli utenti 4.x, e lasciare che si inseriscano nel ramo instabile ci ha permesso di elaborare gli errori prima del backporting.

Sei già stato ostacolato dal messaggio di “ricerca lenta” di Metasploit quando cerchi i moduli? Tra gli altri miglioramenti, Metasploit ora inizia molto più rapidamente, grazie a un meccanismo di ricerca migliorato che non si basa sul funzionamento del database. Ciò significa che la ricerca di moduli è sempre veloce, indipendentemente da come si utilizza Metasploit. Inoltre, i moduli hanno acquisito molte nuove funzionalità di metadati. Ti chiedi quali moduli hanno effetti collaterali e lasciano artefatti su disco? Ora puoi cercarlo!

Hai mai desiderato interagire con una sessione di shell ma sei stato frustrato dalle sue capacità? La nuova funzionalità metashell di Metasploit, disponibile automaticamente in tutte le sessioni della shell, consente agli utenti di eseguire sessioni in background con il backgroundcomando, caricare / scaricare file o persino eseguire script di risorse, il tutto senza dover prima eseguire l’aggiornamento a una sessione Meterpreter. Meterpreter continua a regnare sovranamente in termini di capacità e versatilità complessive, ma il metashell kicking le sessioni fino a un livello più semplice e più interattivo.

Hai mai desiderato aggiungere qualcosa a Metasploit, ma Ruby è d’intralcio? Forse c’era una libreria che sarebbe stata difficile da eseguire in Metasploit senza molto lavoro. Per migliorare questo, Metasploit 5.0 include il supporto per tre diversi linguaggi del modulo: Go, Python e Ruby. Abbiamo parlato di moduli esterni in passato (ad esempio, qui e qui ), ma continuano a migliorare in Metasploit, fornendo un modo pratico per espandere le capacità di Metasploit e allo stesso tempo aumentare le prestazioni e le funzionalità.

Nuovo ciclo di rilascio

Nell’ultimo anno abbiamo suddiviso lo sviluppo di Metasploit in due rami: un ramo stabile 4.x che è alla base di Metasploit Pro e di progetti open source come Kali Linux, ParrotSec Linux e il programma di installazione Metasploit Framework open source di Rapid7; e un ramo instabile in cui viene svolto lo sviluppo del core. Se hai controllato Metasploit da Github nell’ultimo anno, probabilmente hai usato quest’ultimo, il cui prompt predefinito era msf5>.

Prima, una funzione poteva essere inserita in una richiesta di pull per mesi e causare ancora bug che non potevamo vedere prima di essere spediti direttamente a Kali Linux o ad un’altra distribuzione. Con un ramo instabile per lo sviluppo di Metasploit, il team è stato in grado di eseguire iterazioni sulle funzionalità in modo più rapido e completo, rendendo più semplice ottenere un feedback reale su di esse prima di passare a una versione stabile di Metasploit. Alcune funzionalità sono state incorporate nel ramo 4.x in anticipo perché erano considerate stabili prima della spedizione di Metasploit 5.0. Altre funzionalità hanno richiesto più tempo per stabilizzarsi e sono rappresentate nella versione finale di Metasploit 5.0.

Il takeaway è che Metasploit ora ha un processo di sviluppo più maturo che speriamo di continuare a sfruttare in futuro per consentire miglioramenti ancora più grandi alla base di codice.

Scaricalo (e miglioralo)

A partire da oggi, è possibile ottenere MSF 5 verificando il tag 5.0.0 nel progetto Gaspub Metasploit. Siamo in procinto di contattare sviluppatori di software di terze parti per far loro sapere che Metasploit 5 è stabile e pronto per la spedizione; per informazioni su quando MSF 5 sarà confezionato e integrato nella tua distribuzione preferita, tieni d’occhio discussioni come questa . Come sempre, se trovi un bug, puoi segnalarcelo su Github . Promemoria amichevole:è molto più probabile che il tuo problema attiri l’attenzione di noi e del resto della comunità se includi tutte le informazioni che chiediamo nel modulo di emissione.

I contributi della comunità open source sono l’anima di Metasploit. Vuoi unirti a molti hacker, ricercatori, cacciatori di bug e scrittori di documenti che hanno contribuito a rendere Metasploit fantastico nel corso degli anni? Inizia qui . Non nello sviluppo di Ruby? Aiutaci ad aggiungere ai nostri conteggi di moduli Python o Go .

Un set iniziale di note di rilascio per Metasploit 5.0 è qui . Aggiungeremo a questi nei prossimi mesi. Come sempre, i PR della comunità sono i benvenuti! Hai bisogno di un primer sull’architettura e l’utilizzo di Framework? Dai un’occhiata alla nostra wiki qui e non esitare a contattare la community più ampia su Slack . Ci sono anche una miriade di risorse pubbliche e generate dagli utenti su suggerimenti, trucchi e contenuti di Metasploit, quindi se non riesci a trovare qualcosa che desideri nella nostra wiki, chiedi a Google o alla community cosa consigliano.