В начале февраля 2026 года специалисты компании Huntress, занимающейся кибербезопасностью, расследовали инцидент, в ходе которого злоумышленники использовали скомпрометированные учетные данные для VPN-шлюза SonicWall SSLVPN с целью получения первоначального доступа к корпоративной сети. Попав внутрь, атакующий развернул специальный инструмент для нейтрализации систем защиты конечных точек. Этот инструмент злоупотреблял легитимным драйвером для программного обеспечения судебной экспертизы EnCase компании Guidance Software. Драйвер, чей сертификат истек еще в 2010 году и был аннулирован, использовался для завершения процессов безопасности из режима ядра. Данная техника известна как BYOVD.
Описание
Атака была прервана до стадии развертывания программ-вымогателей. Однако этот случай подчеркивает растущую тенденцию: киберпреступники все чаще используют подписанные легитимные драйверы, чтобы ослепить системы безопасности. Сертификат драйвера EnCase истек более 15 лет назад и был отозван, но Windows по-прежнему загружает его. Это является пробелом в механизме проверки подписи драйверов, которым атакующие продолжают успешно пользоваться.
Технический анализ атаки
Расследование началось с телеметрии, которую система Huntress Managed SIEM получила от VPN-шлюза SonicWall в сети жертвы. Эти данные оказались критически важными для обнаружения атаки и восстановления ее хронологии. Анализ журналов аутентификации показал, что злоумышленник успешно вошел в SSLVPN в феврале 2026 года с внешнего IP-адреса, связанного с вредоносной деятельностью. Примечательно, что за минуту до этого в журналах был зафиксирован неудачный попытка входа в веб-портал с другого адреса. Учетная запись не имела необходимых привилегий для такого доступа. После этого атакующий успешно аутентифицировался через VPN-клиент уже с иного IP-адреса.
Корреляция данных SIEM с информацией от агентов защиты на конечных точках позволила специалистам Huntress быстро идентифицировать угрозу. Они изолировали затронутые системы и предоставили клиенту конкретные рекомендации по устранению последствий.
Действия злоумышленника внутри сети
После успешного входа злоумышленник начал агрессивную разведку сети. Система предотвращения вторжений SonicWall зафиксировала сканирование сети с помощью ICMP-пакетов, зондирование NetBIOS и активность, нацеленную на протокол SMB. В частности, наблюдалось поведение, напоминающее SYN-флуд, с частотой более 370 пакетов в секунду.
Нейтрализация систем защиты
Основным инструментом атаки стал исполняемый файл, маскирующийся под легитимную утилиту обновления микропрограмм. Его главной задачей было развертывание драйвера режима ядра для принудительного завершения процессов программ безопасности. Для сокрытия вредоносного драйвера злоумышленники использовали нестандартную схему кодирования. Вместо обычного шифрования или хранения в виде сырых байтов, драйвер был преобразован с помощью словарного шифра замены. Каждый байт драйвера был заменен на английское слово из встроенного в бинарник словаря на 256 слов. Таким образом, закодированная полезная нагрузка в разделе данных программы выглядела как набор безобидных английских слов, что эффективно обманывало средства статического анализа.
Процесс декодирования был простым. Программа разбивала строку слов на токены, и для каждого слова выполняла поиск в словаре. Найденный индекс слова превращался в исходный байт. Первые слова полезной нагрузки - «block both choice about» - после декодирования давали сигнатуру «MZ» (0x4D 0x5A), характерную для заголовка исполняемого файла Windows. Декодированный драйвер записывался на диск по пути "C:\ProgramData\OEM\Firmware\OemHwUpd.sys". Затем программа применяла анти-криминалистические меры: устанавливала для файла атрибуты «скрытый» и «системный», а также копировала временные метки с легитимного системного файла "ntdll.dll", чтобы замаскировать драйвер под обычный компонент ОС.
Этот метод кодирования давал атакующим несколько преимуществ. Традиционный поиск по сигнатурам строк не работал, так как в закодированной форме в файле не было подозрительных имен API или путей. Анализ энтропии, предназначенный для обнаружения упакованного или зашифрованного вредоносного ПО, также мог быть неэффективен. Энтропия закодированного текста составляла около 4 бит на байт, что ниже порога в 7-8 бит/байт, который обычно указывает на подозрительное содержимое.
Целевые процессы и обеспечение устойчивости
Программа содержала список из 59 целевых процессов, представляющих продукты всех крупнейших вендоров систем безопасности. Для быстрого сравнения имена процессов хэшировались с помощью алгоритма FNV-1a. Во время выполнения программа непрерывно, с интервалом в одну секунду, перечисляла запущенные процессы, вычисляла хэш их имени и сравнивала со своим списком. При совпадении процесс принудительно завершался. Примечательно, что агент Huntress не входил в целевой список.
Для обеспечения устойчивости бинарник регистрировал декодированный драйвер как службу ядра Windows с названием "OemHwUpd" и описанием «OEM Hardware HAL Service». Это позволяло драйверу загружаться при необходимости и сохраняться после перезагрузки системы.
Проблема с проверкой подписи драйверов в Windows
Начиная с Windows Vista, Microsoft требует, чтобы все драйверы режима ядра были подписаны доверенным центром сертификации. Эта политика, известная как Driver Signature Enforcement (DSE, проверка подписи драйверов), призвана предотвратить загрузку неподписанного кода. Однако в этом процессе существует критический пробел: ядро Windows не проверяет списки отозванных сертификатов. Оно проверяет лишь криптографическую цепочку подписи, но не ее актуальность или статус отзыва. Это сделано по практическим соображениям, так как драйверы загружаются на раннем этапе загрузки ОС, когда сетевая инфраструктура еще недоступна.
Драйвер EnCase ("EnPortv.sys") является идеальной иллюстрацией этой уязвимости. Его сертификат подписи истек в январе 2010 года и был отозван. Тем не менее, Windows продолжает принимать подпись, потому что криптографическая проверка проходит успешно, а сама подпись была снабжена меткой времени, сделанной, когда сертификат еще был действителен. С точки зрения ядра, подпись остается валидной навсегда.
Вместо проверки статуса отзыва сертификатов Microsoft использует другой подход - блокировку по хэшам. Компания ведет список уязвимых драйверов, которые запрещены к загрузке, особенно когда включены такие функции, как Hypervisor-Protected Code Integrity. Этот метод позволяет точечно блокировать конкретные вредоносные драйверы, не затрагивая другое легитимное ПО того же вендора. Однако он является реактивным: драйвер сначала должен быть идентифицирован как уязвимый, затем о нем должны сообщить Microsoft, и только после этого его добавят в список блокировки.
Возможности драйвера и их использование
Драйвер EnCase, предназначенный для целей судебной экспертизы, предоставляет более 18 функций через интерфейс IOCTL. Среди них - завершение процессов, скрытие процессов через прямое манипулирование объектами ядра, удаление файлов, доступ к физической памяти и чтение памяти процессов. В рассматриваемом инциденте злоумышленники использовали лишь одну функцию - "KillProc" (IOCTL 0x223078) - для завершения процессов EDR.
Пользовательский компонент открывал дескриптор устройства драйвера и отправлял идентификаторы целевых процессов. Драйвер, работая в режиме ядра, вызывал функции "ZwOpenProcess" и "ZwTerminateProcess". Поскольку вызов происходил из ядра, Windows пропускала проверки безопасности, которые применялись бы к пользовательскому процессу. Это позволяло обходить даже такие механизмы защиты, как Protected Process Light.
Выводы
Данный инцидент наглядно демонстрирует, что атаки BYOVD стали стандартным компонентом в арсенале современных киберпреступников, особенно в цепочках, ведущих к развертыванию программ-вымогателей. Используя старый, но все еще функциональный легитимный инструмент, подписанный более 15 лет назад, злоумышленники могут обходить проверку подписи драйверов в Windows. Они получают привилегии уровня ядра, позволяющие отключить практически любую систему безопасности на конечной точке. Этот случай подчеркивает необходимость постоянного мониторинга не только за внешним периметром, но и за аномальной активностью внутри сети, а также важность применения принципа наименьших привилегий и сегментации для усложнения жизни атакующим.
Индикаторы компрометации
IPv4
- 193.160.216.221
- 69.10.60.250
SHA256
- 3111f4d7d4fac55103453c4c8adb742def007b96b7c8ed265347df97137fbee0
- 6a6aaeed4a6bbe82a08d197f5d40c2592a461175f181e0440e0ff45d5fb60939