
Брандмауэр Windows RPC, который аудирует, обнаруживает и блокирует вредоносные удалённые вызовы процедур для предотвращения горизонтального перемещения, разведки и эксплуатации атак на основе RPC, таких как DCSync и ZeroLogon.
Ознакомьтесь с нашим постом в блоге о RPC Firewall или нашим выступлением на BlackHat, чтобы лучше понять RPC, атаки на RPC и решение: RPC Firewall.
Присоединяйтесь к нашему сообществу в Slack |Zero| Labs для любых вопросов, проблем или просто чтобы высказаться.
Мы также будем рады услышать вас по электронной почте (если вы из тех людей). Свяжитесь с нами по адресу [email protected]
Следующее руководство показывает базовую установку и настройку RPC Firewall, а также демонстрацию того, как он защищает от различных атак на основе RPC.
RPC — это основной механизм, используемый для многочисленных техник горизонтального перемещения, разведки, атак-ретрансляторов или просто для эксплуатации уязвимых RPC-сервисов.
Атака DCSync? через RPC. Удаленный DCOM? через RPC. WMIC? через RPC. SharpHound? через RPC. PetitPotam? через RPC. PsExec? через RPC. ZeroLogon? через RPC... ну, вы поняли :)
В этом документе мы будем использовать следующие термины:
Может использоваться для аудита всех удаленных RPC-вызовов. Как только вы запустите любые инструменты удаленной атаки, вы увидите, какие RPC UUID и Opnums были вызваны удаленно.
Пример конфигурации см. здесь.
Когда RPCFW Configuration настроена на аудит, события записываются в Журнал событий Windows. События RPC Filter записываются в журнал безопасности с идентификатором события 5712. Журналы RPC Firewall записываются в Application/RPCFW.
Пользователи могут пересылать эти журналы в свою SIEM и использовать их для создания базовых показателей удаленного RPC-трафика для различных серверов. Как только будет зафиксирован аномальный RPC-вызов, используйте его для генерации оповещения для вашей команды SOC.
Мы интегрировали несколько правил Sigma, которые можно использовать для обнаружения необычных RPC-действий и атак.
RPCFW Configuration можно настроить на блокировку и аудит только потенциально вредоносных RPC-вызовов. Все остальные RPC-вызовы не аудитируются для снижения шума и повышения производительности.
При обнаружении потенциально вредоносного RPC-вызова он блокируется и аудитируется. Это можно использовать для оповещения вашей команды SOC, сохраняя при этом защиту ваших серверов.
Для дополнения защиты вы можете использовать возможности фильтрации RPC, которые также поддерживаются через RpcFwManager.exe.
Пример такой конфигурации можно найти здесь.
Он состоит из 3 компонентов:
Хотя у каждого метода есть свои плюсы и минусы, есть несколько основных преимуществ использования RPC Firewall, которые требуют особого внимания. Это:
С другой стороны, RPC Filters отлично подходят для массового разрешения или запрета целых UUID, так как они делают это без каких-либо проблем.
Перед выполнением любой команды рекомендуется проверить статус развертывания. Это делается с помощью команды '/status':
RpcFwManager.exe /status
Это покажет статус как RPC Firewall, так и RPC Filters. Это выведет подробную информацию о статусе установки, а также о рабочем статусе развертывания.
Почти каждая команда может иметь суффикс fw или flt в конце. Это сообщает RPCFW Manager, применяется ли команда к RPC Firewall ('fw'), RPC Filters ('flt') или к обоим, если суффикс не используется.
Выполните установку соответствующей функции (RPC Filters / RPC Firewall / обе).
Убедитесь, что просмотр событий закрыт во время установки/удаления. Также рекомендуется остановить и удалить перед установкой, чтобы убедиться, что предыдущие версии не установлены.
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall
RpcFwManager.exe /install
Удаление делает обратное. Также здесь рекомендуется убедиться, что служба остановлена перед удалением.
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.