Last update Agosto 2, 2024 8:07 PM |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Articoli / Articles |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Il framework Metasploit Il progetto Metasploit nasce con l'obiettivo di realizzare un prodotto software capace di fornire informazioni sulle vulnerabilità dei sistemi informatici, questo sia al fine di compiere delle operazioni di analisi dello scenario operativo (penetration testing), sia per coadiuvare le fasi di sviluppo di strumenti pensati per la loro difesa (IDS, firewall, ecc.). In aderenza a tali linee guida, il framework Metasploit (spesso abbreviato in MSF) è stato concepito per operare nell'ambito di numerosi sistemi operativi (Linux, Microsoft Windows, Mac, ecc.) al fine di individuare la vulnerabilità di questi rispetto a un gran numero di exploit eseguibili da remoto. In ambiente Linux il software Metasploit è utilizzabile attraverso una comoda interfaccia grafica che ne consente una agevole configurazione e un intuitivo impiego anche agli utenti meno esperti in questo particolare ambito, utenti che, altrimenti, non sarebbbero in grado nè di configurare, nè tantomeno di utilizzare gran parte degli exploit gestiti da Metasploit. In realtà, parlare soltanto di exploit è riduttivo, in quanto MSF rappresenta un vero è proprio ambiente di lavoro dal quale è possibile realizzare numerose applicazioni come, per esempio, shellcode, opcode, auxiliary, ecc. Un ambiente di lavoro che, oltre a gestire tutte le fasi di creazione del codice, consente anche di amministrare le attività a esse afferenti come, appunto, quelle relative al penetration testing. L'installazione del software può essere eseguita dopo averlo prelevato dal sito ufficiale del progetto Metasploit, all'indirizzo http://www.metasploit.com/framework/download/ In tale sito sono disponibili numerose versioni: scegliamo quella per l'ambiente Linux,la quale comprende tutte le dipendenze necessarie (nel momento della stesura di questo testo essa era la framework-3.4.1-linux-i686.run). Terminato il prelievo del file dal sito di Metasploit, la prima operazione da compiere sarà quella di renderlo eseguibile attraverso il comando chmod: chmod +x framework-3.4.1-linux-i686.run Possiamo a questo punto procedere con l'installazione vera e propria, eseguendolo con privilegi di amministratore (sudo): sudo ./ framework-3.4.1-linux-i686.run La prima richiesta che ci verrà fatta è relativa al percorso di installazione di Metasploit, e in questa occasione ci verrà chiesto di confermare la cartella predefinita /opt/metasploit3: confermiamo con yes e proseguiamo oltre. La successiva richiesta riguarderà l'abilitazione dell'aggiornamento automatico di Metasploit (AutoUpdate): l'opzione suggerita è quella che attiva tale meccanismo (yes); subito dopo aver scelto quest'ultima opazione, ci verrà data la possibilità di aggiornare il software subito, utilizziamola e attendiamo il termine delle operazioni. La precedente (ed eventuale) operazione di aggiornamento del software conclude il processo di installazione di Metasploit che, a questo, punto può essere eseguito invocando il seguente comando: sudo msfconsole il quale avvierà una console testuale (Figura 1.1) dalla quale sarà possibile gestire tutte le funzionalità dell'applicativo.
Il framework Metasploit rende disponibili differenti interfacce per il suo utilizzo, interfacce che sono sinteticamente riepilogate nella successiva tabella 1.1.
Per quanto funzionale, piuttosto che utilizzare la console testuale standard (msfconsole), ci avvarremo nei successivi esempi della certamente più intuitiva interfaccia grafica msfgui, con la quale potremo gestire da remoto il framework Metasploit: per fare questo dovremo innanzitutto eseguire una apposita sessione del software (invocando il comando msfrpcd), tenendo conto che, comunque, è possibile far coesistere sulla stessa macchina sia la sessione invocata sia l'interfaccia grafica di controllo (possibilità che si rivela molto utile in fase di verifica del funzionamento). Usciamo quindi dalla console testuale di Metasploit con il comando quit ed eseguiamo la seguente istruzione: sudo /opt/metasploit3/bin/msfrpcd -S -U mario -P 1234 -p 55553 dopo qualche secondo dovrebbero apparire sullo schermo le seguenti righe, [*] XMLRPC starting on 0.0.0.0:55553 (NO SSL):Basic... [*] XMLRPC backgrounding... che segnalano l'avvenuto avvio in background della sessione di Metasploit, sessione alla quale sarà possibile accedere (da locale o da remoto) utilizzando l'interfaccia grafica alla quale si è fatto prima accenno, dopo essersi autenticati con le credenziali scelte (utente mario, password 1234) e utilizzando la porta specificata con l'apposità opzione (55553). Per invocare l'interfaccia grafica è sufficiente eseguire, con privilegi di amministratore, il seguente comando: sudo /opt/metasploit3/bin/msfgui In caso appaia un messaggio di errore derivante dalla mancanza dell'interprete Java sulla macchina (qualcosa del tipo: java not found), si dovrà provvedere a installare il relativo pacchetto in questo modo: sudo apt-get install default-jre rieseguiamo quindi il precedente comando che, in caso di successo, dovrebbe mostrare a video un simpatico splash-screen e subito dopo una finestra di dialogo (Figura 1.2), la quale dovrà essere riempita utilizzando le credenziali e i parametri di rete impostati durante l'avvio della sessione di Metasploit. Figura 1.2 - Parametri per la connessione alla sessione di Metasploit. Se i parametri immessi sono corretti, dopo qualche istante si aprirà la finestra principale dalla quale sarà possibile gestire le funzioni di Metasploit (Figura 1.3). Figura 1.3 - Finestra principale dell'interfaccia grafica di Metasploit. Nota: sia la console testuale, sia l'interfaccia grafica di Metasploit, forniscono un'indicazione circa il numero di exploit al momento gestiti dal software, numero che lascia chiaramente trasparire la potenza di uno strumento del genere cpace di accentrare in un unico applicativo, in modo intuitivo, centinaia e centinaia di exploit altrimenti gestibili solo singolarmente e in modo certamente meno intuitivo. Per effettuare un test del software è necessario impostare un obiettivo: ipotizziamo di voler verificare la sicurezza di una macchina interna alla nostra rete, macchina facente capo all'indirizzo IP 192.168.1.6. La prima cosa da fare in questo caso è quella di testare quali servizi/porte sono disponibili su tale macchina e per farlo possiamo ricorrere all'efficiente software di scansione Nmap: sudo nmap -O -p1-1024 192.168.1.6 Le opzioni qui utilizzate hanno lo scopo di identificare il sistema operativo (-O), limitare la scansione alle sole porte privilegiate (-p1-1024), cioè quelle porte comprese nell'intervallo da 1 a 1024 (Well Known Ports), intervallo nel quale sono convenzionalmente attestati i servizi in esecuzione: Interesting ports on 192.168.1.6: Not shown: 1021 closed ports PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds MAC Address: 00:E0:18:93:E6:57 (Asustek Computer) Device type: general purpose Running: Microsoft Windows XP OS details: Microsoft Windows XP SP2 Network Distance: 1 hop Le precedenti righe mostrano un possibile risultato della precedente scansione, dove è stato identificato un sistema operativo di tipo Microsoft Windows XP con Service Pack 2 installato e con attivi soltanto i servizi di condivisione file e stampanti (porte 135, 139 e 445): si tratta probabilmente di una macchina avente semplici funzioni di client all'interno della rete locale. Uno dei classici esempi di utilizzo del framework Metasploit in relazione a un sistema target di tipo Microsoft Windows XP con installato il Service Pack 3 è certamente lo sfruttamento della nota vulnerabilità MS08-067, vulnerabilità che se opportunamente gestita consente a un aggressore di ottenere una console di comandi (shell) con privilegi di amministratore. Nota: scoperta verso la fine dell'anno 2008 e classificata da Microsoft come MS08-067, questa vulnerabilità affligge il servizio server dei sistemi Microsoft Windows Server 2003, Microsoft Windows 2000 e Windows XP, consentendo ai potenziali aggressori l'esecuzione di codice arbitrario sulla macchina Selezioniamo dal menù principale Exploit il sistema operativo Windows, e da questo sottomenù individuiamo la voce smb e quindi ms08_067_netapi: a questo punto abbiamo selezionato l'exploit che desideriamo utilizzare e ci verrà presentata un'ampia finestra di dialogo nella quale sarà necessario configurare alcune opzioni. Selezioniamo nella sezione Targets la voce Windows XP SP2 Italian (NX) o, in caso di dubbio, lasciamo selezionata la scelta predefinita Automatic Targeting; dal successivo riquadro riguardante la scelta del payload, cioè del tipo di azione da compiere in caso di successo dell'exploit, selezioniamo la voce shell_bind_tcp (Figura 1.4) che ha lo scopo, appunto, di conquistare una shell di comandi sul sistema target. Nella sezione Required lasciamo le impostazioni predefinite, limitandoci a inserire l'indirizzo IP della macchina target (192.168.1.6) nella casella RHOST The target address della successiva sezione Optional. Una volta eseguito l'exploit appena configurato con la pressione del pulsante Run exploit, otterremo (in caso di successo) una nuova entrata (sessione) nella tabella Sessions della finestra di dialogo principale del framework, voce che potremo utilizzare mediante il menù contestuale accessibile con il tasto destro del mouse per eseguire un certo numero di operazioni sulla macchina target, tra le quali l'apertura di una console di comandi (Interact) e la chiusura della sessione attiva (Kill session): nella successiva figura Figura 1.5 possiamo osservare sia la visualizzazione della sessione attiva in seguito al buon esito dell'exploit, sia la shell invocata selezionando dal menù contestuale la voce Interact.
Quello appena fatto rappresenta solo un piccolo esempio delle enormi possibilità offerte dal framework Metasploit che, in virtù della sua sua semplicità di utilizzo e del continuo aggiornamento del database degli exploit, si rivela uno strumento portentoso per condurre delle approfondite verifiche di sicurezza, verifiche molto efficienti in quanto del tutto aderenti al reale modus operandi degli aggressori.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Roberto Saia - All Rights Reserved |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||