🔍MS-RPC Fuzzer - инструмент для автоматизации поиска уязвимостей в интерфейсах и процедурах MS-RPC (Microsoft Remote Procedure Call), позволяющий получить представление о том, какие реализации MS-RPC могут быть уязвимыми с помощью удобной визуализации данных.
MS-RPC — это протокол, используемый в операционных системах Windows для обеспечения взаимодействия между процессами как локально, так и через сеть. Он позволяет клиентам вызывать процедуры в удаленных системах так, как если бы они были локальными функциями.
❓Причины создания инструмента⏺️Изучение интерфейсов RPC вручную занимает очень много времени.
⏺️Визуализация при изучении MS-RPC может быть запутанной, что может привести к упущению потенциальных проблем с безопасностью.
⏺️Существует несколько отличных инструментов для исследования уязвимостей MS-RPC:
RpcView, RpcMon и Rpcinvestigator. Эти инструменты позволяют получить представление о работе служб RPC в режиме реального времени. Однако ни один из этих инструментов не позволяет проводить дальнейшие исследования, например подключаться к конечной точке и вызывать RPC-вызовы.
⬇️ИспользованиеДля начала работы с инструментом необходимо импортировать модуль MS-RPC-Fuzzer.
Import-Module .\MS-RPC-Fuzzer.psm1
Работа инструмента состоит из трёх основных этапов.
1️⃣На первом этапе для указанной цели проводится инвентаризация интерфейсов, конечных точек и процедур RPC и результаты экспортируются в файл JSON.
Get-RpcServerData -target "C:\Windows\System32\efssvc.dll" -OutPath .\output
2️⃣На втором этапе экспортированный файл JSON можно использовать для фаззинга.
'.\output\rpcServerData.json' | Invoke-RpcFuzzer -outpath .\output\ -minStrLen 100 -maxStrLen 1000 -minIntSize 9999 -maxIntSize 99999
3️⃣Третий этап — анализ. Экспортируются файлы JSON, содержащие результаты фаззинга. Пользователь может использовать эти файлы JSON по своему усмотрению. Однако для импорта файлов JSON в базу данных Neo4j необходимо использовать специальную оболочку.
'.\output\Allowed.json' | Import-DatatoNeo4j -Neo4jHost 192.168.178.89:7474 -Neo4jUsername neo4j
❗️Инструмент следует запускать только в изолированной и контролируемой среде.