В этой статье я покажу век­тор тар­гетиро­ван­ной ата­ки на тра­фик меж­ду EDR/XDR и сер­вером SOC. Через Bring Your Own Vulnerable Driver про­пат­чим Driver Signature Enforcement ядра Windows, пос­ле чего заг­рузим свой непод­писан­ный драй­вер Windows Filtering Platform, чис­тый по сиг­натурам.

Это иссле­дова­ние получи­ло третье мес­то на Pentest Award 2025 в катего­рии «Раз bypass, два bypass». Сорев­нование еже­год­но про­водит­ся ком­пани­ей Awillix.

На осно­ве драй­вера мы под­нимем проз­рачный прок­си, который будет перех­ватывать и собирать тра­фик меж­ду аген­том и сер­вером. Это поз­волит обой­ти защиту, отве­чающую за хра­нение чувс­тви­тель­ных дан­ных про­филя бра­узе­ра и кон­троль одно­разо­вых сес­сий. Под­робнос­ти про обход DSE ты можешь про­честь в мо­ем иссле­дова­нии.

warning

Статья име­ет озна­коми­тель­ный харак­тер и пред­назна­чена для спе­циалис­тов по безопас­ности, про­водя­щих тес­тирова­ние в рам­ках кон­трак­та. Автор и редак­ция не несут ответс­твен­ности за любой вред, при­чинен­ный с при­мене­нием изло­жен­ной информа­ции. Рас­простра­нение вре­донос­ных прог­рамм, наруше­ние работы сис­тем и наруше­ние тай­ны перепис­ки прес­леду­ются по закону.

По­мимо пря­мой борь­бы с EDR с помощью передо­вых методов вре­донос­ного ПО, сущес­тву­ют аль­тер­натив­ные спо­собы обхо­да, такие как исполь­зование неп­равиль­ных нас­тро­ек или уяз­вимос­тей EDR, уда­ление аген­та EDR или исполь­зование уяз­вимого драй­вера (Bring Your Own Vulnerable Driver, BYOVD), который при­бива­ет про­цес­сы аген­тов EDR. Сре­ди этих кос­венных методов обхо­да осо­бен­но инте­рес­ны те, что осно­ваны на сетевых под­клю­чени­ях.

Аген­ты EDR пос­тоян­но сту­чат­ся на цен­траль­ные или облачные сер­веры и шлют телемет­рию: све­дения о хос­те, диаг­ности­чес­кие алер­ты, наход­ки по угро­зам и про­чие события. Если мал­варь хит­рее обыч­ного, агент не спе­шит ее гасить: он наб­люда­ет за поведе­нием, гоня­ет модели в обла­ке и копит кон­текст. Как толь­ко информа­ции ста­нет дос­таточ­но, про­цесс будет оста­нов­лен. Отсю­да вывод: EDR силь­но завяза­на на обла­ко. При этом агент все еще ловит клас­сичес­кие шту­ки вро­де того же Mimikatz. Но без интерне­та EDR замет­но теря­ет хват­ку, а коман­дам DFIR уже не отсле­дить машину через кон­соль EDR.

Нес­коль­ко лет назад это наг­лядно показа­ли пра­вила бран­дма­уэра «Защит­ника Windows»:

# Block outbound 443 from the Microsoft Defender for Endpoint (MDE) agent to cloud services with PowerShell
1. New-NetFirewallRule -DisplayName "Block 443 MsMpEng" -Name "Block 443 MsMpEng" -Direction Outbound -Service WinDefend -Enabled True -RemotePort 443 -Protocol TCP -Action Block
2. New-NetFirewallRule -DisplayName "Block 443 SenseCncProxy" -Name "Block 443 SenseCncProxy" -Direction Outbound -Program "$env:ProgramFiles\Windows Defender Advanced Threat Protection\SenseCncProxy.exe" -Enabled True -RemotePort 443 -Protocol TCP -Action Block
3. New-NetFirewallRule -DisplayName "Block 443 MsSense" -Name "Block 443 MsSense" -Direction Outbound -Program "$env:ProgramFiles\Windows Defender Advanced Threat Protection\MsSense.exe" -Enabled True -RemotePort 443 -Protocol TCP -Action Block

Нас­тро­ить пра­вила так, что­бы EDR не сли­вал дан­ные в обла­ко, вро­де бы прос­то. Но кро­ме прав адми­на, всплы­вают и дру­гие огра­ниче­ния — их тоже нуж­но учи­тывать и зак­рывать. Самое важ­ное — вклю­чить защиту от несан­кци­они­рован­ного изме­нения в Microsoft Defender for Endpoint (Tamper Protection).

Та­кая защита бло­киру­ет любые попыт­ки пра­вить кон­фиг кли­ента — даже с админ­ски­ми пра­вами на машине. Плюс она не дает локаль­ным пра­вилам фай­рво­ла вли­ять на про­цес­сы Defender for Endpoint. Запус­тишь коман­ды выше — получишь пре­дуп­режде­ние, а изме­нения будут заб­локиро­ваны.

Хо­тя защита от несан­кци­они­рован­ных изме­нений в пер­вую оче­редь рас­счи­тана на про­цес­сы Defender, у дру­гих EDR есть похожие механиз­мы. Еще одна рабочая мера — отклю­чить сли­яние локаль­ных пра­вил (Local Rule Merge) в бран­дма­уэре «Защит­ника Windows». Если у тебя Active Directory, GPO без проб­лем перет­рет локаль­ные нас­трой­ки фай­рво­ла.

Здесь мож­но задавать пра­вила по уда­лен­ным адре­сам и пор­там. Проб­лема в том, что мно­гие EDR обща­ются сра­зу с сот­нями, а то и тысяча­ми сер­веров — телемет­рия, обновле­ния, облачные ана­лити­ки. Не добав­лять же каж­дый такой хост в пра­вила вруч­ную.

Почему WFP лучше?

Прав­ки в фай­рво­ле Windows Defender сра­зу палят­ся, так что эффектив­нее копать ниже — под­цепить­ся к Windows Filtering Platform (WFP).

По докумен­тации Microsoft, WFP — набор API и сис­темных служб, которые дают раз­работ­чикам гиб­кий дос­туп к обра­бот­ке пакетов на раз­ных уров­нях и поз­воля­ют ей управлять. С WFP ты можешь филь­тро­вать соеди­нения по при­ложе­ниям, поль­зовате­лям, адре­сам, сетевым интерфей­сам и дру­гим приз­накам.

Эту плат­форму исполь­зуют для филь­тра­ции кон­тента, родитель­ско­го кон­тро­ля, обхо­да цен­зуры, Deep Packet Inspection (DPI) и про­чих задач. Поэто­му WFP лежит в осно­ве мно­гих средств безопас­ности: IDS/IPS, бло­киров­щиков рек­ламы, фай­рво­лов, EDR и VPN. На WFP пос­тро­ен и фай­рвол Windows Defender.

Ме­ханизм филь­тра­ции сос­тоит из служ­бы поль­зователь­ско­го режима Base Filtering Engine (BFE) и ком­понен­та режима ядра Windows Filtering Platform. Вмес­те они гоня­ют тра­фик через филь­тры: ядро режет пакеты на сетевом и тран­спортном уров­нях, а BFE рулит полити­ками. Ког­да к потоку при­меня­ются пра­вила, код в ядре дер­гает дос­тупные ему API и callout-драй­веры.

Филь­тры — это пра­вила сопос­тавле­ния пакетов: они говорят движ­ку филь­тра­ции, что делать с тра­фиком. При­мер: block all outbound packets to TCP port 1337 — бло­киро­вать весь исхо­дящий TCP‑тра­фик на порт 1337. Филь­тры быва­ют вре­мен­ные и пос­тоян­ные. Вре­мен­ные под­хва­тыва­ются при стар­те драй­вера TCP/IP (tcpip.sys) во вре­мя заг­рузки, а пос­тоян­ные гиб­че и пережи­вают перезаг­рузку.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии