N.B.: Tutte le informazioni contenute nel seguente articolo sono a scopo esclusivamente didattico, pertanto l'autore non si riterrà responsabile dell'abuso di tali informazioni da parte degli utenti del sito, qualora esse venissero utilizzate per scopi illegali.

Nei capitoli precedenti della rubrica su Metasploit Framework, ho realizzato tutte le guide e presentato tutti gli screenshot utilizzando msfconsole, la famosa shell interattiva, tralasciando le due sorelle: msfcli e Armitage. L’ho fatto per una ragione precisa: sebbene ognuna delle tre interfacce abbia pregi e difetti, msfconsole ha il giusto mix di stabilità, semplicità di utilizzo e di consultazione e ampiezza nelle possibilità d’azione, che la rende perfetta sia per l’apprendimento da parte di neofiti, sia all’utilizzo complesso degli esperti. Non ultimo fra i motivi, è la mia preferita!

Continuo a tralasciare per ora msfcli. È adatta solo ad utenti esperti e il più delle volte solo per utilizzi specifici, quali lo sviluppo e il debugging di nuovi moduli.

Mi interessa presentare invece l’interfaccia grafica sviluppata da Raphael Mudge: Armitage. Sicuramente piacerà ai più pigri, in quanto permette di risparmiare notevolmente il numero di caratteri battuti sulla tastiera a discapito del sapere cosa si sta facendo e agli appassionati di film hollywoodiani, dove un improbabile ragazzino nerd defaccia con quattro click il sistema di sicurezza del Pentagono. Scherzi e malignità a parte, Armitage ha una serie di aspetti positivi, come la possibilità di collegarsi ad un’istanza remota di Metasploit, che lo rende particolarmente adatto per i red team, inoltre offre una panoramica facilmente accessibile di buona parte degli strumenti a disposizione.

Resta il fatto che continuo a consigliarne l’utilizzo solo agli utenti con un minimo di infarinatura sul tema, dato che usandolo non si impara niente.

Un cenno sul nome: Armitage

Premetto che è una mia considerazione e che non sono riuscito a trovare fonti certe su quanto sto per scrivere. Consiglio, a chi non l’avesse letto, il romanzo Neuromante di William Gibson.

Case è un cowboy della consolle, il nome che viene dato agli hacker da Gibson. Come pena per le sue scorribande informatiche, gli viene danneggiato il sistema nervoso in modo che non sia più in grado di connettersi alla Matrice, la rete globale. Verrà ingaggiato per una missione da un losco figuro in cambio della possibilità di collegarsi nuovamente al Cyberspazio. Indovinate come si chiama il personaggio che recluta Case… Sì, proprio Armitage.

Il tutto per dire che penso che il nome derivi dal romanzo di Gibson.

Avviare Armitage

Ho sviluppato questa guida utilizzando Armitage su Kali Linux. Il famoso sistema operativo per il penetration testing viene distribuito con Metasploit e Armitage già installati di default. Come abbiamo visto nelle precedenti guide su Metasploit è necessario avviare il servizio postgresql per iniziare a giocare con Armitage. Per farlo digitiamo da terminale il comando

service postgresql start

e avviamo Armitage.

Si aprirà una piccola finestra per la configurazione del tool, nella quale, a meno di non necessitare di configurazioni particolari, possiamo lasciare i parametri di default

Armitage GUI Metasploit

 

Un’ulteriore finestra di dialogo ci avvisa del fatto che il server RPC non è avviato e che cliccando su Yes, Armitage lo avvierà per noi

Armitage GUI Metasploit

 

Dopo qualche secondo si avvierà Armitage, presentandoci la sua interfaccia grafica

Armitage GUI Metasploit

Subito potrà sembrare un po’ scarna, ma andando avanti con la pratica ci accorgeremo che non è così! Di default presenta tre riquadri ridimensionabili a piacere dall’utente. Partendo dall’alto a sinistra, il riquadro dedicato ai moduli di Metasploit, suddivisi in moduli ausiliari, exploit, payload e moduli per post explotation. Nella parte bassa di questo riquadro, una comodissima barra di ricerca istantanea per i vari moduli.

Sempre in alto, stavolta a destra, una parte dello schermo, al primo avvio totalmente nera, sarà dedicata ad ospitare i vari host bersaglio connessi alla rete.

Nella parte bassa dell’interfaccia, il riquadro dedicato a msfconsole funziona proprio come quello visto nei tutorial precedenti. Da notare, la possibilità di aggiungere o togliere varie tab, rendendo così più dinamica l’interazione con msfconsole.

Nozioni preliminari sull’ambiente di test

Come scritto in precedenza, per la realizzazione di questa guida, ho utilizzato Kali Linux Rolling installato sull’hard disk della macchina. La stessa installazione, con indirizzo IP 192.168.1.5, che provvede a fare da host per le macchine virtuali che verranno utilizzate come bersagli per il test. Quindi, tramite VMWare Workstation Player, ho virtualizzato tre macchine differenti, nella fattispecie

  • Windows 7 Ultimate SP1, con indirizzo IP 192.168.1.10, per la simulazione di un Desktop Windows – per comodità la chiamerò VM1
  • Ubuntu Server 14.04, con desktop manager xfce e indirizzo IP 192.168.1.15, per la simulazione di un server – per comodità la chiamerò VM2
  • Android 6.0, con indirizzo IP 192.168.1.30, per la simulazione di un dispositivo mobile (tablet o smartphone) Android – per comodità la chiamerò VM3

Nell’immagine che segue, le tre macchine bersaglio avviate contemporaneamente

Armitage GUI Metasploit

Scan della rete locale in cerca di bersagli

Nonostante le tre macchine virtuali siano avviate, Armitage non le rileva automaticamente. È necessaria una scansione della rete locale per trovare gli host connessi e importarli nel software. Proprio come Metasploit, Armitage include di default Nmap. Lo avviamo cliccando sulla voce di menù Hosts -> Nmap Scan -> Intense Scan. Si aprirà una tab nel riquadro della console con il titolo nmap. La scansione impiega qualche minuto, al termine della quale una finestra di dialogo ci informa che è completa

Armitage GUI Metasploit

 

Cliccando su OK, potremo notare come ora il riquadro di Armitage dedicato agli host comprenda una serie di icone di monitor con gli indirizzi IP degli host collegati alla rete

Armitage GUI Metasploit

 

La scansione ha compreso il router e la macchina attaccante, così li vediamo comparire nel riquadro dedicato agli host bersaglio rispettivamente con gli indirizzi IP 192.168.1.1 e 192.168.1.5. Dato che non mi interessa performare alcun tipo di azione su di essi, li rimuovo dal riquadro, cliccando con il tasto destro sull’icona e su Host -> Remove Host dal menù contestuale che appare.

Moduli ausiliari

Nel riquadro dei moduli, sotto la voce auxiliary, possiamo trovare una serie di moduli ausiliari atti a compiere una numerosa varietà di azioni che possono rivelarsi talvolta molto utili all’attaccante.

Per esempio, possiamo individuare la versione esatta di Windows installata su VM1 scansionando il suo dominio SMB. Per farlo selezioniamo auxiliary -> scanner -> smb -> smb_version

Armitage GUI Metasploit

 

Lanciando il modulo ausiliario e attendendo qualche momento, potremo notare come esso identifichi alla perfezione il sistema operativo del potenziale bersaglio.

Armitage GUI Metasploit

 

Ancora, possiamo vedere se alcune porte TCP siano aperte su VM2 selezionando auxiliary -> scanner -> portscan -> tcp. Impostiamo le porte e gli intervalli che ci interessano e l’indirizzo IP della macchina che vogliamo scansionare

Armitage GUI Metasploit

 

Attendiamo qualche istante per ricevere una panoramica delle porte scansionate

Armitage GUI Metasploit

 

Exploit

Entriamo nel vivo della guida, nel quale vedremo come sfruttare alcune falle già viste nei precedenti tutorial della rubrica su Metasploit Framework per prendere possesso dei tre bersagli.

ATTENZIONE: per comprendere pienamente il funzionamento di questi exploit, sarebbe opportuno dare un’occhiata ed eventualmente concludere con successo i tutorial indicati di seguito.

Per la VM1 ho utilizzato il modulo smb_delivery, già analizzato in questo articolo, quindi selezioniamo exploit -> windows -> smb -> smb_delivery dal riquadro dei moduli e configuriamo il modulo con i parametri appropriati alla situazione

Armitage GUI Metasploit

 

Lanciamo l’exploit e restiamo in attesa che la vittima esegua il comando per la connessione

Armitage GUI Metasploit

 

Quando la vittima esegue il comando, l’icona del monitor nel riguadro degli host bersaglio diventa rossa, segno che la macchina è sotto il nostro controllo

Armitage GUI Metasploit

 

Passiamo alla VM2, come indicato in questo articolo, so che ospita un sito web WordPress con una versione di Revolution Slider vulnerabile alla Shell Upload. Selezioniamo quindi l’exploit dedicato dal riquadro dei moduli al percorso exploit -> unix -> webapp -> wp_revslider_upload_execute, lo configuriamo adeguatamente e lo lanciamo

Armitage GUI Metasploit

 

Dopo pochi istanti, anche l’icona della VM2 diventerà rossa

Armitage GUI Metasploit

 

Prendiamo possesso della terza macchina, la VM3, prendendo spunto da quanto scritto in questo articolo. Quindi selezioniamo dal riquadro dei moduli un listener generico al percorso exploit -> multi -> handler, lo configuriamo e lo lanciamo

Armitage GUI Metasploit

 

Attendiamo che la vittima avvii l’applicazione infetta per prendere il controllo anche di questa macchina

Armitage GUI Metasploit

Interagire con i bersagli avviando Meterpreter

Ognuno dei tre exploit utilizzati sopra, ha avviato una sessione di Meterpreter differente, quindi possiamo interagire con il bersaglio che desideriamo cliccando sulla rispettiva icona con il tasto destro e selezionando la voce Meterpreter [id_sessione] -> Interact -> Meterpreter Shell dal menù contestuale.

Armitage GUI Metasploit

Post exploitation

Ci sono una serie di azioni che possiamo compiere una volta che abbiamo preso possesso di una macchina remota e Armitage include una serie di moduli dedicati alla post exploitation.

Mettiamo di voler sapere se la VM2 sia una macchina virtuale, ci basterà selezionare dal riquadro dei moduli la voce al percorso post -> linux -> gather -> checkvm e impostare l’ID di sessione corrispondente alla macchina. In pochi istanti avremo un messaggio di risposta

Armitage GUI Metasploit

 

Oppure, immaginiamo di voler sapere quali applicazioni sono installate sulla VM1, scegliamo il modulo post -> windows -> gather -> enum_applications, per avere una lista completa dei programmi installati sulla macchina virtuale

Armitage GUI Metasploit

Condividi: Armitage, interfaccia grafica per Metasploit Framework

  1. Ciao Grande MKay,
    volevo gentilmente chiederti un consiglio a riguardo android.
    Ho provato virtualmente , ma niente, ho masterizzato una quantità di iso su usb, anche cd, ma ugualmente non sono riuscito a utilizzarlo. Proprio la versione Remix per pc, niente da fare.
    Alla fine su win ho installato Bluestacks.
    Volevo solo un tuo parere.
    Complimenti, come sempre una delle tue favolose guide.
    Ciao

  2. Ciao non riesco a capire perchè nonostante ci sono
    altri pc in rete, neanche uno riesco a vederlo.
    Quale potrebbe essere il problema?
    Ciao

      1. Sempre infinite grazie Mkay, a volte faccio degli errori veramente elementari. Anche se il pc dove tuttora gira Tails non viene riconosciuto. Credo che sia normale, perchè tutela al massimo anonimato e privacy. Sicuramente sai molto più di me.
        Per adesso un caloroso grazie e ci sentiamo presto.
        Ciao

  3. Ciao senti ho 2 domande: ho un ip e ho fatto la scan con os ma nn mi nessun os Xchè?
    Ho una shell linux e meterpreter quando uso la shell nn mi arriva nessun sengnale dall’altra macchina è quando uso il meterpreter mi di comando sconosciuto usando sysinfo ec… Sapresti il motivo? Grz per la pazienza…

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.