CIOlogia Безопасность бизнеса · не на словах, а с доказательствами
← Все разборы Информационная безопасность

Как встроенный антивирус Windows отключается одной командой: разбор техники на живом кейсе

Проверка перед переездом в облако вскрыла системную особенность Defender, которая живёт в Windows с седьмой версии до последних сборок 11-й — и позволяет погасить защиту без прав администратора и без единого предупреждения на экране.

Разбор CIOlogia

В коротком посте я рассказал историю про аудит перед переездом производственной компании в облачную 1С — и про находку, которая заставила пересчитать бюджет проекта. Здесь — та же история, но с разбором механики: почему это работает, какими инструментами это проверяется и что именно нужно настроить, чтобы закрыть дыру, а не просто «поставить ещё один антивирус».

Что именно ломается технически

Речь не о баге конкретной сборки и не о дырявом драйвере, который завтра пофиксят патчем. Речь о штатном механизме Windows Security Center (WSC) — служебном API, через который сторонние антивирусы регистрируются в системе и сообщают: «я тут, включена защита в реальном времени, отключи встроенный Defender, чтобы два антивируса не конфликтовали друг с другом». Это логика, придуманная в 2000-х для совместимости с Kaspersky, ESET, Avast и десятками других вендоров — и с тех пор она почти не менялась.

Проблема в том, что WSC API исторически не проверяет, кто именно регистрируется как «антивирус». Любой процесс, способный создать нужный COM-объект или записать провайдера в пространство имён WMI root\SecurityCenter2, может представиться легитимным защитным ПО — и Windows поверит на слово. Defender после этого сам, штатно, отключает real-time protection, потому что считает, что систему защищает кто-то другой. Никакого взлома реестра, никакого патча служб, никакого обхода Tamper Protection — используется официальный, документированный по духу канал.

Как это эксплуатируется

Шаг 1. Первичный доступ и разведка на конечной точке

В реальной атаке до этого шага обычно доходят через фишинг, скомпрометированный RDP или уязвимый сервис на периметре. Проверка внешнего периметра компании чаще всего начинается банально:

nmap -sV -p3389,445,80,443 192.168.1.0/24

PORT     STATE SERVICE     VERSION
445/tcp  open  microsoft-ds Windows Server 2019 microsoft-ds
3389/tcp open  ms-wbt-server Microsoft Terminal Services

Если RDP выставлен наружу без ограничений — дальше в ход идёт перебор:

hydra -L users.txt -P rockyou.txt rdp://192.168.1.50

[3389][rdp] host: 192.168.1.50   login: buh1   password: Qwerty2024

Получив доступ обычного пользователя (не администратора — это принципиально), атакующий проверяет состояние защиты:

Get-MpComputerStatus | Select AMServiceEnabled,RealTimeProtectionEnabled,AntispywareEnabled

AMServiceEnabled          : True
RealTimeProtectionEnabled : True
AntispywareEnabled        : True

Шаг 2. Отключение защиты через WSC