Jenkhack
Máquina "JenkHack" de DockerLabs
Autor: d1se0
Dificultad: Fácil

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:

No tiene nada interesante por lo que continuaremos al 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:

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

Gracias por leer.
Última actualización