Logo NEXSYS menu
ISO 9001

Nexsys Srl è certificata
ISO 9001:2015

Microsoft Solutions Partner

Siamo Microsoft Solution Partner per il Modern Work

APPROFONDIMENTI E NEWS

Kali Linux e Metasploit: il tuo primo laboratorio di penetration test

Leggi prima di iniziare Tutto quello che vedi in questa guida va eseguito esclusivamente in un laboratorio isolato, su macchine di tua proprietà e senza alcuna esposizione verso Internet. Impiegare le stesse tecniche contro sistemi di terzi senza autorizzazione scritta configura ipotesi di reato: la differenza fra un penetration test e un accesso abusivo non sta negli strumenti, ma nel mandato.

In questa guida costruiamo da zero un laboratorio di penetration test con due macchine virtuali - una attaccante con Kali Linux e una bersaglio deliberatamente vulnerabile - ed eseguiamo un exploit completo con il Metasploit Framework. Se non hai ancora familiarità con la distribuzione, parti dalla nostra guida a Kali Linux.

Se vuoi capire come si struttura un'attività autorizzata - perimetro, regole di ingaggio, riferimenti normativi e responsabilità - il quadro completo è nella nostra guida al penetration test.

Che cos'è il Metasploit Framework

Metasploit è una piattaforma open source per lo sviluppo e l'esecuzione di exploit, integrata in Kali Linux. Il suo valore non sta nel singolo exploit ma nell'architettura: fornisce un modo uniforme di selezionare un obiettivo, configurare i parametri, eseguire il codice e gestire la sessione ottenuta.

Il framework è organizzato in moduli, ciascuno con un ruolo preciso:

Exploit il codice che sfrutta una vulnerabilità specifica per ottenere esecuzione sul sistema bersaglio.

Payload ciò che viene eseguito una volta ottenuto l'accesso: una shell, una shell inversa o una sessione Meterpreter.

Auxiliary moduli che non sfruttano vulnerabilità ma svolgono attività di supporto: scansione, enumerazione, fuzzing.

Post operazioni successive all'accesso: raccolta di informazioni sul sistema compromesso, escalation, movimento laterale.

Encoder e nops trasformano il payload per adattarlo ai vincoli del contesto in cui deve essere consegnato.

In questa guida useremo un modulo exploit e un payload: sono i due che servono per capire il meccanismo.

Costruire il laboratorio

Servono due macchine virtuali e una rete che non comunichi con l'esterno. È la parte che si tende a liquidare in fretta ed è invece quella dove si commettono gli errori con conseguenze reali.

L'hypervisor

Va bene qualsiasi soluzione di virtualizzazione desktop: VirtualBox è gratuito e sufficiente allo scopo. Prima di ogni esercitazione conviene creare uno snapshot di entrambe le macchine: consente di ripartire da uno stato pulito in pochi secondi.

La macchina attaccante: Kali Linux

Si può usare l'immagine già pronta per l'hypervisor distribuita dal progetto, oppure installare la distribuzione da zero. Ricorda che dalla versione 2020.1 l'utente predefinito è kali con password kali: le vecchie credenziali root / toor citate in molte guide non sono più valide, e i comandi che richiedono privilegi si eseguono con sudo.

La macchina bersaglio: Metasploitable 2

Metasploitable 2 è una macchina virtuale volutamente vulnerabile, creata per l'addestramento. Le sue vulnerabilità sono note e documentate da anni - la backdoor di VSFTPD 2.3.4 che useremo risale al 2011 - ed è proprio questo che la rende un buon banco di prova: il comportamento è prevedibile e i risultati sono verificabili.

Per lo stesso motivo non va mai collegata a una rete raggiungibile dall'esterno. Una macchina progettata per essere compromessa, esposta su Internet, viene compromessa - da qualcun altro.

Le credenziali di accesso al sistema sono msfadmin per utente e password. In fase di creazione della macchina virtuale 256 MB di RAM sono sufficienti; non serve un disco aggiuntivo, si usa l'immagine fornita.

La rete: solo host

È il passaggio critico. Entrambe le schede di rete, quella di Kali e quella di Metasploitable, vanno impostate su rete solo host: le due macchine si vedono fra loro e nient'altro. Verifica l'impostazione prima di avviare i sistemi, non dopo.

Avviate le macchine, per conoscere l'indirizzo di Metasploitable si esegue al suo interno:

ip a

Sui sistemi più datati il comando equivalente è ifconfig. Annota l'indirizzo della sottorete: sarà il bersaglio dei comandi successivi.

kali linux e metasploit: il tuo primo laboratorio di penetration test 

Ricognizione prima dell'exploit

In un test reale non si lancia mai un exploit alla cieca: prima si osserva. Dalla macchina Kali, una scansione dei servizi del bersaglio con rilevamento delle versioni:

>nmap -sV -p- 192.168.x.y

Il risultato mostra un elenco di servizi in ascolto, molti dei quali obsoleti. Fra questi compare vsftpd 2.3.4 sulla porta 21: è la versione affetta dalla backdoor che sfrutteremo. Questo passaggio è ciò che collega la fase di raccolta informazioni a quella di sfruttamento - senza, non sapresti quale exploit scegliere.

Il primo exploit: la backdoor di VSFTPD 2.3.4

VSFTPD, acronimo di Very Secure FTP Daemon, è un server FTP per sistemi Unix. Nel 2011 una versione compromessa del pacchetto venne distribuita contenendo una backdoor: la connessione con determinati caratteri nel nome utente apriva una shell su una porta alternativa. È una vulnerabilità didatticamente perfetta, perché il meccanismo è semplice e l'esito inequivocabile.

Avvia la console di Metasploit dal terminale di Kali:

>msfconsole

Cerca il modulo corrispondente:

>search vsftpd

Selezionalo:

>use exploit/unix/ftp/vsftpd_234_backdoor

Verifica quali parametri sono richiesti:

>show options

L'unico da impostare è l'indirizzo del bersaglio. Nelle versioni correnti di Metasploit l'opzione si chiama RHOSTS, al plurale, perché accetta anche intervalli di indirizzi:

>set RHOSTS 192.168.x.y

Esegui:

>run

Se il modulo va a segno, ottieni una shell di comando sulla macchina bersaglio. Puoi verificarlo con un comando qualsiasi, per esempio id o whoami: risponderà root.

Dopo l'accesso: che cosa succede in un test reale

A questo punto abbiamo una shell con privilegi di root sulla macchina target. In un'esercitazione è il traguardo; in un penetration test è il momento in cui inizia il lavoro vero.

Le domande che ci si pone da qui in avanti sono tre. Fin dove consente di arrivare l'accesso ottenuto - quali dati sono leggibili, quali credenziali sono recuperabili, quali altri sistemi diventano raggiungibili? Quale impatto avrebbe questo scenario sull'organizzazione, non in astratto ma sui suoi processi reali? E che cosa va cambiato perché non sia più possibile?

È la differenza fra dimostrare una vulnerabilità e valutare un rischio. Una criticità su un sistema esposto e la stessa criticità su un ambiente isolato non hanno lo stesso peso: la contestualizzazione è il compito di un risk assessment, ed è ciò che trasforma un elenco tecnico in una lista di priorità con un budget accanto.

Nei test su infrastrutture aziendali questa fase si concentra quasi sempre sullo stesso terreno: il dominio Active Directory, dove le debolezze sono raramente di prodotto e quasi sempre di configurazione. Le abbiamo raccolte nell'analisi delle vulnerabilità Active Directory più comuni, e sono il perimetro del nostro servizio di assessment e hardening di Active Directory.

Un exploit riuscito, in sé, non è il risultato di un penetration test. Il risultato è il report che spiega come è stato possibile, quanto costerebbe se accadesse davvero e in quale ordine intervenire.

Dove esercitarsi oltre Metasploitable

Metasploitable è il primo passo. Esistono repository pubblici di macchine virtuali vulnerabili - VulnHub ne raccoglie decine, con difficoltà crescente e soluzioni documentate - e piattaforme di training online che offrono laboratori guidati in ambiente autorizzato.

La regola resta una sola: l'ambiente deve essere tuo oppure esplicitamente messo a disposizione per l'esercitazione. Non esistono zone grigie.

kali linux e metasploit: il tuo primo laboratorio di penetration test 

Dal laboratorio al penetration test reale

Il laboratorio che hai costruito riproduce una singola fase del lavoro: lo sfruttamento. Un penetration test professionale è un processo strutturato che comprende definizione del perimetro, raccolta di informazioni, analisi delle vulnerabilità, sfruttamento, post-sfruttamento e reporting, condotto entro un mandato autorizzato e secondo metodologie riconosciute.

Se vuoi imparare l'intero processo, il corso Ethical Hacking copre le tecniche offensive e prepara allo standard CEH, mentre il corso Penetration Test si concentra sulla conduzione dell'attività e sulla stesura del report. Entrambi fanno parte del catalogo cybersecurity per IT PRO.

Se invece cerchi una valutazione sulla tua infrastruttura anziché una formazione, il servizio di penetration test per aziende parte da un perimetro concordato e si chiude con un piano di remediation prioritizzato; per un inquadramento più ampio della postura di sicurezza c'è la consulenza cybersecurity.

Domande frequenti

Che cos'è il Metasploit Framework?

Metasploit è una piattaforma open source per lo sviluppo e l'esecuzione di exploit, integrata in Kali Linux. È organizzata in moduli - exploit, payload, ausiliari, post, encoder e nops - che consentono di verificare in modo controllato la sfruttabilità di una vulnerabilità.

Che differenza c'è fra exploit e payload?

L'exploit è il codice che sfrutta una vulnerabilità per ottenere l'esecuzione sul sistema bersaglio. Il payload è ciò che viene eseguito una volta ottenuto l'accesso, per esempio una shell inversa o una sessione Meterpreter.

Che cos'è Metasploitable e perché si usa?

Metasploitable è una macchina virtuale deliberatamente vulnerabile, creata per l'addestramento. Si usa perché le sue vulnerabilità sono note e documentate, quindi il comportamento è prevedibile e i risultati verificabili. Va sempre tenuta in rete isolata e mai esposta a Internet.

È legale esercitarsi con Metasploit?

È legale su sistemi di tua proprietà in un laboratorio isolato, o su piattaforme di training che lo autorizzano esplicitamente. Usare le stesse tecniche contro sistemi di terzi senza autorizzazione scritta configura ipotesi di reato, a prescindere dall'assenza di danno o dall'intento didattico.

Quali sono le credenziali predefinite di Kali Linux?

Dalla versione 2020.1 l'utente predefinito è kali con password kali. Le credenziali root / toor riportate nelle guide più datate non sono più valide: Kali adotta un modello a utente non privilegiato e usa sudo per l'elevazione.

Dal laboratorio al lavoro sul campo

Il corso Penetration Test di Nexsys parte dove finisce questa guida: metodologia completa, gestione del perimetro e stesura del report, con trainer che eseguono test su infrastrutture reali.

kali linux e metasploit: il tuo primo laboratorio di penetration test

Preferisci compilare il modulo? Scrivi i tuoi dati qui sotto

Il servizio telefonico è attivo dal lunedì al venerdì dalle 8:00 alle 18:00 al numero 0452456669. Puoi anche compilare il modulo sottostante: