Серверная стойка с узлами Kaseya VSA ночью: один модуль светится красными индикаторами на фоне зелёных соседей. На его экране — код атаки цепочки поставок.


2 июля 2021 года, пятница перед Днём независимости США. 14:00 EDT. Серверы Kaseya VSA - RMM-платформы, через которую десятки тысяч MSP-провайдеров рулили клиентской инфраструктурой, - начали раздавать агентам на эндпоинтах "обновление". Внутри файла сидел REvil (Sodinokibi). За три часа шифровальщик накрыл от 800 до 1500 организаций через ~50 скомпрометированных MSP - цифры самой Kaseya. ESET фиксировала срабатывания Win32/Filecoder.Sodinokibi.N одновременно в Великобритании, ЮАР, Канаде, Германии, США и Колумбии. Один RMM-сервер - одна точка входа в сотни изолированных клиентских сетей. Ни один из пострадавших MSP не увидел алерта: агент делал ровно то, для чего спроектирован - выполнял команду с управляющего сервера.

Бизнес-логика атаки: почему RMM - идеальный усилитель масштаба​

MSP-провайдер по определению имеет привилегированный доступ к инфраструктуре десятков, иногда сотен клиентов. RMM-агент - будь то Kaseya VSA, ConnectWise Automate или Datto RMM - работает с правами SYSTEM и умеет выполнять произвольные команды, разворачивать ПО, менять конфигурацию. Для атакующего это мультипликатор: одна компрометация управляющего сервера даёт lateral movement во все клиентские тенанты одновременно, минуя межсетевые экраны, VPN и сегментацию.

По данным Verizon DBIR 2025, рост ransomware-инцидентов в сегменте SMB - 18% год к году, медианный размер выкупа дошёл до $46 000. SMB - основная клиентская база MSP. CrowdStrike Global Threat Report 2025 говорит, что 86% атак финансово мотивированы (eCrime). Атака на цепочку поставок MSP - способ накрыть одним ударом десятки SMB-организаций без собственного SOC.

И вот в чём штука: RMM-агент - доверенный компонент. EDR видит его как легитимное ПО. Сетевые правила разрешают коммуникации с управляющим сервером. В SIEM его активность - baseline. Когда агент начинает раскладывать ransomware, он делает это от имени доверенного процесса, и стандартные правила корреляции молчат. По сути, скомпрометированный RMM - это инсайдерская угроза, реализованная через легитимный инструмент.

Kill chain Kaseya VSA: от SQL-инъекции до шифрования​

Initial Access: эксплуатация веб-интерфейса VSA​

Атакующие использовали цепочку уязвимостей в веб-интерфейсе on-premise серверов Kaseya VSA. Главная - CVE-2021-30116: раскрытие учётных данных агента (Agent_Guid, AgentPassword) и sessionId, CWE-522, CVSS 10.0. Включена в каталог CISA KEV с 3 ноября 2021 года, обязательный срок устранения для федеральных агентств - 17 ноября 2021. Рядом - CVE-2021-30120 (2FA bypass через client-side enforcement, CWE-669, CVSS 9.9) и связанные.

Цепочка работала так: получить учётные данные агента и sessionId через CVE-2021-30116, загрузить произвольный файл на сервер через CVE-2021-30118, выполнить код с привилегиями веб-сервера. CVE-2021-30120 (2FA bypass) входил в набор уязвимостей DIVD, но не был критическим звеном in-the-wild эксплуатации REvil.

В терминах MITRE ATT&CK - Exploit Public-Facing Application (T1190, Initial Access). Одновременно атака ложится на Compromise Software Supply Chain (T1195.002, Initial Access): компрометация управляющего сервера позволила задействовать доверенный канал обновления для доставки малвари конечным клиентам MSP. T1195.002 описывает компрометацию механизма дистрибуции ПО. В MITRE ATT&CK техника не ограничена конкретной платформой, но тесты Atomic Red Team сейчас реализованы только для GNU/Linux и контейнеров - готовых атомарных тестов для Windows нет. Kill chain из этой статьи (certutil, vssadmin, MsMpEng side-loading) - строго Windows-specific и воспроизводит реальные процедуры REvil, а не Atomic Red Team.

Официальная классификация CVE-2021-30116 в NVD - CWE-522 (Insufficiently Protected Credentials). Концептуально цепочка атаки также ложится на модель CWE-669 (Incorrect Resource Transfer Between Spheres): доверенный канал обновления RMM-агента (management sphere) использовали для передачи вредоносного payload на клиентские эндпоинты (client sphere) без верификации на стороне получателя. CWE-669, кстати, официально присвоен другой уязвимости из цепочки - CVE-2021-30120 (2FA bypass через client-side enforcement).

Голландский институт раскрытия уязвимостей (DIVD) к апрелю 2021 года нашёл семь уязвимостей в Kaseya VSA и запустил процесс ответственного раскрытия. На момент атаки Kaseya пилила патчи, но не успела выкатить. CISA и FBI выпустили совместную рекомендацию 4 июля 2021 года - немедленно отключить on-premise VSA-серверы.

Доставка через доверенный канал RMM-агента​

Получив контроль над VSA-сервером, атакующие воспользовались штатной функциональностью - механизмом развёртывания ПО. Это Software Deployment Tools (T1072, Execution / Lateral Movement): VSA-агент AgentMon.exe на каждом управляемом эндпоинте получил команду на выполнение "обновления" с дроппером REvil. T1072 в MITRE ATT&CK концептуально платформенно-агностична, хотя тесты Atomic Red Team реализованы только для Windows. Конкретные процедуры в этой атаке (certutil -decode, PowerShell, DLL side-loading) тоже строго Windows-specific.

Для эндпоинта всё выглядело как рутинная задача. Агент скачал файл с VSA-сервера, использовал certutil -decode для распаковки и запустил полезную нагрузку. На этапе выполнения - PowerShell (T1059.001, Execution), техника Windows-specific. Доступ к функциям VSA-сервера шёл через скомпрометированные учётные записи администратора - Valid Accounts (T1078, Defense Evasion / Persistence / Privilege Escalation / Initial Access).

Подавление защиты и шифрование​

Перед запуском шифровальщика дроппер делал три вещи:
  1. Disable or Modify Tools (T1685, Defense Evasion): отключение Windows Defender. REvil применял DLL side-loading - легитимный MsMpEng.exe (компонент Defender) клался в нестандартную директорию рядом с вредоносной DLL. Процесс запускался от имени доверенного бинаря Microsoft, подтягивая малварную библиотеку. Красиво, если не ты жертва.
  2. Inhibit System Recovery (T1490, Impact): удаление теневых копий через vssadmin delete shadows /all /quiet, отключение служб восстановления. Без внешних бэкапов - откатиться некуда.
  3. Data Encrypted for Impact (T1486, Impact): шифрование файлов. По данным ESET, после завершения обои рабочего стола менялись на картинку с требованием выкупа, в каждой директории - записка с рандомизированным именем файла.
Весь цикл - от получения "обновления" агентом до полного шифрования - занимал минуты. К моменту, когда Kaseya рекомендовала отключить серверы, основной ущерб уже был нанесён.

Что искать в SIEM: detection для компрометации RMM​

1781575569426.webp

Требования к окружению для реализации detection: SIEM с приёмом Windows Event Log (Sysmon обязателен: EventID 1 - Process Create, EventID 11 - File Create, EventID 3 - Network Connection). EDR-телеметрия процессных деревьев. Сетевой мониторинг: Zeek, Suricata или NetFlow для анализа трафика между VSA-сервером и агентами. Минимальная конфигурация: Sysmon на всех хостах с RMM-агентом, forwarding в SIEM.

Поведенческие индикаторы на эндпоинтах​

Принцип простой: не ищите конкретные хеши - они меняются между кампаниями. Ищите аномальное поведение доверенных процессов.

Certutil как средство декодирования в контексте RMM. RMM-агент штатно не вызывает certutil -decode. Появление цепочки "процесс RMM-агента -> cmd.exe -> certutil.exe с ключом -decode" - повод бросать всё и разбираться:
YAML:
# Sigma-правило: certutil decode из-под RMM-агента
title: Certutil Decode Invoked by RMM Agent
logsource:
  product: windows
  service: sysmon
  category: process_creation
detection:
  selection:
    ParentImage|endswith:
      - '\AgentMon.exe'
      - '\KaseyaAgent.exe'
    Image|endswith: '\certutil.exe'
    CommandLine|contains: '-decode'
  condition: selection
level: critical
Правило адаптируется под конкретный RMM-продукт: для ConnectWise Automate - ScreenConnect.ClientService.exe и AutomateAgent.exe; для Datto RMM - AEMAgent.exe. Подставьте в ParentImage процессы вашего стека.

MsMpEng.exe вне стандартного пути. Запуск MsMpEng.exe из любой директории, кроме C:\ProgramData\Microsoft\Windows Defender\ или C:\Program Files\Windows Defender\, - индикатор DLL side-loading. Не специфика Kaseya - эту технику используют многие группировки.

Массовое удаление теневых копий. Вызов vssadmin delete shadows или wmic shadowcopy delete из процессного дерева RMM-агента. В штатной работе MSP-агент не трогает VSS. Если такое прилетело - это критический алерт, без вариантов.

Аномальный объём файловых операций. Резкий рост Sysmon EventID 11 (File Create) с нехарактерными расширениями в сочетании с процессом, порождённым RMM-агентом.

Сетевые аномалии​

Изменение паттерна heartbeat. RMM-агент поддерживает периодическое соединение с управляющим сервером. Если вместо штатного heartbeat каждые 30-60 секунд пошёл burst-трафик с загрузкой нехарактерно больших файлов - что-то не так. В Zeek отслеживается через conn.log: соединения с VSA-сервером, где orig_bytes значительно превышает установленный baseline.

Исходящие соединения на нехарактерные хосты. После компрометации REvil устанавливал коммуникацию с C2-инфраструктурой. Эндпоинт с RMM-агентом, инициирующий соединения на IP-адреса вне whitelist RMM-вендора, - индикатор компрометации.

Корреляционное правило: цепочка компрометации через RMM​

Связка из трёх событий в окне 5 минут на одном хосте:
  1. RMM-агент порождает cmd.exe или powershell.exe с аргументами, содержащими -decode, -enc или Base64-строку
  2. Создание исполняемого файла (PE/DLL) в %TEMP% или %ProgramData% процессом из п.1
  3. Запуск нового процесса из только что созданного файла
Каждое из этих событий по отдельности может быть легитимным - MSP иногда раскладывают софт через скрипты. В совокупности - почти наверняка компрометация через RMM-канал.

Hardening RMM-инфраструктуры: чеклист для MSP​

Чеклист расставлен по приоритету. Можно передать сисадмину или включить в IR-отчёт как есть.
  1. Сетевая изоляция RMM-сервера. Управляющий сервер не должен торчать в интернет напрямую. Публикация через reverse proxy с WAF и IP-фильтрацией. Входящие - только от известных диапазонов IP агентов (NIST CSF PR.AA-01).
  2. MFA на все точки входа. Многофакторная аутентификация на веб-интерфейс и API-эндпоинты RMM. В Kaseya 2021 SQL-инъекция обходила аутентификацию приложения, но MFA на уровне reverse proxy (Duo, Azure Conditional Access) создаёт дополнительный барьер.
  3. Сегментация клиентских тенантов. Каждый клиент MSP - отдельный VLAN/VRF. Агент одного клиента не должен иметь сетевой доступ к инфраструктуре другого. Ограничивает blast radius.
  4. Ограничение возможностей агента. Политики агента: запрет выполнения произвольных скриптов без approval workflow. В Kaseya VSA, ConnectWise Automate и Datto RMM такие настройки есть. По умолчанию они выключены. Включите.
  5. Baseline активности RMM-сервера (NIST CSF DE.AE-01). Установить и мониторить: объём развёртываний в сутки, время выполнения задач (maintenance window), типы файлов, разворачиваемых через агент. Отклонение от baseline - алерт в SOC.
  6. Инвентаризация агентов (NIST CSF ID.AM-01). Реестр: на каких хостах установлен агент, версия, дата последнего обновления. Появление агента на хосте, где его быть не должно, - инцидент.
  7. Изоляция бэкапов от RMM. Бэкап-инфраструктура не должна быть доступна через RMM-агент. Ransomware через RMM получает права SYSTEM и способен удалить или зашифровать локальные бэкапы. Offsite/offline бэкапы - обязательны.
  8. Патч-менеджмент самой RMM-платформы. Критические обновления RMM-сервера - не позже 48 часов после выхода. DIVD нашёл семь уязвимостей к апрелю 2021. Атака произошла в июле. Три месяца - достаточно, чтобы закрыть дыры. Не закрыли.
  9. Tabletop exercise: сценарий "скомпрометированный RMM" (NIST CSF RS.AN-01). Раз в год: управляющий сервер скомпрометирован, агенты выполняют вредоносные команды. Кто принимает решение об отключении? Как связаться с клиентами без RMM-канала? Сколько времени на изоляцию?
  10. Коммуникационный план (NIST CSF RC.CO-01). Шаблоны уведомлений для клиентов, регуляторов и медиа. В Kaseya промедление с коммуникацией усилило панику.

Паттерн продолжается: DragonForce и атаки через MSP в 2025​

1781575719025.webp

📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме


Заключение​

За пять лет после Kaseya VSA архитектура MSP-инфраструктуры изменилась мало. Из опыта работы с ConnectWise Automate и Datto RMM - в наблюдаемых production-инсталляциях дефолтные политики агентов разрешали выполнение произвольных скриптов без approval. VSA-серверы торчали в интернет без WAF, MFA на API-эндпоинтах отсутствовала. Клиенты MSP не имеют видимости в то, что RMM-агент делает на их хостах: у них нет телеметрии, нет алертов, нет понимания, что агент с правами SYSTEM способен сделать что угодно.

Проблема не в конкретном CVE. Проблема в модели доверия. MSP-клиент вынужден доверять провайдеру безоговорочно, потому что RMM-агент архитектурно не предполагает верификации со стороны клиентского эндпоинта. Команда пришла с VSA-сервера - команда выполняется. Ни один из массовых RMM-продуктов - ни Kaseya VSA, ни ConnectWise, ни Datto - не внедрил на уровне агента механизм, при котором клиент мог бы задать policy-ограничения на типы операций от MSP. Это модель "доверяй без возможности проверить", заложенная на уровне архитектуры. И пока она не изменится, каждый следующий DragonForce будет эксплуатировать тот же вектор с тем же результатом. Если ваш SOC мониторит инфраструктуру с RMM-агентами и вы строите detection под supply chain сценарии - на codeby.net есть тред по IR-playbook'ам для MSP-инцидентов, где коллеги разбирают корреляционные правила под разные SIEM-стеки.
 
Последнее редактирование модератором:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab