Hack The Box - Writeup TwoMillion
Resumen
Este repositorio contiene mi walkthrough para la máquina Hack The Box - TwoMillion. El objetivo de este writeup es documentar mi metodología, explicar el proceso de enumeración y demostrar la cadena de explotación que condujo al acceso tanto a User como a Root.
Descargo de responsabilidad: Este writeup tiene fines exclusivamente educativos. Todas las acciones se realizaron en un entorno de laboratorio legal proporcionado por Hack The Box.
| Plataforma | Dificultad | Sistema Operativo |
|---|
| Hack The Box | Fácil | Linux |
Habilidades cubiertas
- Enumeración
- Pruebas de aplicaciones web
- Análisis de JavaScript
- Enumeración de API
- Vulnerabilidad IDOR
- Inyección de comandos
- Descubrimiento de credenciales
- Escalada local de privilegios
- Explotación de CVE
Enumeración
Empecé con algo de enumeración en la máquina objetivo para ver qué puertos y servicios tiene.

Después de saber que hay un servicio HTTP y que intenta redirigir a otro host, pero no hay IP para ese hostname, así que edité el /etc/host

Intentando abrir el enlace, luego obtenemos esta página, e intentando ir a la página de interés para ver qué contiene.

Encontré esta página web, y hice clic en Join HTB.

Luego comprobamos qué archivos se cargan al abrir esta página y encontramos un archivo JS interesante.

Aquí está el contenido del archivo, pero está ofuscado, así que queremos deofuscar el contenido para entender el código.

Aquí está el código, y parece que tenemos URLs que investigar.

Aquí intenté averiguar cómo generar una clave de invitación y tomé estos datos codificados para decodificarlos.

La decodifiqué con CyberChef local, y obtuvimos una ruta para generar una clave.

Aquí editamos la ruta de la URL, y obtuvimos un código de invitación, pero parece codificado.

Probé con base64, ¡¡y funcionó!! Tengo la clave de invitación.

Regístrese usando el código de invitación y completando los detalles.

Obtuvimos esta página y empezamos a buscar algo valioso.

Encontramos un generador de archivos VPN, lo cual es muy bueno si conseguimos algún dato sobre cuentas privilegiadas.

Siguiendo el enlace de la página anterior e intentando obtener endpoints, encontramos rutas muy interesantes para administradores.

Aquí empecé a intentar obtener autenticación de administrador para mi cuenta.



Finalmente, obtuvimos el ID, y creo que conseguimos privilegios de administrador, así que ahora queremos comprobar el estado de autenticación.

Sí, como esperábamos, tenemos acceso de administrador, así que el siguiente paso es intentar generar una VPN para mí como administrador.

Aquí empezamos a rellenar el campo solicitado en la respuesta.

Aquí obtuvimos un archivo VPN, pero ¿por qué no probar algo de inyección de comandos?!!

Como esperábamos, ¡¡¡funcionó!!!

Después de mirar un archivo interesante como .env, obtuvimos la contraseña del administrador.

Y finalmente, estamos dentro de la máquina.

Leyendo la flag de usuario

Aquí intentando obtener la flag de Root



Aquí recibimos un correo electrónico que revela una vulnerabilidad muy importante.

Después de identificar la versión del kernel, busqué vulnerabilidades públicas conocidas que la afectaran y encontré CVE-2023-0386. Esta es una vulnerabilidad de Escalada Local de Privilegios (LPE) en la implementación de del kernel de Linux. Permite a un atacante local obtener abusando de un fallo en cómo OverlayFS maneja los archivos con capacidades de Linux. Dado que la máquina objetivo estaba ejecutando un kernel vulnerable, esta vulnerabilidad proporcionó una vía adecuada para escalar privilegios desde el usuario actual a .

Busqué cómo explotar la vulnerabilidad, y encontré este PoC e intenté crearlo.

Descargué el repositorio en mi VM y usé scp para copiarlo a la máquina TwoMillion, leí el archivo README y desplegué el exploit.




Aquí obtuvimos el acceso Root y leímos la flag de Root.

¡¡Terminado!!

Gracias <3
Abdullah Rawashdeh