Che cos’è Metasploit? The Beginner’s Guide

Il test di penetrazione permette di rispondere alla domanda: “Come può qualcuno con intenti malevoli incasinare la mia rete?” Utilizzando gli strumenti di pen-testing, i “white hat” e i professionisti del DevSec sono in grado di sondare le reti e le applicazioni per trovare difetti e vulnerabilità in qualsiasi punto del processo di produzione e di distribuzione, hackerando il sistema.

Uno di questi strumenti di penetration testing è il progetto Metasploit. Questo framework open-source basato su Ruby permette il test tramite alterazioni della linea di comando o GUI. Può anche essere esteso attraverso la codifica per agire come un add-on che supporta più lingue.

Cos’è il Metasploit Framework e come si usa?

Il Metasploit Framework è uno strumento molto potente che può essere usato sia dai criminali informatici che dagli hacker etici per sondare le vulnerabilità sistematiche di reti e server. Poiché è un framework open-source, può essere facilmente personalizzato e utilizzato con la maggior parte dei sistemi operativi.

Con Metasploit, il team di pen testing può utilizzare codice pronto o personalizzato e introdurlo in una rete per sondare i punti deboli. Come un altro tipo di caccia alle minacce, una volta che le falle sono identificate e documentate, le informazioni possono essere utilizzate per affrontare le debolezze del sistema e dare priorità alle soluzioni.

Una breve storia di Metasploit

Il progetto Metasploit è stato intrapreso nel 2003 da H.D. Moore per essere utilizzato come strumento di rete portatile basato su Perl, con l’assistenza dello sviluppatore principale Matt Miller. È stato completamente convertito in Ruby nel 2007, e la licenza è stata acquisita da Rapid7 nel 2009, dove rimane come parte del repertorio della società con sede a Boston per lo sviluppo di firme IDS e strumenti mirati di exploit remoto, fuzzing, anti-forensic ed evasione.

Parte di questi altri strumenti risiedono nel framework Metasploit, che è costruito nel sistema operativo Kali Linux. Rapid7 ha anche sviluppato due strumenti OpenCore proprietari, Metasploit Pro, Metasploit Express.

Questo framework è diventato lo strumento di sviluppo e mitigazione degli exploit. Prima di Metasploit, i pen tester dovevano eseguire tutte le prove manualmente utilizzando una varietà di strumenti che potevano o meno supportare la piattaforma che stavano testando, scrivendo il proprio codice a mano e introducendolo nelle reti manualmente. I test a distanza erano praticamente inauditi, e questo limitava il raggio d’azione di uno specialista della sicurezza all’area locale e alle aziende che spendevano una fortuna in consulenti IT o di sicurezza interni.

Chi usa Metasploit?

Data la sua vasta gamma di applicazioni e la disponibilità open-source, Metasploit è usato da tutti, dal campo in evoluzione dei professionisti DevSecOps agli hacker. È utile a chiunque abbia bisogno di uno strumento facile da installare e affidabile che porti a termine il lavoro indipendentemente dalla piattaforma o dal linguaggio utilizzato. Il software è popolare tra gli hacker e ampiamente disponibile, il che rafforza la necessità per i professionisti della sicurezza di acquisire familiarità con il framework anche se non lo usano.

Metasploit ora include più di 1677 exploit organizzati su 25 piattaforme, tra cui Android, PHP, Python, Java, Cisco e altro. Il framework porta anche quasi 500 payloads, alcuni dei quali includono:

  • Command shell payloads che permettono agli utenti di eseguire script o comandi casuali contro un host
  • Dynamic payloads che permettono ai tester di generare payloads unici per eludere il software antivirus
  • Meterpreter payloads che permettono agli utenti di comandare i device monitor utilizzando VMC e di prendere il controllo delle sessioni o caricare e scaricare file
  • Payload statici che permettono il port forwarding e le comunicazioni tra reti

Usi e benefici di Metasploit

visualizza i moduli che Metasploit mette a disposizione

Tutto ciò che serve per usare Metasploit una volta installato è ottenere informazioni sull’obiettivo attraverso la scansione delle porte, OS fingerprinting o utilizzando uno scanner di vulnerabilità per trovare un modo per entrare nella rete. Poi, è solo una semplice questione di selezionare un exploit e il vostro payload. In questo contesto, un exploit è un mezzo per identificare una debolezza nella vostra scelta di reti o sistemi sempre più difficili da difendere e approfittare di quel difetto per entrare.

Il framework è costruito con vari modelli e interfacce, che includono msfconsole interactive curses, msfcli per tutte le funzioni msf dal terminale/cmd, lo strumento grafico Java Armitag che è usato per integrarsi con MSF, e la Metasploit Community Web Interface che supporta il pen testing remoto.

I tester white hat che cercano di individuare o imparare dai black hat e dagli hacker dovrebbero essere consapevoli che in genere non fanno un annuncio che stanno Metasploiting. Questo gruppo segreto ama operare attraverso tunnel di rete privata virtuale per mascherare il loro indirizzo IP, e molti usano anche un VPS dedicato per evitare le interruzioni che comunemente affliggono molti provider di hosting condiviso. Questi due strumenti di privacy sono anche una buona idea per i white hat che intendono entrare nel mondo degli exploit e del pen testing con Metasploit.

Come menzionato sopra, Metasploit fornisce exploit, payload, funzioni ausiliarie, encoder, ascoltatori, shellcode, codice post-exploitation e nops.

È possibile ottenere una certificazione Metasploit Pro Specialist online per diventare un pen-tester con credenziali. Il punteggio per ottenere la certificazione è dell’80% e l’esame a libro aperto dura circa due ore. Costa 195 dollari e si può stampare il certificato una volta approvato.

Prima dell’esame, si raccomanda di seguire il corso di formazione Metasploit e di avere competenza o conoscenza pratica:

  • Sistema operativo Windows e Linux
  • Protocolli di rete
  • Sistemi di gestione della vulnerabilità
  • Concetti base di pen testing

Il conseguimento di questa credenziale è un risultato auspicabile per chiunque voglia diventare un pen-tester o un analista di sicurezza vendibile.

Come ottenere Metasploit

Metasploit è disponibile attraverso installatori open-source direttamente dal sito web Rapid7. Oltre all’ultima versione dei browser Chrome, Firefox o Explorer, i requisiti minimi di sistema sono:

Sistemi operativi:

  • Ubuntu Linux 14.04 o 16.04 LTS (consigliato)
  • Windows Server 2008 o 2012 R2
  • Windows 7 SP1+, 8.1, o 10
  • Red Hat Enterprise Linux Server 5.10, 6.5, 7.1, o successivo

Hardware:

  • Processore da 2 GHz+
  • Minimo 4 GB di RAM, ma si consigliano 8 GB
  • Minimo 1 GB di spazio su disco, ma si consigliano 50 GB

Dovrete disabilitare qualsiasi software antivirus e firewall installato sul vostro dispositivo prima di iniziare, e ottenere privilegi amministrativi. Il programma di installazione è un’unità autonoma che viene configurata per te quando installi il framework. Hai anche l’opzione di installazione manuale se vuoi configurare dipendenze personalizzate. Gli utenti con la versione di Kali Linux hanno già la versione di Metasploit Pro pre-bundled con il loro sistema operativo. Gli utenti Windows passeranno attraverso l’installazione guidata dello scudo.

Dopo l’installazione, all’avvio, vi troverete di fronte a queste scelte:

  • Creazione del database in /Users/joesmith/.msf4/db
  • Avvio di Postgresql
  • Creazione degli utenti del database
  • Creazione di uno schema iniziale del database

Imparare a usare Metasploit: Tutorial + Suggerimenti

La facilità di imparare ad usare Metasploit dipende dalla vostra conoscenza di Ruby. Tuttavia, se si ha familiarità con altri linguaggi di scripting e programmazione come Python, fare il salto per lavorare con Metasploit non dovrebbe essere troppo difficile. Altrimenti, è un linguaggio intuitivo che è facile da imparare con la pratica.

Perché questo strumento richiede di disabilitare le proprie protezioni sistematiche e consente la generazione di codice dannoso, si dovrebbe essere consapevoli dei potenziali rischi coinvolti. Se possibile, tenete questa utility installata su un sistema separato dal vostro dispositivo personale o da qualsiasi computer che contiene informazioni potenzialmente sensibili o l’accesso a tali informazioni. Dovresti usare un dispositivo di lavoro dedicato quando fai pen-testing con Metasploit.

Ragioni per imparare Metasploit

Questo pacchetto di framework è un must-have per chiunque sia un analista di sicurezza o un pen-tester. È uno strumento essenziale per scoprire vulnerabilità nascoste utilizzando una varietà di strumenti e utilità. Metasploit permette di entrare nella mente di un hacker e utilizzare gli stessi metodi per sondare e infiltrarsi in reti e server.

Ecco un diagramma di una tipica architettura di Metasploit:

diagramma della tipica architettura di Metasploit

Metasploit Step-by-Step

Inizieremo un breve tutorial su un facile exploit assumendo che abbiate i requisiti di base del sistema e del sistema operativo. Al fine di impostare un ambiente di test, avrete bisogno di scaricare e installare Virtualbox, Kali e Metasploit per creare una macchina di hacking virtualizzata. Potete scaricare e installare Windows XP o superiore per creare una terza macchina virtuale per questo exploit.

Una volta che avete installato i vostri strumenti di test, vorrete aprire la vostra console Metasploit. Avrà questo aspetto:

console Metasploit con gli strumenti di test installati

Una scorciatoia è quella di digitare “help” nella console, che farà apparire una lista di comandi Metasploit e le loro descrizioni. Dovrebbe apparire così:

visuale del comando help di metasploit

Uno strumento potente e utile, per cominciare, è la GUI di Armitage, che permette di visualizzare gli obiettivi e consigliare i migliori exploit per accedervi. Questo strumento mostra anche funzioni avanzate post-exploit per una penetrazione più profonda e ulteriori test. Per selezionarlo dalla console, vai su Applicazioni – Strumenti di Exploit – Armitage.

Una volta che hai il campo del modulo sullo schermo, inserisci l’host, il numero di porta, l’ID utente e la password. Digitate ‘enter’ dopo che tutti i campi sono stati completati e sarete pronti per iniziare il vostro exploit.

Risorse per imparare Metasploit

Una cosa grandiosa della comunità open-source è l’impegno per la condivisione delle risorse e delle informazioni. È l’incarnazione moderna del motivo per cui internet è stato creato in primo luogo. Permette una collaborazione senza confini e promuove la flessibilità.

A tal fine, offriamo una lista di risorse che vi permetterà di realizzare la piena portata della promessa di Matspoit.

Una delle migliori risorse, e il primo posto che dovreste visitare, è la vasta base di conoscenza di Metasploit. Lì troverete guide rapide, metamoduli, exploit, identificazione e correzione delle vulnerabilità. Potete anche conoscere i diversi tipi di credenziali e come ottenerle.

Un’altra risorsa utile è il Varonis Cyber Workshop. Offre una serie di tutorial e sessioni con esperti del settore della sicurezza.

I test di penetrazione sono essenziali per sradicare le vulnerabilità e prevenire le reti dagli exploit e dagli attacchi. Lavorando con un’azienda di cybersecurity orientata ai dati e ai risultati come Varonis e utilizzando un framework come Metasploit, avrete un vantaggio quando si tratta di proteggere le vostre reti.