🛠 Автоматизация исследования уязвимостей MS-RPC через fuzzing
Remco van der Meer опубликовал статью о том, как автоматизировать поиск уязвимостей в Microsoft RPC (MS-RPC), который используется в Windows для межпроцессного взаимодействия и представляет огромную поверхность атаки.
💡 Основные моменты:
• MS-RPC позволяет клиентам вызывать процедуры на удалённых системах, как если бы это были локальные функции. Именно поэтому баги здесь часто критические.
• Ручной анализ RPC-интерфейсов крайне затратен: сотни интерфейсов, десятки служб, разные эндпоинты.
• NtObjectManager (от James Forshaw) даёт возможность динамически генерировать RPC-клиенты на PowerShell, без написания C++ клиента и компиляции с MIDL. Этот модуль стал основой для создания нового инструмента автора.
📄 Что предлагает статья:
1. Автоматизация fuzzing для RPC.
Вместо классического реверса через Ghidra/IDA и PDB, Remco реализует fuzzer на PowerShell, который:
• Парсит RPC интерфейсы из DLL/EXE.
• Генерирует клиентов с нужными binding string (например, ncacn_np:[\\pipe\\efsrpc]).
• Отправляет случайные и граничные значения параметров.
2. Поддержка сложных параметров (context handle).
Алгоритм определяет, какие процедуры требуют output другого RPC вызова как input (пример – PrinterBug).
3. Сбор и анализ результатов через Neo4j.
Fuzzing логируется в JSON (allowed.json, denied.json, error.json) и импортируется в граф Neo4j для удобного анализа связей между RPC серверами, интерфейсами, процедурами и вызовами.
4. Использование canary-строк для выявления утечек.
Fuzzer вставляет уникальные строки в fuzzing input, а затем Process Monitor выявляет, куда эти данные “протекли” в системе.
RPC остаётся одной из самых недооценённых, но мощнейших точек входа в Windows. Автоматизация тестирования RPC позволяет найти уязвимости, которые годами остаются невыявленными, ведь большинство пентестеров обходят RPC стороной из-за сложности.
p.s. Инструмент Remco будет выложен в open-source после его выпуска, так что ждём пуша на GitHub.
Post #818
41
папкин ИБшник, мамкин хацкер Automating MS-RPC vulnerability research | Incendium.rocks.pdf