sabato 1 dicembre 2018

Pentesting mini-lab: Metasploitable2 Setup

L'obbiettivo per questo tutorial e' alla fine avere 2 macchine virtuali, una VM che  fa da "server" dei vari servizi (metasplotable), e una per attaccare e testare i detti servizi (kali/parrot/arch/debian/windows, osx).

Metasploitable e' una macchina virtuale (VM), fatta da Rapid7 (The Metasploit Project ) e basata su Ubunto linux.

E' utilizzata per simulare un web server, fare test di penetrazione "locali", e creare un mini-laboratorio per imparare/provare attrezzi, exploits e tecniche in modo legale e sicuro.
Metasploitable VM e' intenzionalmente non sicura.
 * mai lasciarla esposta al Network "esterno" e internet.
    No NAT e No "bridged" virtual adapter


Metasploitable3 richede:
    65 GB Available space on drive, 4.5 GB RAM
    Host OS capace di usare:  
      Packer, Vagrant, Vagrant Reload Plugin, VirtualBox, libvirt/qemu-kvm, or vmware (paid license)
      Internet connection
      La ISO del Sistema Operativo che vuoi simulare ((Guest) (Windows10/server,redhat/ubunto/etc)) per poi "prepararla su misura"...

La piu' vecchia Metasloitable2 e' invece distribuita già fatta e pronta da scaricare (800Mb), e con richeste molto piu' modeste.
La VM ha bisogno di solo 256 Mb di RAM, e una decina di Gb di spazio Hard Disk.
Oltre naturalmente a  VirtualBox /VMware e una VM per connettersi alle applicazioni di  Metasploitable2.

Con 2Gb di RAM si possono ad esempio usare 256Mb per metasploitable VM, 768Mb per Kali/Parrot/Arch/debian VM, e lasciare 1024 (1Gb) per l'Host computer.



NB: nel nostro esempio useremo VirtualBox su un Host con Ubuntu linux, lo stesso procedimento e' valido per Windows/OSX usando Vbox o VMware.

https://sourceforge.net/projects/metasploitable/files/Metasploitable2/metasploitable-linux-2.0.0.zip/download

Prepara Metasploit2 VM


1) Unzip metasploitable-linux-2.0.0.zip in una cartella:
  Otterrai così il file Metasploitable.vmdk

2) Crea un nuova VM:

nome: metasploitable2 
tipo: Linux
versione: (other 32-bit)
>>
Memoria : 256 MB
>>
Hard Disk: Usa un esistente disco virtuale, e naviga a Metasploitable.vmdk
e Crea la nuova macchina virtuale (VM) 



3) vai nei "Settings" della nuova VM
      System > Processor> Enable PAE/NIX
         (accendilo, se spento)

     System > Network > Adapter 1
        cambia  Attaccato a: Internal network
        nome: intnet

4) Fai partire la VM, se tutto va bene, ti troverai al terminale,
  login name: msfadmin
   password: msfadmin


lanciando il comando ifconfig, nota che l'indirizzo IP dell'adattore eth0 non e' stato impostato:


5) Assegna un indirizzo IP statico editando il file di configurazione:

NB il carattere  #  e' usato per commenti, e fa ignorare tutto quello che c' e' su quella riga.
 

sudo nano /etc/network/interfaces
   (enter password msfadmin)


iface eth0 inet static
address 192.168.1.10  

##   ^^^ IP che assegniamo a metasploitable2 VM
netmask 255.255.255.0
gateway 192.168.1.254



 CTRL-x e  "y" per confermare che si vuole salvare il nuovo file


Per caricare la nuova configurazione dai il comando: 

sudo /etc/init.d/networking restart  

lancia di nuovo ifconfig   per confermare il nuovo IP statico

192.168.1.10

Adesso, puoi lasciare la metasploitable2 VM,
Tutto il resto sarà fatto da un altra VM
<fine prepara metasploitable2 VM>

 

Prepara la VM da usare nel Pentesting 

Nel nostro esempio, prepariamo una VM di Kali Linux per essere usata per "attaccare" la VM di Metasploitable.

1) vai ai Settings della VM che userai per il pentesting
IMPORTANTE:
cambia il Network a "Internal Network", "intnet"
le due VM devono essere sullo stesso segmento per poter comunicare

System > Network > Adapter 1
        cambia  Attaccato a: Internal network
        nome: intnet

2) fai partire la VM (Kali)
user: root
paswd : toor

3) sappiamo che metasploitable ha IP 192.168.10,
possiamo quindi dare a Kali IP 192.168.1.20, e dire di usare192.168.10 come "gateway"
Per assegnare un IP statico, il procedimento e' simile:
apri il terminale:
nano /etc/network/interfaces
  
iface eth0 inet static
address 192.168.1.20  

##   ^^^ IP che assegniamo a Kali VM
netmask 255.255.255.0
gateway 192.168.1.10

##   ^^^ IP assegnato a metasplotable2 VM

 CTRL-x e  "y" per confermare che si vuole salvare il nuovo file

service networking restart


ping -4 192.168.1.10   tutto ok?


Apri il browser, e entra indirizzo http:// 192.168.1.10 per vedere le applicazioni Web



<fine Prepara la VM da usare nel Pentesting >

per lista completa di vulnerabilita' e exploit:
https://metasploit.help.rapid7.com/docs/metasploitable-2-exploitability-guide


Altri PenTest lab:

web-security-dojo
https://www.mavensecurity.com/resources/web-security-dojo  (2018)
https://websecuritydojo.sourceforge.io/

OWASP Broken Web Applications VM 1.8Gb    (2015)
https://www.owasp.org/index.php/OWASP_Broken_Web_Applications_Project
https://sourceforge.net/projects/owaspbwa/files/latest/download