Исследователи Rapid7 выявили новую кампанию, связанную с группировкой Dropping Elephant, давно известной в сфере кибершпионажа. Злоумышленники применили троян удалённого доступа, который не сохраняется на диске, а выполняется исключительно в оперативной памяти. Такой подход позволяет обойти традиционные средства защиты, ориентированные на проверку файлов. Целью атаки стали организации, вероятно, связанные с энергетическим сектором Китая: в качестве приманки использовался поддельный документ о завершении контракта, содержащий китайскую тематику. Кампания демонстрирует эволюцию инструментария группировки, которая перешла на более сложные методы сокрытия.
Описание
Атака начинается с фишингового письма, содержащего вложенный файл с расширением .lnk. Жертва получает ярлык, замаскированный под PDF-документ. При его открытии запускается консоль conhost.exe, которая передаёт управление вредоносному сценарию PowerShell. Сценарий использует простую обфускацию строк, чтобы избежать обнаружения сигнатурами. Он обращается к серверу chinagreenenergy[.]org и загружает несколько файлов. Среди них - легитимный двоичный файл Fondue.exe от Microsoft, а также библиотеки APPWIZ.cpl, msvcp140.dll и vcruntime140.dll. Все они сохраняются в каталог C:\Users\Public\. Кроме того, на диск записывается зашифрованный контейнер editor.dat в папку C:\Windows\Tasks\. Затем сценарий создаёт запланированное задание с именем GoogleErrorReport, настроенное на запуск Fondue.exe каждую минуту, и удаляет исходный ярлык. После этого пользователь видит открывшийся PDF-документ-приманку, который отвлекает его от фоновой активности.
Для выполнения следующего этапа злоумышленники используют технику DLL-боковой загрузки (DLL side-loading). Легитимный Fondue.exe ожидает загрузки библиотеки APPWIZ.cpl и ищет её в своём рабочем каталоге. Поскольку APPWIZ.cpl размещена в той же папке C:\Users\Public\, при запуске Fondue.exe она подгружается автоматически. Эта библиотека экспортирует функцию RunFODW, которая становится точкой входа для нагрузки. Загрузчик считывает файл editor.dat, декодирует его из Base64 и расшифровывает с помощью AES-256-CBC, используя встроенные средства Windows CNG. Ключ и вектор инициализации хранятся в коде в виде констант.
Расшифрованные данные представляют собой шелл-код, созданный с помощью инструмента Donut. Donut - это известный фреймворк, который принимает исполняемый файл и упаковывает его в shellcode, способный выполняться в памяти без записи на диск. В данном случае Donut содержит вредоносную программу - 32-битный C++ имплант. Для запуска Donut использует функцию EnumUILanguagesW, передавая адрес shellcode в качестве аргумента обратного вызова. Перед выполнением полезной нагрузки Donut модифицирует внутри процесса механизмы защиты: отключает антивирусный сканер AMSI, проверку целостности кода WLDP и систему телеметрии ETW. Это делает имплант невидимым для средств, которые полагаются на эти технологии.
Финальный RAT запускается полностью в памяти. При старте он вызывает FreeConsole, чтобы скрыть любое окно. Затем динамически загружает необходимые API через LoadLibrary и GetProcAddress. Сетевой трафик шифруется с помощью алгоритма Salsa20: ключ и nonce жёстко заданы в коде. Для связи с управляющим сервером используется HTTPS на порту 443. Адрес сервера - gcl-power[.]org. Перед началом работы RAT проверяет окружение: он обходит список запущенных процессов в поисках средств отладки, песочниц и анализаторов. Также выполняется проверка гипервизора через CPUID и геолокация по публичному IP через сервисы api.ipify.org и ip2c.org. В ходе динамического тестирования имплант не завершался при обнаружении таких инструментов, но включал полный список процессов в регистрационное сообщение, отправляемое на C2. Если проверка окружения не прерывает работу, RAT создаёт мьютекс для предотвращения повторного заражения и начинает опрос команд.
Специалисты Rapid7 смогли восстановить пять команд, поддерживаемых трояном. Команда "fl" рекурсивно выводит содержимое каталогов. "dw" загружает файл, сохраняет на диск и запускает его. "sc" делает снимок экрана с помощью BitBlt и кодирует его через WIC. "cmx" выполняет произвольную команду через cmd.exe с переключением кодировки. "uf" выгружает указанный файл на сервер. Каждая команда отделяется от аргументов специальным маркером. Трафик C2 структурирован: RAT отправляет POST-запросы на разные URI для регистрации, опроса команд и выгрузки скриншотов. Если сервер возвращает сторожевую строку MMMMM==YYYYY, программа ждёт три секунды и повторяет запрос.
Принадлежность к группировке Dropping Elephant была установлена путём сравнения кода с известным образцом, описанным в июле 2025 года компанией Arctic Wolf. Хотя инструмент BinDiff показал лишь 8,6 % сходства из-за применения техники flattening (выравнивания потока управления), анализ с помощью Diaphora выявил четыре совпадающие функции. Они относятся к обработке команд, захвату экрана, структуре запросов WININET и выполнению команд через cmd.exe. Кроме того, метод доставки (LNK-файл, PowerShell, боковая загрузка DLL, сохранение файлов в C:\Users\Public\, задание GoogleErrorReport) повторяет более ранние кампании этой группы. Как показало расследование Rapid7, хотя группировка инвестирует в развитие инструментов, её операционные привычки остаются узнаваемыми.
Усложнение финальной нагрузки, отказ от записи на диск и подавление средств мониторинга внутри процесса требуют от защитников пересмотра подходов. Традиционная проверка файлов на диске не остановит такой RAT. Нужно обеспечить видимость на уровне памяти: отслеживать подозрительные выделения RWX-сегментов, аномальные вызовы API, создание потоков из необычных участков кода. Особая важность заключается в контроле за процессами, загружающими DLL из нестандартных путей. Фондовый процесс Fondue.exe, запускающий APPWIZ.cpl из каталога пользователя, - яркий признак атаки. Поведенческие индикаторы, такие как быстрый запуск PowerShell, создание файлов в C:\Users\Public\ и запланированного задания GoogleErrorReport, остаются наиболее надёжными для раннего выявления, поскольку хэши и домены быстро меняются.
Индикаторы компрометации
Domains
- chinagreenenergy.org
URLs
- https://chinagreenenergy.org/doc/35566/SXxls
- https://chinagreenenergy.org/doc/list/load-list/000bd4a8-814d-414c-8be8-f0c77a9c7e1e
- https://chinagreenenergy.org/doc/list/load-list/8daaa3e4-c85e-40c1-a2a2-94679e94c417
- https://chinagreenenergy.org/doc/list/load-list/dfe87bbc-53e0-489f-a9e6-ab8f4be47cb9
- https://chinagreenenergy.org/doc/list/load-list/e7477b17-45f0-420b-b2b1-811d4c1556ea
- https://chinagreenenergy.org/doc/list/load-list/ecdc6b92-62b5-4acd-99f2-af09902938e1
SHA256
- 09d1e604e8cdd06176fcc3d3698861be20638a4391f9f2d9e23f868c1576ca94
- 56d656d684077e7b3231393f5464447cdc8eea81b6415c5f010bc52f0c8cb317
- 7099c33933716c00c1f4bdb0281c230b981c76b23d7d1c83abc6f58968267d54
- 718812adb0d669eea9606432202371e358c7de6cdeafeddad222c36ae0d3f263
- 914da75a4ad6d70db856a2bc318d8828f28894622f017ee78d470b4794faafa6
- a5e448af73b0ff6b6fcfe6ef7808120e1fd7e5c4c9b4edd68e1c980e5ea3406b
- a8ecbd9c049044ca4990a0e5960d19ce782a3b42d7763e9693d7c91ead24a0b7
- b58351ead08db413ca499cfeb1b1091ed8bfd68f4089605e452fa01ed46f42b1
- ecab0e747bff16a1163bbd9bb494e68dd4d7ca655ac7279bd4dd73221f7df57c