Введение
Недавно в ходе оказания услуг по реагированию на инцидент в Бразилии мы натолкнулись на новое интересное ПО для отключения процессов антивируса (AV Killer), которое используется в реальных атаках как минимум с октября 2024 года. Для этой цели атакующие используют драйвер ThrottleStop.sys, доставляемый вместе с вредоносным ПО в рамках техники BYOVD (Bring Your Own Vulnerable Driver), чтобы отключать процессы антивирусов и ослаблять защиту системы. Использование уязвимых драйверов — хорошо известная техника, которая часто применяется атакующими. В последнее время мы наблюдаем всплеск кибератак с применением этого типа зловредов.
Важно подчеркнуть, что такие решения «Лаборатории Касперского», как Kaspersky Endpoint Security (KES), содержат механизмы самозащиты, которые предотвращают изменение или удаление файлов приложений на жестком диске, процессов в памяти и записей в системном реестре. Они успешно блокируют действия инструментов типа AV Killer, описанного в этой статье.
В проанализированном нами случае клиент сообщил о проблеме после того, как обнаружил, что его системы были зашифрованы одним из вариантов программы-вымогателя. Злоумышленники получили доступ к исходной системе (SMTP-серверу) с помощью действующих учетных данных RDP. После этого они извлекли через Mimikatz учетные данные других пользователей и начали горизонтальное распространение с применением техники Pass-the-Hash и инструментов Invoke-WMIExec.ps1 и Invoke-SMBExec.ps1. Атакующие отключили антивирусные решения на нескольких конечных устройствах и серверах в сети, а затем запустили на них разновидность шифровальщика MedusaLocker.
В этой статье мы подробно рассматриваем инцидент и анализируем поведение AV Killer, а также описываем тактики, техники и процедуры, применяемые злоумышленниками.
Решения «Лаборатории Касперского» детектируют угрозы, обнаруженные в этом инциденте, под следующими именами:
- Trojan-Ransom.Win32.PaidMeme.* (разновидность MedusaLocker)
- Win64.KillAV.* (AV Killer)
Обзор инцидента
В ходе атаки злоумышленники раздобыли действующие административные учетные данные. В начале им удалось подключиться к почтовому серверу через RDP из Бельгии, а затем извлечь с помощью Mimikatz NTLM-хэш другого пользователя. После этого атакующие выполнили следующие команды PowerShell Invoke-TheHash в рамках техники Pass-the-Hash, чтобы создать пользователей в других системах.
|
1 2 3 |
Invoke-WMIExec -Target "<IP>" -Domain "<DOMAIN>" -Username "<USER>" -Hash "<HASH>" -Command "net user User1 Password1! /ad" -verbose Invoke-SMBExec -Target "<IP>" -Domain "<DOMAIN>" -Username "<USER>" -Hash "<HASH>" -Command "net user User2 Password1! /ad" -verbose Invoke-SMBExec -Target "<IP>" -Domain "<DOMAIN>" -Username "<USER>" -Hash "<HASH>" -Command "net localgroup Administrators User1 /ad" -verbose |
Примечательно, что злоумышленники создавали учетные записи пользователей с различными именами для каждой системы. Для этого они добавляли порядковый номер в конец имени каждого нового пользователя (т. е. User1, User2 и так далее до UserN). Однако пароль у всех созданных пользователей был одинаковый.
Злоумышленники загрузили на почтовый сервер в папку C:\Users\Administrator\Music набор вредоносных файлов, в том числе AV Killer. Позднее эти файлывместе с шифровальщиком (haz8.exe) были загружены в другие системы, но уже в папку C:\Users\UserN\Pictures. Сначала Windows Defender удалось заблокировать шифровальщик на некоторых устройствах сразу после его загрузки, но вскоре злоумышленники отключили защитное решение.
На схеме ниже приведен обзор инцидента. Нам удалось собрать улики, чтобы определить порядок действий атакующих и использованные ими артефакты. К счастью, в анализируемых системах сохранилось достаточно полезных данных, что бывает далеко не всегда.
Эта атака подчеркивает важность многоуровневой защиты. Организация пользовалась антивирусным решением, однако злоумышленникам удалось загрузить недетектируемое ПО с помощью действующей учетной записи и таким образом обойти защиту. Такой исход можно было предотвратить, внедрив базовые меры безопасности, включая обязательное применение надежных паролей и, конечно, блокирование доступа к службе RDP с публичных IP-адресов.
Анализ AV Killer
Для отключения защиты системы атакующие задействовали связку файлов: ThrootleBlood.sys и All.exe. Первый из них — легитимный драйвер с исходным названием ThrottleStop.sys, разработанный компанией TechPowerUp и используемый приложением ThrottleStop. Эта программа предназначена для мониторинга и устранения проблем с троттлингом процессора и в основном применяется геймерами. Драйвер, обнаруженный в инциденте, имел действующий сертификат, подписанный 06.10.2020 в 20:34 (UTC), как показано ниже:
|
1 2 3 4 5 6 7 8 |
Статус: файл подписан и подпись верифицирована Серийный номер: 0a fc 69 77 2a e1 ea 9a 28 57 31 b6 aa 45 23 c6 Издатель: DigiCert EV Code Signing CA Субъект: TechPowerUp LLC Серийный номер метки времени: 03 01 9a 02 3a ff 58 b1 6b d6 d5 ea e6 17 f0 66 Издатель метки времени: DigiCert Assured ID CA-1 Субъект метки времени: DigiCert Timestamp Responder Время подписи: 06.10.2020, 20:34:00 (UTC) |
| Хэш | Значение |
| MD5 | 6bc8e3505d9f51368ddf323acb6abc49 |
| SHA-1 | 82ed942a52cdcf120a8919730e00ba37619661a3 |
| SHA-256 | 16f83f056177c4ec24c7e99d01ca9d9d6713bd0497eeedb777a3ffefa99c97f0 |
После загрузки драйвер создает устройство с именем .\\.\\ThrottleStop, которое представляет собой канал для обмена данными между пользовательским пространством и ядром.
Взаимодействие с драйвером осуществляется с помощью вызовов IOCTL, в частности через Win32-функцию DeviceIoControl. Она позволяет запрашивать различные операции драйвера с помощью кодов IOCTL. Драйвер содержит две уязвимые функции IOCTL: одна позволяет считывать данные из памяти, а другая — записывать их. Обе работают с указанием физических адресов. Особенно важно, что эти функции может вызывать любой пользователь с административными привилегиями, что и составляет суть уязвимости.
Физический доступ к памяти реализован в драйвере посредством функции MmMapIoSpace — это API уровня ядра, позволяющее сопоставлять конкретный физический адрес с виртуальным адресным пространством, в частности, в регионе MMIO (Memory-Mapped I/O). Благодаря сопоставлению чтение из виртуальной памяти и запись в нее напрямую воздействуют на соответствующие адреса физической памяти. Уязвимости такого типа широко распространены в драйверах уровня ядра и на протяжении многих лет эксплуатируются не только злоумышленниками, но и игровыми читерами для получения низкоуровневого доступа к памяти. Уязвимость в ThrottleStop.sys получила идентификатор CVE-2025-7771. По имеющейся у нас информации, вендор готовит к выпуску патч. Кроме того, мы рекомендуем настроить защитные решения так, чтобы они отслеживали использование этого уязвимого драйвера в операционной системе — это поможет предотвратить его эксплуатацию вредоносным по типа AV/EDR killer, подобным описанному в этой статье.
Второй файл (All.exe) — сам вредоносный инструмент типа AV Killer. Мы начали свой анализ с базовой проверки файла.
| Хэш | Значение |
| MD5 | a88daa62751c212b7579a57f1f4ae8f8 |
| SHA-1 | c0979ec20b87084317d1bfa50405f7149c3b5c5f |
| SHA-256 | 7a311b584497e8133cd85950fec6132904dd5b02388a9feed3f5e057fb891d09 |
Сначала мы изучили свойства файла. В ходе поиска релевантных строк в бинарном файле наше внимание привлекло упоминание множества названий процессов антивирусных решений. На рисунке ниже приведена выдержка из результатов нашего поискового запроса.
Нам удалось установить принадлежность всех процессов, которые этот зловред пытается завершить. В таблице ниже им сопоставлены соответствующие поставщики. Как мы видим, артефакт пытается завершить процессы основных антивирусных решений, доступных на рынке.
| Имена процессов | Поставщик |
| AvastSvc.exe, AvLaunch.exe, aswToolsSvc.exe, afwServ.exe, wsc_proxy.exe, bccavsvc.exe | Avast |
| AVGSvc.exe, AVGUI.exe, avgsvca.exe, avgToolsSvc.exe | AVG Technologies (Avast) |
| bdlived2.exe, bdredline.exe, bdregsvr2.exe, bdservicehost.exe, bdemsrv.exe, bdlserv.exe, BDLogger.exe, BDAvScanner.exe, BDFileServer.exe, BDFsTray.exe, Arrakis3.exe, BDScheduler.exe, BDStatistics.exe, npemclient3.exe, epconsole.exe, ephost.exe, EPIntegrationService.exe, EPProtectedService.exe, EPSecurityService.exe, EPUpdateService.exe | BitDefender |
| CSFalconContainer.exe, CSFalconService.exe, CSFalconUI.exe | CrowdStrike |
| egui.exe, eguiProxy.exe, ERAAgent.exe, efwd.exe, ekrn.exe | ESET |
| avp.exe, avpsus.exe, avpui.exe, kavfs.exe, kavfswh.exe, kavfswp.exe, klcsldcl.exe, klnagent.exe, klwtblfs.exe, vapm.exe | «Лаборатория Касперского» |
| mfevtps.exe | McAfee (Trellix) |
| MsMpEng.exe, MsMpSvc.exe, MSASCui.exe, MSASCuiL.exe, SecurityHealthService.exe, SecurityHealthSystray.exe | Microsoft |
| QHPISVR.EXE, QUHLPSVC.EXE, SAPISSVC.EXE | Quick Heal Technologies |
| ccSvcHst.exe, ccApp.exe, rtvscan.exe, SepMasterService.exe, sepWscSvc64.exe, smc.exe, SmcGui.exe, snac.exe, SymCorpUI.exe, SymWSC.exe, webextbridge.exe, WscStub.exe | Symantec (Broadcom) |
| PSANHost.exe, pselamsvc.exe, PSUAMain.exe, PSUAService.exe | Panda Security (WatchGuard) |
| SentinelAgent.exe, SentinelAgentWorker.exe, SentinelHelperService.exe, SentinelServiceHost.exe, SentinelStaticEngine.exe, SentinelStaticEngineScanner.exe, SentinelUI.exe | SentinelOne |
| SophosFileScanner.exe, SophosFIMService.exe, SophosFS.exe, SophosHealth.exe, SophosNetFilter.exe, SophosNtpService.exe, hmpalert.exe, McsAgent.exe, McsClient.exe, SEDService.exe | Sophos |
После запуска бинарный файл сначала загружает драйвер ThrottleBlood.sys с помощью API-функций диспетчера служб (SCM), а именно: OpenSCManagerA() и StartServiceW().
Зловред AV Killer использует драйвер ThrottleStop для перехвата функций ядра, позволяющих выполнять из пользовательского режима процедуры, предназначенные исключительно для режима ядра. Чтобы вызывать функции ядра с помощью уязвимых примитивов чтения и записи в драйвере, зловред сначала извлекает базовый адрес загруженного ядра и адреса конкретных целевых функций, подлежащих перезаписи. Для этого его авторы использовали недокументированную Win32-функцию NtQuerySystemInformation.
Если передать функции флаг SystemModuleInformation, она вернет список загруженных модулей и драйверов в текущей системе. Процесс ядра Windows называется ntoskrnl.exe. Его базовый адрес меняется при каждом запуске, поскольку используется KASLR (Kernel Address Space Layout Randomization).
Чтобы выполнять операции ReadWrite с помощью функции MmMapIoSpace, система сначала должна определить физический адрес, используемый ядром. Для этого используется техника SuperFetch, реализованная в проекте с открытым исходным кодом под названием superfetch (доступен на GitHub). Этот проект упрощает преобразование виртуальных адресов в физические с помощью библиотеки C++, представленной в виде набора заголовочных файлов.
Библиотека superfetch на C++ в своей работе полагается на функцию NtQuerySystemInformation, в частности на запрос SystemSuperfetchInformation. Он возвращает все текущие диапазоны памяти и их страницы. Располагая этими сведениями, библиотека superfetch может преобразовать любой виртуальный адрес ядра в соответствующий физический адрес.
Вызов функций ядра
Выяснив физический базовый адрес, зловред должен выбрать функцию ядра, которую можно опосредованно выполнить через системный вызов из пользовательского режима. Злоумышленники выбрали для этой цели редко используемую функцию NtAddAtom, легко вызываемую через ntdll.dll .
Загрузив ntoskrnl.exe с помощью функции LoadLibrary , зловред, помимо прочего, может определить смещение функции NtAddAtom и, соответственно, ее адрес в ядре, суммировав текущее значение базового адреса и смещение. Физический адрес определяется тем же способом, что и базовый адрес ядра. После загрузки драйвера и определения физических адресов зловред может использовать уязвимые коды IOCTL для чтения физической памяти, содержащей функцию NtAddAtom , и записи в нее.
Для вызова функции ядра AV Killer записывает в него небольшой фрагмент шелл-кода, который передает управление на целевой адрес в ядре, соответствующий нужной функции. По завершении работы функции зловред восстанавливает исходный код ядра, чтобы предотвратить сбой системы.
Основная процедура завершения процессов
Собрав всю необходимую информацию, AV Killer переходит в цикл поиска целевых процессов с использованием API-вызовов Process32FirstW() и Process32NextW. Как упоминалось ранее, список целевого защитного ПО, включая, в частности, процесс MsMpEng.exe (Защитник Windows), жестко задан в самом зловреде.
AV Killer сверяет все запущенные процессы с заданным списком и в случае совпадения завершает соответствующий процесс, вызывая через уязвимый драйвер функции ядра PsLookupProcessById и PsTerminateProcess.
В случае успешного завершения процесса зловред выводит подтверждающее сообщение с именем этого процесса на консоль, как показано на рисунке ниже. Мы полагаем, что эти сообщения использовались для отладки зловреда.
Windows Defender, как и большинство антивирусных решений на рынке, пытается перезапустить свою службу для восстановления защиты системы, однако основной цикл зловреда продолжает искать связанные процессы защитного ПО и завершать их.
Правила YARA
На основе анализа образца мы создали следующее правило YARA для обнаружения угрозы в реальном времени. В этом правиле учитываются тип файла, релевантные строки и импортируемые функции библиотек.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import "pe" rule AVKiller_MmMapIoSpace { meta: description = "Rule to detect the AV Killer" author = "Kaspersky" copyright = "Kaspersky" version = "1.0" last_modified = "2025-05-14" hash = "a88daa62751c212b7579a57f1f4ae8f8" strings: $shellcode_template = {4? BA 00 00 40 75 00 65 48 8B} $ntoskrnl = "ntoskrnl.exe" $NtAddAtom = "NtAddAtom" $ioctl_mem_write = {9C 64 00 80} $ioctl_mem_read = {98 64 00 80} condition: pe.is_pe and pe.imports("kernel32.dll", "DeviceIoControl") and all of them } |
Жертвы
По данным нашей телеметрии и информации из открытых потоков Threat Intelligence, злоумышленники используют AV Killer как минимум с октября 2024 года. Большинство пострадавших находятся в России, Беларуси, Казахстане, Украине и Бразилии.
Атрибуция
Рассмотренный инструмент типа AV Killer недавно был замечен в атаке на бразильскую компанию, целью которой было запустить в корпоративной инфраструктуре шифровальщик MedusaLocker. Тем не менее этот вид вредоносного ПО популярен среди самых разных злоумышленников, включая операторов шифровальщиков и аффилированных с ними лиц.
Выводы и рекомендации
Из этого инцидента можно извлечь несколько важных уроков. Во-первых, необходимо внедрять практики усиления безопасности, чтобы защитить серверы от атак методом подбора пароля и ограничить доступ к инфраструктуре извне через протоколы удаленного доступа. Если бы атакованная компания ограничила доступа через RDP и применяла надежные парольные политики и многофакторную аутентификацию, первоначального проникновения злоумышленников можно было избежать. Что особенно важно, этот инцидент подчеркивает необходимость многоуровневой безопасности. Атакующим удалось отключить системную защиту с помощью AV Killer, что дало им возможность свободного горизонтального перемещения внутри сети. Чтобы снизить риск подобных угроз, системным администраторам следует внедрить:
- Список разрешенных приложений и строгое следование принципу минимально требуемых привилегий.
- Сегментация и изоляция сети для сдерживания взломов и ограничения горизонтального перемещения.
- Многофакторная аутентификация (MFA) во всех каналах удаленного доступа.
- Регулярное управление установкой исправлений и автоматизированный поиск уязвимостей.
- Системы обнаружения и предотвращения вторжений (IDS/IPS) для выявления аномального поведения.
- Инструменты для обнаружения и реагирования на рабочих местах (EDR) для мониторинга систем в режиме реального времени и устранения последствий.
- Комплексный подход к ведению логов, мониторингу и системе оповещений для оперативного обнаружения инцидентов.
- Периодическое проведение оценок безопасности и тестирования на проникновение для оценки эффективности мер контроля.
В последнее время мы наблюдаем рост количества атак с применением различных инструментов типа AV Killer. Поставщикам защитных решений следует внедрить механизмы самозащиты, предотвращающие угрозы подобного типа. Сюда относятся: защита файлов приложений от несанкционированных изменений, мониторинг памяти процессов и регулярное обновление правил детектирования на пользовательских устройствах.
Тактики, техники и процедуры
Ниже приведены тактики, техники и процедуры, основанные на нашем анализе AV Killer.
| Тактика | Метод | ID |
| Discovery | Process Discovery | T1057 |
| Defense Evasion | Impair Defenses: Disable or Modify Tools | T1562.001 |
| Defense Evasion | Impair Defenses: Indicator Blocking | T1562.006 |
| Privilege Escalation | Create or Modify System Process: Windows Service | T1543.003 |
| Impact | Service Stop | T1489 |
Индикаторы компрометации
Уязвимый драйвер ThrottleBlood.sys
82ed942a52cdcf120a8919730e00ba37619661a3
Зловред из рассматриваемого инцидента
f02daf614109f39babdcb6f8841dd6981e929d70 (haz8.exe)
c0979ec20b87084317d1bfa50405f7149c3b5c5f (All.exe)
Другие разновидности AV Killer
eff7919d5de737d9a64f7528e86e3666051a49aa
0a15be464a603b1eebc61744dc60510ce169e135
d5a050c73346f01fc9ad767d345ed36c221baac2
987834891cea821bcd3ce1f6d3e549282d38b8d3
86a2a93a31e0151888c52dbbc8e33a7a3f4357db
dcaed7526cda644a23da542d01017d48d97c9533















Разрушительный драйвер: как злоумышленники отключают антивирусы с помощью легитимного драйвера