UnderPass

Reconnaissance
Realizaremos un reconocimiento con Nmap para ver los puertos que están expuestos en la máquina UnderPass. Este resultado lo almacenaremos en un archivo llamado allPorts.
A través de la herramienta de extractPorts, la utilizaremos para extraer los puertos del archivo que nos generó el primer escaneo a través de Nmap. Esta herramienta nos copiará en la clipboard los puertos encontrados.
Lanzaremos scripts de reconocimiento sobre los puertos encontrados y lo exportaremos en formato oN y oX para posteriormente trabajar con ellos. Verificamos que al parecer se trata de una máquina Ubuntu que dispone de una página Apache y servicio SSH.
Al intentar acceder a http://10.10.11.48, verificamos que se trata de la página web de Apache que viene por defecto.

Al intentar enumerar posibles directorios en el sitio web, no logramos encontrar nada interesante.
Realizamos fuzzing para enumerar subdominios del sitio web, en este caso, sin resultado ninguno obtenido.
Enumerating UDP Ports with Nmap
En este punto de reconocimiento inicial, nos encontramos que había una página web en el puerto 80 (HTTP) que no contenía ningún tipo de información, ni directorios, subdominios, archivos, etc.
Intentamos volver a enumerar los puertos que se encontrasen abiertos en la máquina víctima, pero esta vez intentando enumerar puertos UDP en vez de TCP.
Al realizar el escaneo de puertos UDP con la herramienta de Nmap, verificamos que hemos logrado localizar más puertos abiertos en el equipo que con el escaneo principal no logramos enumerar.
En la enumeración de los puertos UDP, nos encontramos que el SNMP (puerto 161) se encontraba expuesto. A través de la herramienta de snmp-check, lo que intentamos realizar es un análisis de la red para verificar y obtener información sobre dispositivos a través del protocolo SNMP.
En el resultado obtenido, logramos obtener más información. Entre las cuales, podemos verificar que el hostname UnDerPass.htb es el único daloradius server.
Añadiremos en nuestro archivo /etc/hosts la entrada correspondiente.
Daloradius Access
En la enumeración de puertos UDP, también nos encontramos que había un puerto 1812 del servicio de daloradius. Al intentar acceder a http://underpass.htb/daloradius no logramos acceder por falta de permisos.

Procedemos a enumerar posibles páginas web y directorios de la URL http://underpass.htb/daloradius, nos encontramos que hemos logrado encontrar un archivo llamado .gitignore, un directorio que podríamos investigar llamado app y un archivo que podría disponer de configuraciones nombrado docker-compose.yml.
Al revisar el contenido del archivo .gitignore, nos encontramos con el siguiente contenido. Podríamos investigar si disponemos acceso a los recursos que mencionan.
Al revisar el archivo docker-compose.yml, también logramos verificar configuraciones, usuarios y contraseñas, veremos si más adelante podemos utilizar esta información obtenida.
Realizamos de nuevo una nueva enumeración, pero esta vez de la URL http://underpass.htb/daloradius/app. En el resultado obtenido, nos muestra lo que parece ser una página de inicio de sesión y otro directorio llamado common.
Realizando una búsqueda por Internet, verificamos que las credenciales por defecto del acceso al servidor RADIUS son las siguientes.

Probaremos de intentar acceder al panel de inicio de sesión que nos encontramos http://underpass.htb/daloradius/app/users/login.php. En este caso, no logramos acceder a la plataforma.

Realizando nuevamente una enumeración de directorios de http://underpass.htb/daloradius/app con un diccionario más grande, logramos localizar un nuevo directorio llamado operators.
Al acceder a http://underpass.htb/daloradius/app/operators, verificamos que se trata de un panel de inicio de sesión de RADIUS, probaremos nuevamente si podemos autenticarnos con las credenciales que vienen por defecto en los servidores RADIUS.

Verificamos que hemos logrado acceder correctamente al panel de DALORADIUS.

Initial Access
Al revisar los diferentes apartados de la página web de DALORADIUS, nos encontramos con el apartado de Management < Users < List Users en el cual aparece al usuario svcMosh con unas credenciales en formato hash. --> http://underpass.htb/daloradius/app/operators/mng-list-all.php

Cracking hashes
Por el formato del hash, podemos deducir que se trata de un hash MD5. Procedemos a crackear el hash obtenido y logramos crackear la contraseña y obtenerla en texto plano.
Accessing to SSH with password cracked
Probaremos de acceder al equipo a través de SSH con las credenciales obtenidas. Logramos acceder y verificar la flag de user.txt.
Privilege Escalation
Abusing sudoers privileges (mosh-server)
Al revisar si el usuario que disponemos tiene algún privilegio de sudoers, nos encontramos que puede ejecutar como usuarioroot el binario /usr/bin/mosh-server.
Al ejecutar el servidor Mosh como root, ahora el usuario svcMosh tiene una shell con permisos de root. Esto permite al atacante acceder a todos los recursos del sistema con permisos completos, incluyendo la capacidad de modificar archivos, instalar software, y ejecutar comandos con total libertad.
Básicamente, lo que realizamos es montar un servidor Mosh con privilegios de root en el localhost, para así lograr obtener acceso como usuario root.
Por otro lado, logramos verificar la flag de root.txt.
Última actualización
¿Te fue útil?