
I. Обзор
Сегодня мы продолжим исследование Bindlink API для вмешательства в работу антивирусных решений и EDR. На этот раз воспользуемся драйвером «bindflt.sys», чтобы предотвратить запуск службы антивируса/EDR при инициализации Windows.
Вы можете ознакомиться с предыдущими статьями тут:
https://www.zerosalarium.com/2025/10/DR-Redir-Break-EDR-Via-BindLink-Cloud-Filter.html
https://www.zerosalarium.com/2025/11/EDR-Redir-V2-Blind-EDR-With-Fake-Program-Files.html
В этой статье поэкспериментируем с Windows Defender и Windows 11 версии 25H2. Предложенный способ успешно отработал и на других коммерческих AV/EDR решениях, в моей тестовой среде. Из-за опасений нанести ущерб указанным продуктам я воздержусь от раскрытия их названий.
EDR: Endpoint Detection and Response (обнаружение угроз и реагирование на уровне конечных точек);
AV: Антивирус.
II. Основная часть
1. Немного сведений об AV и EDR службах
Службы антивирусных приложений и EDR функционируют аналогично стандартным сервисам Windows, однако имеют одну важную особенность — они защищены драйверами ядра. Отличительные характеристики AV/EDR сервиса:
Всегда работает в контексте высоких привилегий (SYSTEM).
Запускается автоматически вместе с системой (Auto Start).
Защищен Windows PPL (Protected Process Light).
Пользователи в режиме UserMode не могут изменять конфигурацию службы.
В процесс службы невозможно вмешаться из UserMode (за исключением метода EDR-Freeze).
Таким образом, после успешно��о старта AV/EDR сервиса возможности атакующего резко сокращаются, и приходится искать способы обойти защиту.
2. Идея использования Bindlink для предотвращения запуска AV/EDR
Первоначально я использовал Bindlink для перенаправления папок антивирусов/EDR в подконтрольный мне каталог:
Или подменял всю папку «Program Files»:
Однако эти действия происходят при уже работающем EDR, и существуют методы защиты.
Теперь же моя цель — каталог, используемый всеми процессами Windows: System32. Любой процесс в Windows зависит от библиотек в каталоге System32, и EDR не исключение.
Изменение оригинальных файлов в System32 может привести к повреждению системы Windows, но мы можем воспользоваться механизмом Bindlink, обеспечив безопасность и позволив EDR загрузить изменённую версию библиотеки.
Основные шаги:
Создать службу, которая запустится раньше, чем служба EDR.
Использовать Bindlink для подмены DLL, необходимой EDR, на «поврежденную» DLL.
Воспользоваться PPL защитой EDR-сервисов, вынуждая их самостоятельно завершиться.
После завершения EDR процесса, убрать перенаправление, восстановив нормальную функциональность остальных процессов.
Сперва нам нужно выяснить группу сервисов, к которой относится EDR, чтобы создать свою службу с более высоким приоритетом запуска. Этот приём описан мною в «Как обеспечить постоянное выполнение первым?»
Далее скопируем оригинальную DLL из каталога System32 в другое место и нарушим ее подпись. Мы преследуем две цели: помешать EDR загрузить DLL и обеспечить нормальную работу остальных приложений.
Третий пункт заключается в следующем: поскольку новая библиотека теперь неподписанная, защищённый PPL процесс откажется её загружать и завершится. Подробнее о механизме PPL читайте в статье:
Countering EDRs With The Backing Of Protected Process Light.
Четвёртый шаг прост: удалить перенаправление, чтобы избежать нежелательных последствий.
3. EDRStartupHinder: блокировка запуска EDR
Чтобы реализовать данную идею, я разработал инструмент под названием EDRStartupHinder. Вы можете скачать и попробовать его по следующей ссылке.
Он поддерживает следующие параметры:

EDRStartupHinder копирует библиотеку из каталога System32 (OriginalLib) в другое место под именем (FakeLib). Затем он изменяет один байт в PE заголовке DLL, делая подпись недействительной. Следующим этапом является регистрация службы с заданным именем (ServiceName) и группой (ServiceGroup). Этот сервис постоянно отслеживает активность EDR процесса (EDRProcess), выполняя операции перенаправления и отката изменений.
Стоит обратить внимание на некоторые важные моменты:
Необходимо подобрать такую библиотеку, отсутствие которой повлечёт завершение процесса EDR. Эта библиотека должна находиться вне списка известных DLL (KnownDLLs), чтобы гарантировать, что она не была предварительно загружена:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
Для нахождения подходящей библиотеки рекомендуется воспользоваться инструментами Process Monitor и Process Explorer.
Вам потребуется определить группу, к которой принадлежит служба EDR, и зарегистрировать собственную службу с группой, имеющей больший приоритет:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder
Самый простой путь — использовать Process Monitor с включённым журналом загрузки (BootLog), чтобы увидеть, какие службы стартуют перед EDR, и воспользоваться названием группы одной из этих служб.
4. Эксперимент с использованием EDRStartupHinder против Windows Defender
Проведя исследование на лабораторной машине, я выяснил, что Windows Defender при старте загружает библиотеку msvcp_win.dll. Помимо этого, одна из служб группы TDI гарантированно стартует перед началом работы Windows Defender. Процесс, который я хочу заблокировать, называются MsMpEng.exe.
Запустим EDRStartupHinder с такими параметрами:

После успешного выполнения будет создана новая служба с именем DusmSVC-01.

При перезагрузке компьютера EDRStartupHinder запустится раньше Windows Defender и перенаправит DLL в новое место.

Так как процесс MsMpEng.exe защищён механизмом PPL, он не сможет загрузить неподписанную библиотеку. Если эта библиотека критически важна, процесс завершит своё выполнение.

III. Заключение
Службы антивирусов и EDR, несмотря на защиту на уровне ядра, являются обычными службами и процессами Windows. Вместо того чтобы атаковать эти службы напрямую, злоумышленники могут сосредоточиться на единственном компоненте, который используют все процессы Windows: System32.
EDRStartupHinder эксплуатирует механизм Windows Bindlink для перенаправления DLL из System32 в другое место, а также Protected Process Light (PPL), который позволяет загружать только подписанные библиотеки, для отключени�� EDR.
Для защиты от подобных атак системные администраторы должны внимательно отслеживать использование Bindlink механизма, следить за созданием подозрительных служб и применять стратегии многоуровневой защиты системы.
