Writeup — Máquina Build (Tarea #2)

Resolución completa de la máquina Build de VulnYX. Video arriba con el paso a paso, resumen técnico abajo.

1. Setup

Importar el .ova en VirtualBox y configurar el adaptador de red en red SEGINFO (la red NAT que creamos en el writeup anterior, ver Wicca si no la tienen lista).

Tras iniciar ambas VMs:

MáquinaIP
Kali10.0.3.5
Build10.0.3.6

2. Enumeración

sudo nmap -sV 10.0.3.6

Servicios expuestos:

  • 80/tcp — IIS (página por defecto, no aporta).
  • 5985/tcp — WinRM.
  • 8080/tcpJenkins.

3. Acceso a Jenkins — credenciales por defecto

Entrando a http://10.0.3.6:8080/ aparece el login de Jenkins. Probamos las credenciales por defecto típicas:

admin : admin

Funciona. Quedamos como administrador del Jenkins → ya tenemos RCE prácticamente garantizada.

4. RCE vía Script Console (Groovy)

En Manage Jenkins → Script Console se puede ejecutar código Groovy con los privilegios del proceso Jenkins. Generamos una reverse shell desde revshells.com filtrando por Groovy.

En Kali, listener:

nc -lvnp 9001

Primer intento con un payload tipo /bin/sh falla (la víctima es Windows, no existe sh). Cambiamos el payload a uno que invoque cmd (o powershell) y lo ejecutamos en la Script Console.

Shell recibida:

C:\Windows\System32> whoami
nt authority\system

Privilegios máximos directo desde Jenkins. Las flags están en:

  • C:\Users\builder\Desktop\user.txt
  • C:\Users\Administrator\Desktop\root.txt

5. Lectura de las flags

Vía principal — login gráfico en la VM

Como tenemos nt authority\system, podemos cambiar la contraseña del usuario Administrator desde la reverse shell:

net user Administrator NuevaPass123!

Ahora vamos directo a la ventana de la VM de Windows en VirtualBox (que ya está mostrando la pantalla de login) y entramos como Administrator con la nueva contraseña. Desde el escritorio gráfico abrimos los .txt con el explorador y ahí están ambas flags.

Alternativa — desde la reverse shell

Si prefieren no salir de la shell:

  • Con payload cmd: more C:\Users\builder\Desktop\user.txt
  • Con payload powershell (otra opción de revshells.com): cat funciona como en Linux.

Tip de informe

Como siempre, en las capturas usen echo con su apodo antes del comando para evitar que el profe sospeche que el writeup es copiado. Ver el post sobre cambiar el hostname de Kali.

Resumen del ataque

  1. nmap -sV → identificar Jenkins en :8080.
  2. Probar credenciales por defecto admin:admin → entra.
  3. Manage Jenkins → Script Console (Groovy) → reverse shell con payload Windows.
  4. Shell directa como nt authority\system.
  5. Leer ambas flags (login gráfico tras net user o directamente desde la shell).

Vulnerabilidad clave: credenciales por defecto en un servicio crítico. Lección: nunca dejen Jenkins (ni nada) con admin:admin.