Metasploitable 2 - Simulazione di un attacco

- Tutto il materiale riportato in questo articolo è scritto al solo scopo didattico/informativo.
- Non ci assumiamo alcuna responsabilità per qualsiasi danno, diretto o indiretto, di qualsiasi natura, derivante da o in qualsiasi modo collegato all'uso improprio di queste informazioni.
- In questa serie di articoli che faremo si darà per scontato che l'utente conosca almeno un minino le basi di come è fatta una rete.
- Ricordatevi sempre: da un grande potere derivano grandi responsabilità.

Il modo più semplice ed efficace per ottenere un "computer vittima" è usare Metasploitable 2. Si tratta di una macchina virtuale Ubuntu Linux intenzionalmente vulnerabile progettata per testare le vulnerabilità più comuni. Tale macchina virtuale è compatibile con VMWare, VirtualBox e altre piattaforme di virtualizzazione comuni.
Per scaricare la macchina virtuale Metasploitable 2 visitate questa pagina: Una volta dentro seguite le istruzioni per il download.

Il miglior modo per ottenere un "computer di attacco" è quello di utilizzare un sistema operativo rivolto all'hacking già predisposto per effettuare analisi e attacchi verso altri dispositivi. Questo sarà il nostro banco di lavoro.
Personalmente non credo esista il "miglior sistema operativo rivolto all'hacking" ma piuttosto sono dell'idea che il miglior sistema operativo rivolto all'hacking è quello che ognuno di noi si costruisce nel tempo con tanta pazienza ma soprattutto con la consapevolezza e competenza degli strumenti installati.
Oggi, in linea di massima, le distribuzioni maggiormente utilizzate per effettuare penetration testing sono: Kali Linux, Parrot OS, BackBox e Blackarch. Tutte ottime e specifiche per eseguire determinati test, non esiste una migliore di un'altra, tuttavia la più nota e utilizzata dal grande pubblico per effettuare pentesting è di sicuro Kali Linux perciò nei nostri test utilizzeremo questa per convenzione (poi ognuno può utilizzare liberamente quella che preferisce).
Per scaricare la LiveCD installabile di Kali Linux dalla pagina https://www.kali.org/downloads/ oppure è sempre possibile scaricare l'installer per Windows dal repository su GitHub

Metasploitable 2 un ambiente sicuro per eseguire test di penetrazione e ricerche sulla sicurezza.
Per accedere alla console della macchina virtuale è possibile utilizzare queste credenziali
- login: msfadmin
- password: msfadmin
Una volta identificata l'host Met possiamo tranquillamente spostarci sul computer di attacco ed effettuare una scansione verso il nostro computer vittima: nmap -sS -sV -O 192.168.1.100
Effettuiamo una scansione un pò più aggressiva: nmap -p 1-65535 -T4 -A -v 192.168.1.100
Nel paragrafo successivo vedremo i risultati di quest'ultima scansione. La riporto anche per avere un confronto / riferimento per quelli che saranno i successivi test di attacco alla macchina vittima.

Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-24 14:10 CET
NSE: Loaded 151 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 14:10
Completed NSE at 14:10, 0.00s elapsed
Initiating NSE at 14:10
Completed NSE at 14:10, 0.00s elapsed
Initiating NSE at 14:10
Completed NSE at 14:10, 0.00s elapsed
Initiating ARP Ping Scan at 14:10
Scanning 192.168.1.100 [1 port]
Completed ARP Ping Scan at 14:10, 0.03s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 14:10
Completed Parallel DNS resolution of 1 host. at 14:10, 2.02s elapsed
Initiating SYN Stealth Scan at 14:10
Scanning 192.168.1.100 [65535 ports]
Discovered open port 25/tcp on 192.168.1.100
Discovered open port 445/tcp on 192.168.1.100
Discovered open port 53/tcp on 192.168.1.100
Discovered open port 80/tcp on 192.168.1.100
Discovered open port 5900/tcp on 192.168.1.100
Discovered open port 22/tcp on 192.168.1.100
Discovered open port 23/tcp on 192.168.1.100
Discovered open port 21/tcp on 192.168.1.100
Discovered open port 111/tcp on 192.168.1.100
Discovered open port 3306/tcp on 192.168.1.100
Discovered open port 139/tcp on 192.168.1.100
Discovered open port 8180/tcp on 192.168.1.100
Discovered open port 33914/tcp on 192.168.1.100
Discovered open port 3632/tcp on 192.168.1.100
Discovered open port 1099/tcp on 192.168.1.100
Discovered open port 42677/tcp on 192.168.1.100
Discovered open port 44471/tcp on 192.168.1.100
Discovered open port 512/tcp on 192.168.1.100
Discovered open port 6697/tcp on 192.168.1.100
Discovered open port 6000/tcp on 192.168.1.100
Discovered open port 5432/tcp on 192.168.1.100
Discovered open port 6667/tcp on 192.168.1.100
Discovered open port 514/tcp on 192.168.1.100
Discovered open port 2049/tcp on 192.168.1.100
Discovered open port 42806/tcp on 192.168.1.100
Discovered open port 513/tcp on 192.168.1.100
Discovered open port 1524/tcp on 192.168.1.100
Discovered open port 8787/tcp on 192.168.1.100
Discovered open port 2121/tcp on 192.168.1.100
Discovered open port 8009/tcp on 192.168.1.100
Completed SYN Stealth Scan at 14:10, 3.18s elapsed (65535 total ports)
Initiating Service scan at 14:10
Scanning 30 services on 192.168.1.100
Completed Service scan at 14:12, 126.13s elapsed (30 services on 1 host)
Initiating OS detection (try #1) against 192.168.1.100
NSE: Script scanning 192.168.1.100.
Initiating NSE at 14:12
NSE: [ftp-bounce] PORT response: 500 Illegal PORT command.
Completed NSE at 14:12, 10.35s elapsed
Initiating NSE at 14:12
Completed NSE at 14:13, 74.18s elapsed
Initiating NSE at 14:13
Completed NSE at 14:13, 0.00s elapsed
Nmap scan report for 192.168.1.100
Host is up (0.00025s latency).
Not shown: 65505 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 192.168.1.80
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| vsFTPd 2.3.4 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey:
| 1024 60-0f-cf-e1-c0-5f-6a-74-d6-90-24-fa-c4-d5-6c-cd (DSA)
|_ 2048 56-56-24-0f-21-1d-de-a7-2b-ae-61-b1-24-3d-e8-f3 (RSA)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
|_smtp-commands: metasploitable.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN,
|_ssl-date: 2019-10-24T13:12:33+00:00; -2s from scanner time.
| sslv2:
| SSLv2 supported
| ciphers:
| SSL2_RC4_128_EXPORT40_WITH_MD5
| SSL2_DES_64_CBC_WITH_MD5
| SSL2_RC2_128_CBC_WITH_MD5
| SSL2_DES_192_EDE3_CBC_WITH_MD5
| SSL2_RC4_128_WITH_MD5
|_ SSL2_RC2_128_CBC_EXPORT40_WITH_MD5
53/tcp open domain ISC BIND 9.4.2
| dns-nsid:
|_ bind.version: 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
|_http-title: Metasploitable2 - Linux
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp open exec netkit-rsh rexecd
513/tcp open login OpenBSD or Solaris rlogind
514/tcp open tcpwrapped
1099/tcp open java-rmi GNU Classpath grmiregistry
1524/tcp open bindshell Metasploitable root shell
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
| mysql-info:
| Protocol: 10
| Version: 5.0.51a-3ubuntu5
| Thread ID: 18
| Capabilities flags: 43564
| Some Capabilities: SwitchToSSLAfterHandshake, Speaks41ProtocolNew, LongColumnFlag, SupportsTransactions, ConnectWithDatabase, Support41Auth, SupportsCompression
| Status: Autocommit
|_ Salt: &Foy7@}tQu|-iL}Ti7r[
3632/tcp open distccd distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
|_ssl-date: 2019-10-24T13:12:33+00:00; -2s from scanner time.
5900/tcp open vnc VNC (protocol 3.3)
| vnc-info:
| Protocol version: 3.3
| Security types:
|_ VNC Authentication (2)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
| irc-info:
| users: 1
| servers: 1
| lusers: 1
| lservers: 0
| server: irc.Metasploitable.LAN
| version: Unreal3.2.8.1. irc.Metasploitable.LAN
| uptime: 0 days, 19:11:28
| source ident: nmap
| source host: E885AD4A.78DED367.FFFA6D49.IP
|_ error: Closing Link: cgauzlgku[192.168.1.80] (Quit: cgauzlgku)
6697/tcp open irc UnrealIRCd
| irc-info:
| users: 1
| servers: 1
| lusers: 1
| lservers: 0
| server: irc.Metasploitable.LAN
| version: Unreal3.2.8.1. irc.Metasploitable.LAN
| uptime: 0 days, 19:11:26
| source ident: nmap
| source host: E885AD4A.78DED367.FFFA6D49.IP
|_ error: Closing Link: psbyxsdki[192.168.1.80] (Quit: psbyxsdki)
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
|_ajp-methods: Failed to get a valid response for the OPTION request
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/5.5
8787/tcp open drb Ruby DRb RMI (Ruby 1.8; path /usr/lib/ruby/1.8/drb)
33914/tcp open status 1 (RPC #100024)
42677/tcp open java-rmi GNU Classpath grmiregistry
42806/tcp open nlockmgr 1-4 (RPC #100021)
44471/tcp open mountd 1-3 (RPC #100005)
MAC Address: 08:00:27:5A:97:02 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Uptime guess: 0.797 days (since Mon Dec 23 19:05:42 2019)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=205 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: Hosts: metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Host script results:
|_clock-skew: mean: -2s, deviation: 0s, median: -2s
|_ms-sql-info: ERROR: Script execution failed (use -d to debug)
| nbstat: NetBIOS name: METASPLOITABLE, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| Names:
| METASPLOITABLE<00> Flags: <unique><active>
| METASPLOITABLE<03> Flags: <unique><active>
| METASPLOITABLE<20> Flags: <unique><active>
| WORKGROUP<00> Flags: <group><active>
|_ WORKGROUP<1e> Flags: <group><active>
|_smb-os-discovery: ERROR: Script execution failed (use -d to debug)
|_smb-security-mode: ERROR: Script execution failed (use -d to debug)
|_smb2-time: Protocol negotiation failed (SMB2)
TRACEROUTE
HOP RTT ADDRESS
1 0.25 ms 192.168.1.100
NSE: Script Post-scanning.
Initiating NSE at 14:13
Completed NSE at 14:13, 0.00s elapsed
Initiating NSE at 14:13
Completed NSE at 14:13, 0.00s elapsed
Initiating NSE at 14:13
Completed NSE at 14:13, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 217.93 seconds
Raw packets sent: 65555 (2.885MB) | Rcvd: 65553 (2.623MB)

Verificare questo comando:
Codice: Seleziona tutto
systemctl start postgresql && msfdb init && msfconsole
Se ad esempio volessimo attaccare il servizio vsftpd in ascolto sulla porta 21 dovremo scrivere search vsftpd.