romabri@home:~$

Strong Jenkins - DockerLabs

OS Dificultad Creator
Linux Medio ElPinguinoDeMario

Reconocimiento

Durante la fase inicial de reconocimiento, identificamos varios puertos abiertos en el sistema. Uno de estos, el puerto 8080, estaba particularmente interesante ya que alojaba una instancia de Jenkins.

imagen

Al acceder a Jenkins, observamos la interfaz de inicio de sesión estándar.

imagen

Interceptación y Fuerza Bruta

Decidimos interceptar la autenticación usando Burp Suite. Configuramos el proxy para interceptar la solicitud de inicio de sesión con las credenciales de usuario admin y contraseña admin.

imagen

Después de capturar la petición, la enviamos al Intruder de Burp Suite para preparar un ataque de fuerza bruta en el campo de contraseña.

imagen

Configuramos la pestaña de payloads añadiendo un diccionario de contraseñas comunes para la fuerza bruta. En la pestaña Settings, bajo Grep - Extract, establecimos un filtro para identificar respuestas que indicaran un error de login.

imagen

Iniciamos el ataque y, tras varias pruebas, descubrimos que la contraseña correcta era rockyou, ya que el mensaje no indicaba error de login.

imagen

imagen

Escalada de Privilegios

Con acceso a Jenkins, navegamos al apartado ‘Manage Jenkins’ y luego a ‘Script Console’, donde ejecutamos código Java para obtener una reverse shell.

imagen

imagen

Una vez obtenido acceso a la shell, descubrimos que Python3 tenía configurado el bit SUID, lo cual es una oportunidad para escalar privilegios.

imagen

Utilizamos este vector para ejecutar Python3 con privilegios elevados y logramos obtener una shell como root, completando la escalada de privilegios.