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.

SNMP significa Simple Network Management Protocol, por sus siglas en inglés. Se trata de un protocolo para la gestión de la transferencia de información en redes, especialmente para uso en LAN, dependiendo de la versión elegida.

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.

Daloradius es una interfaz web de administración utilizada para gestionar servidores FreeRADIUS y PHP-Freeradius. Es una herramienta práctica para la configuración y administración de sistemas RADIUS (Remote Authentication Dial-In User Service), que se utiliza principalmente para la autenticación, autorización y accounting (AAA) en redes, como en proveedores de Internet (ISPs), sistemas de acceso Wi-Fi, VPNs, y otras soluciones que requieren un control centralizado de usuarios.

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.

Mosh, el acrónimo de Mobile Shell, es una aplicación (en linea de comandos) que es usada para conectarse a un servidor desde un ordenador o dispositivo cliente, a traves de la red. Puede usarse como SSH y contiene algunas características adicionales al SSH. Es una aplicación escrita por Keith Winstein, para sistemas UNIX, bajo licencia GNU GPL v3.

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?