Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
rpcfirewall — Брандмауэр Windows RPC, который аудирует, обнаруживает и блокирует вредоносные удалённые вызовы процедур для предотвращения горизонтального перемещения, разведки и эксплуатации атак на основе RPC, таких как DCSync и ZeroLogon. | Kitploit
Инструменты/GitHubGitHub/zeronetworks/rpcfirewall
Оборонительные ИнструментыРазведкаЭксплуатацияОбход IDS/IPSЛатеральное перемещениеСетевая безопасностьТестирование на ПроникновениеРеагирование на Инциденты
GitHubzeronetworks/rpcfirewall

rpcfirewall

Брандмауэр Windows RPC, который аудирует, обнаруживает и блокирует вредоносные удалённые вызовы процедур для предотвращения горизонтального перемещения, разведки и эксплуатации атак на основе RPC, таких как DCSync и ZeroLogon.

547801 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

GitHub release (latest SemVer) GitHub all releases

Нужна дополнительная информация

Ознакомьтесь с нашим постом в блоге о RPC Firewall или нашим выступлением на BlackHat, чтобы лучше понять RPC, атаки на RPC и решение: RPC Firewall.

Присоединяйтесь к нашему сообществу в Slack |Zero| Labs для любых вопросов, проблем или просто чтобы высказаться.

Мы также будем рады услышать вас по электронной почте (если вы из тех людей). Свяжитесь с нами по адресу [email protected]

Начало работы

Следующее руководство показывает базовую установку и настройку RPC Firewall, а также демонстрацию того, как он защищает от различных атак на основе RPC.

RPC Firewall 2.0 Tutorial

Почему это важно?

RPC — это основной механизм, используемый для многочисленных техник горизонтального перемещения, разведки, атак-ретрансляторов или просто для эксплуатации уязвимых RPC-сервисов.

Атака DCSync? через RPC. Удаленный DCOM? через RPC. WMIC? через RPC. SharpHound? через RPC. PetitPotam? через RPC. PsExec? через RPC. ZeroLogon? через RPC... ну, вы поняли :)

Терминология?

В этом документе мы будем использовать следующие термины:

  • RPC Firewall: обозначает саму RpcFirewall.dll, которая загружается в различные RPC-серверы для их защиты.
  • RPC Filters: обозначает встроенный механизм фильтрации RPC в Windows.
  • RPCFW Configuration: обозначает файл RpcFw.conf, который используется для управления поведением RPC Firewall и RPC Filters.
  • RPCFW Manager: интерфейс командной строки, который предоставляет пользователям доступ как к RPC Firewall, так и к RPC Filters

Для чего это используется?

Исследование

Может использоваться для аудита всех удаленных RPC-вызовов. Как только вы запустите любые инструменты удаленной атаки, вы увидите, какие RPC UUID и Opnums были вызваны удаленно.

Пример конфигурации см. здесь.

Обнаружение удаленных RPC-атак

Когда RPCFW Configuration настроена на аудит, события записываются в Журнал событий Windows. События RPC Filter записываются в журнал безопасности с идентификатором события 5712. Журналы RPC Firewall записываются в Application/RPCFW.

Пользователи могут пересылать эти журналы в свою SIEM и использовать их для создания базовых показателей удаленного RPC-трафика для различных серверов. Как только будет зафиксирован аномальный RPC-вызов, используйте его для генерации оповещения для вашей команды SOC.

Мы интегрировали несколько правил Sigma, которые можно использовать для обнаружения необычных RPC-действий и атак.

Предотвращение удаленных RPC-атак

RPCFW Configuration можно настроить на блокировку и аудит только потенциально вредоносных RPC-вызовов. Все остальные RPC-вызовы не аудитируются для снижения шума и повышения производительности.

При обнаружении потенциально вредоносного RPC-вызова он блокируется и аудитируется. Это можно использовать для оповещения вашей команды SOC, сохраняя при этом защиту ваших серверов.

Для дополнения защиты вы можете использовать возможности фильтрации RPC, которые также поддерживаются через RpcFwManager.exe.

Пример такой конфигурации можно найти здесь.

Из каких компонентов состоит RPC Firewall?

Он состоит из 3 компонентов:

  1. RpcFwManager.exe — действует как автономное средство управления командной строкой для RPC Filters и развертывания Firewall. Также действует как установленная служба для развертывания RPC Firewall.
  2. RpcFirewall.dll — внедряемая DLL, которая выполняет аудит и фильтрацию RPC-вызовов.
  3. RpcMessages.dll — общая библиотека для обмена функциями и логикой, которая записывает данные в Просмотр событий Windows.

Использовать RPC Firewall или RPC Filters?

Хотя у каждого метода есть свои плюсы и минусы, есть несколько основных преимуществ использования RPC Firewall, которые требуют особого внимания. Это:

  1. Гранулярность: RPC Firewall применяется к каждому RPC-вызову и может использоваться для создания более точных контролей для конкретных RPC-функций.
  2. Идентификация исходного адреса: RPC Firewall лучше определяет исходный адрес вызывающего. RPC Filters не могут определить исходный адрес вызовов, сделанных через именованные каналы (SMB), что означает, что правила фильтрации RPC не будут работать для RPC-вызовов, сделанных через именованные каналы!!!
  3. Ошибки!: RPC Filters страдает от различных ошибок, которые Microsoft не спешит исправлять. Несколько примеров: диапазоны IP не работают, и вы не можете применить «всеобъемлющий» фильтр, так как это может повредить несколько служб контроллера домена, таких как NetLogon.

С другой стороны, RPC Filters отлично подходят для массового разрешения или запрета целых UUID, так как они делают это без каких-либо проблем.

Как использовать?

Какой статус?

Перед выполнением любой команды рекомендуется проверить статус развертывания. Это делается с помощью команды '/status':

root@kitploit:~
RpcFwManager.exe /status

Это покажет статус как RPC Firewall, так и RPC Filters. Это выведет подробную информацию о статусе установки, а также о рабочем статусе развертывания.

Суффиксы 'fw' / 'flt'

Почти каждая команда может иметь суффикс fw или flt в конце. Это сообщает RPCFW Manager, применяется ли команда к RPC Firewall ('fw'), RPC Filters ('flt') или к обоим, если суффикс не используется.

Установка / Удаление

Выполните установку соответствующей функции (RPC Filters / RPC Firewall / обе).

  • Установка RPC Firewall: настраивает журнал событий, помещает соответствующие DLL в папку %SystemRoot%\System32 и настраивает журнал приложений RPCFW для просмотра событий. Также устанавливает службу «RPC Firewall», которая будет использоваться для постоянства.
  • Установка RPC Filters: включает аудит безопасности RPC-событий. Их можно найти в журнале безопасности с идентификатором события 5712.

Убедитесь, что просмотр событий закрыт во время установки/удаления. Также рекомендуется остановить и удалить перед установкой, чтобы убедиться, что предыдущие версии не установлены.

root@kitploit:~
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall
RpcFwManager.exe /install

Удаление делает обратное. Также здесь рекомендуется убедиться, что служба остановлена перед удалением.

root@kitploit:~
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall

Запуск / Остановка

RPC Filters по своей природе применяются системно к любому RPC-серверу. Применение таких фильтров также сохраняется после перезагрузки. Любой новый или старый процесс будет защищен RPC Filters в соответствии с RPCFW Configuration.

RPC Firewall внедряется и защищает любые процессы RPC-сервера, которые прослушивают удаленные RPC-вызовы. Это делается путем внедрения RPC Firewall в процессы, которые загружают RPCRT4.DLL (среда выполнения RPC). После загрузки RPC Firewall определяет, прослушивает ли RPC-сервер удаленные RPC-вызовы. Если нет, он выгружает себя. Если процесс является действующим RPC-сервером, rpcFirewall начинает аудит и мониторинг входящих RPC-вызовов в соответствии с RPCFW Configuration.

Рекомендуемый метод защиты RPC-сервисов — использование команды '/start'. Она запускает службу RPC Firewall (для 'fw' или без суффикса) и создает RPC Filters (для 'flt' или без суффикса).

root@kitploit:~
RpcFwManager.exe /start

Также возможно использовать RPC Firewall в ad-hoc режиме для защиты конкретных процессов. Это не запустит службу RPC Firewall и не сохранится после перезагрузки.

Для защиты отдельного процесса по идентификатору процесса (PID):

root@kitploit:~
RpcFwManager.exe /start pid <pid>

Для защиты отдельного процесса по имени:

root@kitploit:~
RpcFwManager.exe /start process <process name>

Чтобы остановить защиту, просто выполните команду '/stop' с соответствующим суффиксом (невозможно остановить защиту для конкретного процесса).

root@kitploit:~
RpcFwManager.exe /stop

В зависимости от используемого суффикса ('fw', 'flt' или ни одного), это остановит службу RPC Firewall и выгрузит DLL RPC Firewall из всех процессов. Для RPC Filters это удалит все фильтры, созданные RPCFW Manager.

Постоянство

После запуска RPC Firewall будет сохраняться после перезагрузок. RPC Filters также являются постоянными.

Конфигурация

RPCFW Manager ищет файл RpcFw.conf в том же каталоге, что и исполняемый файл. Этот файл использует следующие параметры конфигурации:

Важно: Каждая строка конфигурации должна иметь префикс 'fw:' или 'flt:', чтобы указать, применяется ли строка для RPC Firewall или RPC Filter.

Просмотр дополнительных данных

Чтобы увидеть больше RPC-связанных «вещей», существует команда show. Пока она показывает только защищенные процессы, которые нельзя защитить с помощью модуля RPC Firewall.

root@kitploit:~
RpcFwManager.exe /show

Порядок конфигурации важен, так как первое совпадение определяет результат RPC-вызова.

Например, следующий фрагмент конфигурации защитит контроллер домена от атаки DCSync с помощью RPC Firewall. Это делается путем разрешения «опасного» номера операции 3 DRSGetNCChanges UUID MS-DRSR только от других контроллеров домена.

root@kitploit:~
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr1> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr2> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 opnum:3 action:block

При каждом изменении конфигурации необходимо уведомить rpcFirewall.dll с помощью команды update:

root@kitploit:~
RpcFwManager.exe /update

Просмотр журналов

Для RPC Firewall откройте Просмотр событий -> Журналы приложений и служб -> RPCFW. Идентификаторы событий 1 и 2 относятся к событиям «защита» и «снятие защиты». Событие 3 аудитирует фактические RPC-вызовы. Также добавьте столбец «Ключевые слова». Этот столбец будет содержать «Успех аудита»/«Сбой аудита», указывая, был ли RPC-вызов заблокирован или нет.

Для RPC Filters откройте Просмотр событий -> Безопасность -> RPCFW. Отфильтруйте по идентификатору события 5712.

Могу ли я внести вклад?

Да! Не стесняйтесь создавать pull request.

Я хочу, чтобы RPC Firewall делал больше!

Мы тоже этого хотим! Пожалуйста, обращайтесь к нам с любыми мыслями, идеями или проблемами: [email protected]

Есть ли лицензия?

Подробнее см. LICENSE.

Скачать инструмент
Имя параметраОбъяснениеПоддерживается...
opnum:Сопоставление номера операции RPCRPC Firewall
verbose:Может быть true или false. Если true, выводит отладочную информацию для конкретных RPC-вызовов (по умолчанию false)RPC Firewall
prot:Сопоставление используемого протокола с любой из констант последовательности протоколови RPC Firewall, и Filters
addr:Сопоставление удаленного IP-адреса (IPv4 или IPv6, включая CIDR)RPC Firewall и частично RPC Filters, подробнее здесь
uuid:Сопоставление конкретного UUIDи RPC Firewall, и Filters
action:Может быть allow или block (по умолчанию allow)и RPC Firewall, и Filters
audit:Может быть true или false. Управляет записью событий в журнал RPCFW (по умолчанию false)и RPC Firewall, и Filters
sid:Сопоставление аутентифицированного пользователя с идентификатором безопасности. Может быть конкретный пользователь или группа.и RPC Firewall, и Filters