Арсенал тех, кого не замечают: разбор 33 инструментов реальных APT-атак

Большинство этих инструментов я встречал в одном наборе. Группа атаковала российские аэрокосмические предприятия, оставалась в сети по десять месяцев, похитила тысячи документов. Несколько инструментов из этого списка используют GitHub как канал управления. Другие поставляются подписанными сертификатами антивируса McAfee. Называть это абстрактным списком утилит неточно — перед вами конкретный арсенал, часть которого прямо сейчас может находиться в чьей-то инфраструктуре.

Когда аналитик находит в логах имя fscan.exe или видит процесс svchost с исходящим соединением на нестандартный порт, первый вопрос звучит одинаково: что это? Красная команда делает своё дело или кто-то посторонний уже несколько месяцев читает почту?

Список, который разбирается ниже, не случаен. Примерно две трети инструментов задокументированы как арсенал одной APT-группы и пересекающихся с ней кластеров, активно атаковавших государственные органы, аэрокосмические предприятия и объекты энергетики на протяжении нескольких лет. Аналитики Positive Technologies назвали группу Space Pirates: в PDB-путях скомпилированных образцов встречалась строка P1Rat. Связи этой группы тянутся к APT41 (Winnti), APT27, TA428 и Mustang Panda, однако точная атрибуция затруднена по причинам, о которых речь пойдёт ниже.


Разведка сети: с чего начинается атака

Любое проникновение открывается картографированием. Атакующий должен понять топологию, найти открытые сервисы, версии ПО и потенциальные точки входа.

nmap стал стандартом отрасли для сканирования портов. Поддерживает TCP SYN-сканирование, определение версий сервисов через баннерный анализ, NSE-скрипты для проверки конкретных уязвимостей. В руках атакующего nmap отличается от легитимного использования не функционально, а по контексту: откуда запущен, в какое время, с какой интенсивностью.

fscan создан с иной философией. Там, где nmap просто сканирует, fscan немедленно идёт дальше: обнаружив открытый порт 445, он пробует перечислить SMB-шары, учётные записи, проверяет известные уязвимости Redis, RPC, MSSQL. Обнаружение fscan в корпоративной сети практически всегда означает активную атаку, а не аудит: легитимные администраторы используют специализированные инструменты для каждой задачи по отдельности.

NBTscan сосредоточен на NetBIOS и хорошо показывает себя в старых Windows-сетях, где этот протокол до сих пор активен. Инструмент простой и быстрый, но создаёт характерный шум: массовые UDP-запросы на порт 137.

PortQry version 2.0 GOLD представляет собой легитимный инструмент диагностики от Microsoft. В контексте атак его использование относится к категории living-off-the-land: атакующий не несёт собственного сканера, а пользуется тем, что уже есть в системе. Наличие PortQry не является индикатором компрометации само по себе.

Acunetix в этом списке стоит особняком. Коммерческий сканер веб-уязвимостей с лицензией под шесть знаков иногда встречается в руках атакующих на этапе разведки периметра. Собственный инструментарий разрабатывать не нужно, когда готовое решение даёт исчерпывающую карту веб-сервисов.

SharpHound относится к инструментам разведки иного уровня. Написанный для BloodHound, он собирает данные Active Directory: членство в группах, ACL, сессии, пути для Kerberos-делегирования. Результат передаётся в BloodHound, который рисует граф с короткими путями к Domain Admin. SharpHound создаёт значительный шум в логах LDAP и SMB, однако большинство SIEM-систем без специальной настройки не реагируют на повышенную активность по этим протоколам.


Работа с учётными данными

Получить доступ к одному хосту недостаточно. Двигаться дальше по сети атакующему нужны учётные данные или токены других пользователей.

Mimikatz стал символом целого класса атак. Технически работа через lsass.exe выглядит так: открывается дескриптор процесса с правами SeDebugPrivilege, в памяти ищутся структуры LSA Security Support Provider, из которых извлекаются NT-хэши, Kerberos-тикеты и в некоторых конфигурациях пароли в открытом виде. Microsoft последовательно закрывала возможности Mimikatz начиная с Windows 8.1: Credential Guard, Protected Process Light для lsass, ограничения WDigest. Каждое следующее обновление требует нового обхода. На момент написания защита работает, но требует явной конфигурации.

ProcDump из набора Sysinternals предназначен для создания дампов аварийно завершившихся процессов. Атакующие используют его для создания дампа lsass.exe: procdump -ma lsass.exe lsass.dmp. Дамп затем переносится на другую машину и анализируется офлайн. Поскольку ProcDump подписан Microsoft, антивирус его не останавливает. Детектирование строится на поведенческом анализе: законных причин для дампа lsass.exe в продуктивной инфраструктуре практически нет.

Impacket реализует стек сетевых протоколов Windows на уровне клиентского кода: SMB, DCE/RPC, Kerberos, NTLM, LDAP. Скрипты на основе Impacket не используют Windows API и не оставляют артефактов в реестре. Трафик выглядит как легитимные протокольные обмены. secretsdump.py извлекает хэши учётных записей удалённо через реестр или VSS-снимки. psexec.py выполняет команды через SMB без установки агента. Детектирование Impacket-трафика строится на аномалиях в заголовках протокола: библиотека реализует спецификацию не полностью и иногда создаёт пакеты, несколько отличающиеся от настоящего клиента Windows.

KrbRelayUp атакует конфигурационную ошибку в Active Directory под названием Resource-Based Constrained Delegation. Если у атакующего есть возможность создать машинный аккаунт, он может настроить RBCD так, что контроллер домена выдаст service ticket от имени любого пользователя для целевого сервиса. Уязвимость существует не в коде Windows, а в архитектурных решениях Kerberos при определённых конфигурациях AD. Исправляется запретом на создание машинных аккаунтов обычными пользователями и аудитом атрибута msDS-AllowedToActOnBehalfOfOtherIdentity.

SharpRoast реализует атаку Kerberoasting: запрашивает TGS-тикеты для сервисных аккаунтов с SPN, извлекает зашифрованную часть тикета и отправляет её на офлайн-брутфорс. Стойкость шифрования зависит от длины пароля сервисного аккаунта. Аккаунт с паролем типа «Сервис2019!» раскрывается за минуты.


Веб-шеллы и туннелирование

После получения доступа к веб-серверу атакующий закрепляется и получает инструмент управления, трафик которого неотличим от легитимного веб-запроса.

Godzilla и Behinder считаются двумя наиболее распространёнными современными веб-шеллами в арсенале китайских APT-групп. Оба шифруют коммуникацию, поддерживают несколько языков серверной части (PHP, JSP, ASP.NET) и реализуют так называемые Memory Shell, то есть внедрение в память сервера приложений без записи файла на диск. Behinder умеет внедряться в Filter/Listener/Interceptor Tomcat таким образом, что файловая система не содержит следов. Обнаружение возможно только через анализ памяти JVM или по аномалиям в HTTP-трафике: нехарактерные POST-запросы к ресурсам, обычно получающим только GET, высокая энтропия тела запроса.

reGeorg и Neo-reGeorg превращают скомпрометированный веб-сервер в SOCKS5-прокси. Принцип: клиент отправляет HTTP-запросы с зашифрованными данными, серверный скрипт расшифровывает их, устанавливает TCP-соединение с нужным адресом внутри сети и возвращает ответ в теле HTTP-ответа. Для сетевых экранов весь этот трафик выглядит как обычные запросы к веб-серверу. Neo-reGeorg добавляет шифрование трафика и более надёжную обфускацию по сравнению с оригиналом.

Stowaway решает задачу построения многоуровневых туннелей в сегментированных сетях. Когда прямой выход в интернет с целевого хоста невозможен, агент Stowaway строит цепочку: скомпрометированный хост A достижим снаружи, хост B недоступен напрямую, но доступен с A. Stowaway поднимает туннель A→B и обеспечивает транзит трафика. Поддерживает TCP, HTTP, WebSocket в качестве транспорта.

dog-tunnel реализует аналогичное туннелирование, написан на Go. Инкапсулирует TCP-потоки внутри других протоколов для обхода правил файервола. Положительно упоминается в отчётах о Space Pirates как инструмент поддержки персистентного доступа.


Инструменты удалённого выполнения

PsExec из набора Sysinternals позволяет выполнять процессы на удалённых машинах через SMB. Технически создаёт сервис PSEXESVC на целевой машине, выполняет команду от его имени и удаляет сервис после завершения. Широко применяется системными администраторами, поэтому обнаружение требует контекста: PsExec, запущенный с нестандартного хоста или в нерабочее время, является индикатором.

xCmd работает как функциональный аналог PsExec без установки сервиса. Использует те же механизмы SMB, но оставляет меньше следов. Реже встречается в инструментарии легитимных администраторов, что делает его присутствие более значимым индикатором.


Загрузчики первой стадии

Профессиональные атаки разделяют полезную нагрузку на несколько стадий. Первая стадия минимальна и выполняет одну функцию: загрузить и запустить настоящий имплант.

Downloader.Climax.A распространяется через фишинговые письма. Самостоятельных возможностей почти нет: загружает следующую стадию с C2-сервера, запускает её в памяти. Минимальность снижает вероятность обнаружения статическим анализом.

Downloader.Climax.B использует уязвимость в Microsoft Equation Editor (CVE-2017-11882 и аналогичные), встроенную в RTF-документы. Equation Editor оставался исполняемым компонентом Word несмотря на прекращение разработки в 2000-х годах и не проверял длину входных данных. Microsoft убрала его из Office 2018, однако в инфраструктурах с устаревшим ПО уязвимость остаётся актуальной.

MyKLoadClient устроен сложнее. Загрузчик использует SFX-архив в связке с DLL side-loading через бинарный файл, подписанный сертификатом McAfee. Легитимная подпись позволяет пройти проверки Application Control и большинство EDR-правил, ориентированных на подпись. После загрузки основной нагрузки поддерживает набор команд управления ходом заражения. Задокументирован как специфический инструмент Space Pirates, ранее не описанный в открытых источниках.

Royal Road (также известен как 8.t) представляет собой конструктор RTF-документов, эксплуатирующих уязвимости Equation Editor. Используется не одной группой, а целым кластером китайских APT: Tick, TA428, Mustang Panda, APT40 и другие. Сам факт обнаружения образца, созданного Royal Road, не позволяет атрибутировать атаку конкретной группе: инструмент де-факто стал общим ресурсом. Намеренная стратегия заключается в следующем: общий инструментарий размывает следы.

Zupdax фигурирует в кампаниях нескольких китайских APT-групп как загрузчик с функциями бэкдора. Функционально схож с Downloader.Climax, но имеет отличную кодовую базу и другие C2-механизмы.


Бэкдоры и RAT: от классики до кастомных разработок

Здесь стоит посмотреть на эволюцию инструментария на протяжении полутора десятилетий.

Poison Ivy появился около 2005 года и в своё время был фактически синонимом китайских APT-атак. RAT с графическим интерфейсом управления, поддержкой кейлоггинга, захвата экрана, файлового менеджера. Несмотря на возраст, встречается в активных кампаниях до сих пор: поверхность обнаружения хорошо известна, но там, где антивирусные базы не обновлялись или использовались кастомные варианты, он работает.

PlugX (он же Korplug) остаётся одним из ключевых инструментов китайских APT на протяжении более 15 лет. Модульная архитектура, поддержка множества протоколов C2, DLL-загрузка как основной механизм запуска. Интересная деталь: в 2024 году ФБР получило судебное разрешение и технически удалило PlugX с тысяч заражённых машин в США через команду самоудаления, встроенную в сам имплант. Для этого был перехвачен C2-сервер.

PcShare представляет собой китайский RAT с открытым исходным кодом. Модульная структура предполагает отдельные DLL, отвечающие за сетевое взаимодействие, управление файлами, удалённый рабочий стол. Нередко кастомизируется и переупаковывается группами, что осложняет детектирование по сигнатурам.

ShadowPad (PoisonPlug) считается преемником PlugX и широко атрибутируется китайским государственным хакерам. Впервые стал известен широкой публике в 2017 году после компрометации цепочки поставок NetSarang: троянизированная версия Xmanager и Xshell была подписана легитимным сертификатом компании и загружена с официального сайта. Модульная архитектура ShadowPad позволяет добавлять функциональность без пересборки основного импланта. Плагины загружаются шифрованными и выполняются в памяти.

Deed RAT (он же SNAPPYBEE) выступает следующим уровнем эволюции. Positive Technologies задокументировали его как ранее не описанный инструмент Space Pirates в 2022 году, затем он всплыл в кампаниях Earth Estries (Salt Typhoon) против телеком-операторов. Модульная архитектура с независимыми плагинами: каждый плагин хранится в отдельной области памяти, шифрованные строки находятся в конце собственного региона. C2-коммуникация поддерживает TCP, HTTP, DNS, UDP, PIPE, TLS. Код загрузчика с каждой версией получает дополнительный слой обфускации. Примечательная деталь: исследователи ITOCHU нашли совпадения в структурах заголовков пейлоада между Deed RAT и более ранним BLOODALCHEMY, что указывает на общую кодовую базу или общего разработчика.

BH_A006 представляет собой сильно модифицированную версию Gh0st RAT, уникальную для Space Pirates. Gh0st представляет собой открытый китайский RAT, слитый в паблик ещё в 2008 году. BH_A006 сохранил общую архитектуру, но покрыт несколькими слоями обфускации, умеет обходить UAC и внедрять шелл-код в память легитимных процессов. Тот же загрузчик BH_A006 позднее был обнаружен в операциях с LightSpy, шпионским ПО для Apple-устройств, атрибутированным APT41. Либо за этим стоит общий «цифровой оружейник», поставляющий инструментарий нескольким группам, либо загрузчик коммерчески доступен.

RtlShare построен на кодовой базе PcShare, но реализован через трёхступенчатую цепочку DLL. Первый компонент rtlstat.dll содержит единственную экспортируемую функцию и извлекает второй компонент rtlmake.dll. Тот инжектирует финальный компонент rtlmain.dll в процесс rdpclip.exe. Буфер обмена RDP, присутствующий на всех серверах с включёнными RDS. Выбор rdpclip.exe неслучаен: процесс всегда запущен, его сетевая активность ожидаема в средах с удалённым доступом.

Voidoor выделяется наиболее нестандартным механизмом управления из всего списка. Бэкдор использует репозиторий GitHub и поисковик voidtools.com (разработчик утилиты Everything) как канал C2. Имплант хранит зашифрованный XOR-ключом 0x22 токен доступа к GitHub API, опрашивает заданный репозиторий на предмет новых файлов с командами и возвращает результаты туда же. Для любой системы контроля трафика подобные запросы неотличимы от активности разработчика. При расследовании аналитики PT ESC обнаружили более трёх тысяч событий входа с 73 IP-адресов в аккаунт GitHub, использовавшийся как C2, и смогли атрибутировать его Space Pirates по пересечению с другими индикаторами. Дополнительно нашли профиль разработчика на CSDN (Chinese Software Developer Network) с записями о хранении файлов на GitHub и работе с IDA Pro.

CHAOS представляет собой опенсорсный RAT на Go, изначально созданный как легитимный инструмент удалённого администрирования. Кросс-платформенный по природе Go: один исходный код компилируется под Windows, Linux, macOS. Поддерживает обратный шелл, управление файлами, захват экрана, управление процессами. Был замечен в атаках на Linux-серверы с целью майнинга криптовалюты. Персистентность настраивается через модификацию /etc/crontab с интервалом опроса 10 минут. Важная деталь для атакующих, использующих CHAOS: в его веб-панели управления была найдена RCE-уязвимость (CVE-2024-30850), позволяющая удалённо выполнить код на сервере атакующего. Охотник может сам оказаться под ударом.


ReVBShell: когда открытый код работает в APT-операциях

ReVBShell занимает отдельную нишу: открытая VBScript-оболочка из публичного репозитория. Базовая функциональность: выполнение команд, сбор информации о системе, коммуникация через HTTP GET/POST. Ничего сложного. Однако Tick APT и TAG-74 (китайская группа, связанная с военной разведкой НОАК) сделали ReVBShell частью своих кампаний.

Tick использовал его через троянизированный инсталлятор Q-Dir: легитимное приложение подменялось версией, дополнительно запускавшей ReVBShell. Троянизированные инсталляторы затем распространялись через инструменты технической поддержки helpU и ANYSUPPORT среди клиентов взломанной компании, среди которых оказались государственные и военные организации.

TAG-74 встроил кастомизированный ReVBShell в цепочку с CHM-файлами: DLL side-loading через легитимный исполняемый файл → вредоносная DLL → генерация и запуск VBScript в %TEMP%. Кастомизация касалась в основном тайминга: стандартный интервал опроса C2 менялся с 5 секунд до 5 минут, что резко снижает заметность в NetFlow-данных.


Что значит «общий инструментарий»

Читая всё вышесказанное, можно заметить закономерность: одни и те же инструменты фигурируют у разных групп. PlugX встречается у APT41, APT27, RedFoxtrot. Royal Road строит документы для десяти группировок. BH_A006 появляется у Space Pirates и в операциях APT41.

Закономерность здесь не случайна и не является признаком слабой атрибуционной работы аналитиков. В китайском APT-экосистеме существуют структуры, которых исследователи называют digital quartermaster, то есть цифровые снабженцы. Они разрабатывают или закупают инструментарий и распределяют его между несколькими оперативными командами. Утечка документов подрядчика I-Soon в 2024 году подтвердила: значительная часть китайских APT-операций реализуется через коммерческие структуры типа hack-for-hire, получающие технические задания от государственных органов. Один поставщик обслуживает несколько клиентов, отсюда пересечения в инструментарии.

Для аналитика это означает одно: обнаружение конкретного инструмента атрибутирует атаку к экосистеме, но не к конкретной группе. Для детектирования это скорее упрощение задачи: достаточно создать правила на общий инструментарий и покрыть весь кластер сразу.


Как обнаруживать

Ни один инструмент из этого списка не является единственным и достаточным индикатором. Контекст всегда важнее сигнатуры.

[√] Сканирование: один источник, тысяча запросов к порту 445 за минуту — либо очень нетерпеливый администратор, либо fscan [√] Дамп lsass: любой процесс, открывающий дескриптор lsass с правами PROCESS_VM_READ вне Defender/EDR-агента — немедленное расследование [√] Исходящие соединения веб-процесса: www-data или IIS Worker инициирует TCP-подключение к внешнему IP — высокая вероятность веб-шелла [√] Запросы к GitHub API с серверов без разработчиков: могут указывать на Voidoor или аналогичный C2 [√] rdpclip.exe загружает нестандартные DLL: признак RtlShare [√] Легитимный бинарник антивируса загружает DLL из нестандартного пути — DLL side-loading, характерный для MyKLoadClient и Deed RAT

Детектирование по поведению надёжнее сигнатурного. Имя файла можно сменить за секунду. Поведение изменить значительно сложнее: последовательность API-вызовов, сетевые паттерны, порождение дочерних процессов фиксируются как поведенческие сигнатуры.

Документирование нормального состояния сети критично. Без базовой линии нет понимания, что является аномалией. Особое внимание следует уделить сервисным аккаунтам: если учётная запись mssqlsvc никогда не аутентифицировалась на хостах за пределами кластера баз данных, единственная попытка входа с неё на DC должна останавливать работу дежурной смены.


#информационнаябезопасность #кибербезопасность #инфобез #защитаданных #кибератака #redteam #blueteam #DFIR #хакеры #киберугрозы

Оставьте комментарий