Jenkhack

Máquina "JenkHack" de DockerLabs

Autor: d1se0

Dificultad: Fácil

jenk

RECONOCIMIENTO

Comenzamos haciendo un escaneo de nmap:

Como vemos está abierto el puerto 80, 443 y 8080.

Ahora continuaremos por el navegador al puerto 80:

80

No tiene nada interesante por lo que continuaremos al 8080:

8080

Tenemos un jenkins.

Si intentamos las credenciales comunes como admin:admin o root:root no tendremos acceso, por lo que buscaremos algún usuario y contraseña.

Luego de revisar el codigo fuente de la página en el puerto 80, encuentro dos palabras que parecen ser usuarios y al probarlas como usuario y contraseña en el puerto 8080, podemos entrar:

jenkins-admin:cassandra.

INTRUSION

Estando dentro del jenkins, iremos a /script, esto nos llevará a una script conosole que nos permitirá ejecutar comandos. Para enviarnos una reverse shell, debemos ejecutar esto:

Esto nos enviará una reverse shell por el puerto 443, por lo que antes de ejecutarla escucharemos en ese puerto:

una vez estemos escuchando en ese puerto, ejecutamos el comando en la página y ganaremos acceso.

ESCALADA DE PRIVILEGIOS

jenkins

Como nos hemos entrado mediante una reverse shell, tendremos que hacer el tratamiento de la tty:

Ahora si que no se nos cerrará la conexión y estaremos cómodos.

Si leemos el archivo /etc/passwd, veremos un usuario llamado "jenkhack".

Si buscamos algún archivo con ese nombre, encontraremos una carpeta que tiene una nota. Para buscar ejecutamos find / -name "jenkhack" 2>/dev/null. Si la leemos vemos esto:

Como vemos la contraseña no está en un formato legible, por lo que iremos a CyberChef, y luego de probar, podemos pasarlo a texto con base85:

chef

Ahora escalamos poniendo su jenkhack y la contraseña.

Jenkhack

Ahora si ejecutamos un sudo -l, veremos esto:

Pero si probamos a ejecutarlo solo nos muestra un mensaje, lo que significa que no es realmente bash sino un script. Al leerlo podemos ver esto en una parte:

Por lo que vamos a /opt/ pero ya hay un archivo llamado así, por lo que lo borramos con rm bash.sh y creamos otro con el siguiente contenido:

Esto nos dejará modificar el /etc/passwd cuando ejecutemos el script con sudo, y ya nos quedariá borrar la "x" de root y escalar con su

root

Gracias por leer.

Última actualización