Один набор эксплойтов, четыре группировки: как это бывает
Исследователи всё чаще находят одни и те же связки эксплойтов под Chrome и Windows в арсенале сразу нескольких несвязанных групп. Разбираем, откуда берётся общий код и что с этим делать защитникам.

Когда одна и та же цепочка эксплойтов под браузер и ядро операционной системы всплывает в атаках сразу нескольких групп, первая мысль защитника — что это одна команда под разными вывесками. Чаще реальность прозаичнее: набор эксплойтов — это товар. Его пишет один разработчик или компания-брокер, а покупают его те, у кого есть деньги и задача. В результате одна связка из уязвимости рендерера Chrome и повышения привилегий в Windows оказывается в руках четырёх независимых операторов одновременно.
Эта заметка — не о конкретном инциденте с выдуманными деталями, а о механике: почему эксплойты переиспользуются, по каким признакам аналитики понимают, что перед ними один и тот же код, и что это меняет для тех, кто держит оборону.
Что такое набор эксплойтов и почему он общий
Современная атака на рабочую станцию редко обходится одной уязвимостью. Типичная цепочка выглядит так: сначала баг в рендерере браузера даёт выполнение кода в песочнице, затем баг уже в ядре операционной системы или в брокер-процессе вырывает код из песочницы и поднимает привилегии. Каждое звено пишется отдельно и стоит отдельно.
Браузерные эксплойты zero-day1 — дорогой и скоропортящийся актив. Как только уязвимость закрывают патчем, её рыночная ценность падает почти до нуля. Поэтому тот, кто её нашёл, заинтересован продать доступ как можно большему числу платёжеспособных клиентов, пока баг жив. Отсюда и эффект: четыре группы с разными целями — шпионаж, вымогательство, кража криптовалюты, заказная слежка — работают на одном и том же техническом фундаменте.
Совпадение эксплойта в арсенале двух групп говорит не об их родстве, а об общем поставщике. Это разные вопросы, и путать их — значит строить неверную модель угроз.
Как аналитики понимают, что код один
Атрибуция по эксплойту строится на артефактах, которые переживают компиляцию и попадают в образец. Совпадение в одном признаке ничего не доказывает, но набор совпадений — это уже сигнал.
- Одинаковые константы и магические числа — смещения в структурах ядра, адреса-заглушки, специфические значения для триггера бага.
- Стиль heap grooming — то, как эксплойт раскладывает объекты в куче перед переполнением. Почерк разработчика здесь виден так же, как стиль кода.
- Совпадающие строки и отладочные пути — забытые в бинарнике пути сборки, имена проектов, комментарии.
- Общий загрузчик второго этапа — часто у групп разные финальные импланты, но идентичный код, который доставляет эксплойт и разворачивает полезную нагрузку.
Именно расхождение между уровнями и выдаёт картину. Если эксплойт-цепочка у четырёх групп байт в байт совпадает, а импланты и инфраструктура управления у всех свои — это классический признак общего брокера, а не одной операции.
Почему это важнее, чем кажется
Неверная атрибуция стоит денег и времени. Если вы решили, что четыре набора атак — дело одной группы, вы будете искать единый командный центр, единый набор индикаторов и единые мотивы. А на деле у вас четыре противника с разными целями, разными временными окнами и разной настойчивостью. Блокировка инфраструктуры одного не закроет остальных трёх.
Сравнение: своя разработка против покупной связки
| Признак | Своя разработка | Покупная связка у брокера |
|---|---|---|
| Уникальность эксплойта | Высокая, почти не встречается у других | Низкая, всплывает у нескольких групп |
| Связь с конечным имплантом | Тесная, единый стиль кода | Слабая, импланты у всех разные |
| Скорость исчезновения после патча | Группа может поддерживать баг сама | Все клиенты теряют доступ разом |
| Стоимость входа | Требует команды ресёрчеров | Достаточно бюджета на покупку |
Что делать защитнику
Хорошая новость в том, что общий эксплойт — это и общая точка отказа. Закрытая уязвимость выбивает почву сразу из-под всех четырёх групп. Отсюда приоритеты.
- Патчите браузер и ОС без задержек. Chrome и Edge на движке Chromium выкатывают экстренные обновления под активно эксплуатируемые баги — ставьте их в день выхода, а не в плановое окно раз в месяц.
- Включите автообновление везде, где можно. Ручной цикл обновлений — главный разрыв между выходом патча и реальной защитой.
- Ограничьте поверхность браузера. Site isolation, отключение ненужных API, жёсткая политика расширений снижают ценность рендерер-бага.
- Сегментируйте сеть. Повышение привилегий на одной машине не должно открывать путь ко всему домену.
- Охотьтесь по поведению, а не по хешам. Импланты у разных групп разные, а вот аномальное порождение процессов из браузера или неожиданный доступ к памяти другого процесса — общий след.
Точные детали последних цепочек эксплойтов и номера конкретных CVE сверяйте в бюллетенях вендоров и в отчётах команд, публикующих разбор атак. Я сознательно не привожу здесь конкретных идентификаторов уязвимостей: они устаревают за недели, и подставлять правдоподобный, но непроверенный CVE было бы вредно.
1 Zero-day — уязвимость, для которой на момент её эксплуатации ещё нет официального патча. У защитников ноль дней на подготовку, отсюда название.
Prompt-инженер: Идеальные запросы для Midjourney, ChatGPT и других моделей.
Спросить за 15 ₽Источники: Google Chrome Releases (официальный блог обновлений безопасности), Microsoft Security Response Center
Частые вопросы
Значит ли общий эксплойт, что за группами стоит одна страна или организация?
Как набор эксплойтов попадает сразу к нескольким группам?
Достаточно ли антивируса, чтобы защититься от такой цепочки?
Почему эксплойты перестают работать после патча?
Стоит ли отключать Chrome в организации, если вышел активно эксплуатируемый баг?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.