Отчеты о crimeware

Группа RGB-Team: кто стоит за стилером CMoon и откуда он взялся

Введение

RGB-Team — хактивистская группа, позиционирующая себя как проукраинская и нацеленная на организации в России. Группа была активна вплоть до июля 2024 года и в настоящий момент бездействует. Однако, если не считать публичных высказываний самих злоумышленников, атаки RGB-Team до сих пор были мало описаны.

В отличие от многих хактивистских групп, использующих шифровальщики для нанесения ущерба жертвам, RGB-Team атакует с целью извлечь конфиденциальные данные. Например, в последней известной кампании злоумышленники атаковали газовую компанию, украли данные и опубликовали их в своем Telegram‑канале. Общий список жертв включал муниципальные образования в некоторых регионах, химическую промышленность и государственно‑гражданские службы.

Для проведения атак злоумышленники использовали самописный червь CMoon, который до сих пор никто публично не приписывал какой-либо группе. В этой статье мы проанализируем новые версии червя, докажем его принадлежность RGB-Team, а также разберем его происхождение и связь с еще одной группировкой — вымогателями Eternity.

Краткий обзор последней известной кампании RGB-Team

Цепочка атаки мало чем отличается от стандартного для хактивистов сценария. Изначально злоумышленники скомпрометировали сервис WordPress газодобывающей компании, заразили ее системы червем CMoon, а также получили доступ к панели управления и опубликовали при помощи техники Drive-By Compromise вредоносные образцы по URL-пути wp-content/uploads/exe/. В дальнейшем атакующие отправляли жертвам письма с фишинговыми ссылками, которые вели на размещенное на этом ресурсе вредоносное ПО CMoon, замаскированное под офисные файлы при помощи двойного расширения. Большинство файлов представляли собой самораспаковывающиеся архивы с документом-приманкой и собственно вредоносной нагрузкой. Однако были также исполняемые файлы, которые скачивались без архива, например образец 1_dogovor-o-tehnicheskom-obsluzhivanii-i-remonte-vnutridomovogo-gazovogo.docx.exe. CMoon скомпилирован на .NET версии 4.7.2 и обфусцирован при помощи собственного алгоритма cо вставками лишнего кода и ложными ветвлениями, которые увеличили его размер. При запуске он считывает прописанную в коде конфигурацию, запускает набор модулей и ждет команд от оператора.

Мы описывали эту кампанию CMoon летом 2024 года и на тот момент не нашли связи с какими-либо известными группами злоумышленников. Однако позже RGB-Team взяли на себя ответственность за проведенные атаки и опубликовали украденные данные в своем Telegram‑канале.

Данные жертв в Telegram-канале RGB-Team

Данные жертв в Telegram-канале RGB-Team

Новый образец CMoon

В процессе мониторинга угроз мы обнаружили новый образец CMoon в виде бинарного файла с двойным расширением zayavka-dlya-yur-lits.docx.exe. Этот образец датируется октябрем 2024 года и относится к ранее неизвестной кампании. Как и более старые образцы, он скомпилирован на .NET версии 4.7.2. Распространялся он тоже через фишинговые письма, однако в качестве вложения.

Запустившись, этот вариант проверяет, не заражено ли устройство уже, при помощи мьютекса sexmachine3000: если такой мьютекс создан, значит, CMoon есть в системе. Также в нем присутствует AntiVM-модуль, который детектирует наличие виртуальной среды, песочниц и отладчиков. Этот модуль использует WinAPI-вызовы для сокрытия активности от средств защиты. Для детектирования виртуальной среды он делает запрос к классу WMI Win32_ComputerSystem и ищет в ответе строки VIRTUAL и vmware. Также он проверяет модели подключенных дисков через ключевые слова DADY HARDDISK и QEMU HARDDISK.

Фрагмент AntiVM-модуля

Фрагмент AntiVM-модуля

Помимо описанных выше CMoon использует менее заметные способы проверки среды запуска — загружает набор библиотек, которые часто используются в песочницах: cuckoomon, SxIn и другие, представленные на рисунке ниже.

AntiSandbox-модуль

AntiSandbox-модуль

В дополнение к этому образец запрашивает свойство своего процесса ProcessDebugPort для проверки наличия отладчика. Если вернулось значение 0, он продолжает работу, а если иное, то заканчивает. После успешного прохождения всех проверок CMoon закрепляется через Alternate Data Streams (ADS). Он создает директорию с названием установленного антивируса в качестве имени и размещает в ней одноименный маскировочный файл с расширением .sqlite. Если антивируса на устройстве нет, то именем директории и файла становится строка system. После этого образец копирует себя в альтернативный поток данных маскировочного файла, а затем создает ярлык, запускающий этот поток, и помещает его в папку автозапуска. Фрагмент кода, отвечающий за закрепление, представлен на рисунке ниже.

Закрепление через ADS

Закрепление через ADS

В попытке избежать анализа антивирусом образец подменяет дату и время создания директории и маскировочного файла на заданные в коде: 2013.05.22, 10:32:16. Также в нем используется довольно интересный механизм обфускации. Изначально зловред запускается в необфусцированном виде: переменные и названия функций не переименованы, а значения не зашифрованы. В процессе работы он проверяет свою контрольную сумму по алгоритму MD5 в поисковом движке Google по запросу URL https://www.google.com/search?q= и, если обнаруживает хотя бы одну страницу в поисковой выдаче, то начинает процесс обфускации. Вероятно, злоумышленники считают, что пока файл не описан в публичном поле, детектирование ему не угрожает.

Для обфускации образец копирует данные из ADS в новый поток процесса, шифрует значения и переименовывает функции и переменные. После этого сохраняет новый образец во временной папке и создает новый ADS в том же маскировочном файле.

Скрипт для перезаписи образца

Скрипт для перезаписи образца

Образец пытается избежать поведенческого анализа, запуская в качестве дочернего процесса пустышку с одним из имен утилит, жестко прописанных в коде. Сам исполняемый файл дочернего процесса компилируется на лету и после запуска создает поток с функцией Thread.Sleep(5000).

Создание дочернего процесса

Создание дочернего процесса

После этого CMoon внедряет руткит в процессы с открытыми окнами, создавая для них удаленные потоки. Руткит также содержит функцию Thread.Sleep. Ее множественное использование позволяет выйти за пределы допустимого времени исполнения файла в песочнице, а также помешать корреляции происходящих событий в SIEM-системах.

Инъекция руткита

Инъекция руткита

Все представленные функции управляются жестко прописанным в коде троянца конфигурационным файлом, который создается при сборке образца. Управление CMoon осуществляется через С2-сервер, а данные эксфильтруются через Telegram.

Коммуникации с C2

Как и предыдущие версии, новые образцы CMoon общаются с C2-сервером по протоколу TCP. При этом исходящие пакеты по-прежнему начинаются с автографа зловреда (строки CMOON$), что позволяет использовать одни и те же правила для детектирования всех известных образцов червя.

Связь CMoon и DarkBuilder

К сожалению, нам не удалось найти билдер CMoon, но на одном из хостов, зараженных этим вредоносным ПО, также находился архив ct.rar, содержащий билдер под названием DarkBuilder, в котором используются те же функции, что и в образце CMoon.

Кроме того, на том же хосте мы нашли образец стилера WhiteSnake, в коде которого есть ссылки на C2-сервер, связанный с CMoon. Анализ этого образца показал, что он был собран с помощью ранее найденного DarkBuilder. В частности, в образце и билдере используются одинаковые функции обфускации. Механизм обфускации в DarkBuilder использует «соль», которая отличается от версии к версии. В образцах WhiteSnake и DarkBuilder, найденных на хосте, соль была одинаковой.

Сравнение DarkBuilder и WhiteSnake

Сравнение DarkBuilder и WhiteSnake

Стоит отметить, что к некоторым образцам CMoon злоумышленники применили аналогичный, но более продвинутый алгоритм обфускации.

Обзор ранней версии DarkBuilder

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

В ранней версии билдера часть функциональности реализована иначе, чем в более поздних. Например, в ней проверяется наличие прикрепленных отладчиков с помощью функций WinAPI, тогда как в новых этих функций нет. Однако основные функции и кодовая структура одинаковы во всех версиях.

WinAPI-вызов в одной из ранних версий DarkBuilder

WinAPI-вызов в одной из ранних версий DarkBuilder

Помимо WinAPI-функций, в обнаруженной ранней версии DarkBuilder присутствуют метаданные, ссылающиеся на профиль на GitHub с именем LightM4n (на момент публикации уже удален).

Фрагмент кода DarkBuilder с указанием автора

Фрагмент кода DarkBuilder с указанием автора

Этот профиль связан с вымогательской группой Eternity, которая также использовала DarkBuilder. У нее есть Telegram‑канал, в профиле которого указан контакт разработчика.

Группа Eternity разработала и распространяла по модели MaaS (Malware‑as‑a‑Service) набор вредоносного программного обеспечения: стилер, клиппер, майнер, червь и шифровальщик. К этому ПО прилагался набор инструкций, в том числе — по установке и настройке управляющего сервера. В этой инструкции также упоминается файл DarkBuilder.dll. Ранее мы уже связывали как минимум один из собранных с помощью DarkBuilder образцов с группой Eternity.

C2-сервер стилера WhiteSnake

Изучив обнаруженные образцы DarkBuilder, мы смогли выйти на исходники управляющего сервера WhiteSnake, включающие сам C2‑сервер и веб‑панель для сборки образцов. Аналогичный набор входил и в ранние версии WhiteSnake, находящиеся в открытом доступе, однако в отличие от них обнаруженный исходник содержит множество функций, схожих с теми, что используются в образцах CMoon. Проект имеет несколько способов развертывания, один из которых — .bat‑скрипт.

Развертывание С2-сервиса

Развертывание С2-сервиса

Скрипт добавляет исключения для Windows Defender, включает редактор макросов, загружает необходимые для выполнения проекта зависимости и добавляет корневой сертификат. Злоумышленники поставляют вместе с билдером самоподписанный корневой сертификат, который позволяет не регистрировать у регуляторов SSL-сертификаты сервера, чтобы затруднить обнаружение С2-серверов. Подготовив устройство, скрипт устанавливает C2-сервер и веб-панель, которая содержит функциональность конструктора образцов, что позволяет партнерам MaaS с низкими техническими навыками создавать собственные варианты стилера.

Функциональность конструктора образцов в веб-панели

Функциональность конструктора образцов в веб-панели

При генерации образца можно выбрать удобный для злоумышленника формат C2-коммуникаций. В панели предложено две опции: по протоколу HTTP, обращаясь к адресу сервера вида «http://IP-адрес:порт», либо через Telegram-бота. Помимо этого, партнер MaaS может добавить в конструктор собственный загрузчик, предназначенный для доставки полезной нагрузки в целевую систему. Также можно загрузить файл конфигурации в формате XML, содержащий команды для сбора файлов определенных типов, или ссылку на такую конфигурацию. Наконец, злоумышленник может выбрать, будет его образец закрепляться на устройстве (создатели стилера назвали эту опцию «резидентным режимом») или нет («нерезидентный режим»).

Функциональность конструктора в веб-панели: выбор режима выполнения, типа соединения и т. д.

Функциональность конструктора в веб-панели: выбор режима выполнения, типа соединения и т. д.

Если выбрать опцию с закреплением на устройстве, в конструкторе нужно уточнить тип соединения с узлом С2: через сеть Tor или через сервис обратного проксирования Serveo. Сам C2-сервер реализован в виде приложения, написанного на Flutter. Перед началом общения он аутентифицирует образец по паре асимметричных ключей. Сервер использует несколько конечных точек для разных целей.

Конечные точки Тип запроса Функции
/auth POST Использование открытого и закрытого ключей RSA для проверки подлинности образца
/mnemonic-verify/<machine_id>/<owner_id> GET Проверка наличия образца на узле, чтобы избежать повторного заражения
/f/<template> GET, POST Управление шаблонами для сборки образцов: GET-запрос позволяет получить шаблон, а POST-запрос — создать новый
/sendData POST Получение информации из модуля кражи данных и изменение флага в поле данных ‘WSR$’ или ‘LWSR$’
/sendSpoofing POST Получение данных из модуля клиппера и изменение флага в поле данных ‘WSR$’ или ‘LWSR$’
/api/download/<id> GET Скачивание отчета
/api/remove/<id> POST Удаление отчета

Выводы

Хотя пик активности RGB-Team пришелся на 2024 год, до сих пор деятельность группы практически не была описана. В этой статье мы выявили связь злоумышленников с кампанией стилера CMoon в июле 2024 года, проанализировали ранее не описанную новую версию этого ПО, а также вышли на инструменты, на основе которых он, вероятнее всего, создан.

Как можно видеть из анализа, вместо собственных разработок злоумышленники полагаются на попавшие в открытый доступ инструменты, которые ранее распространяла по модели Malware-as-a-Service киберпреступная группа Eternity.

При этом стоит отметить, что хактивисты RGB-Team модифицируют и переписывают эти инструменты под свои задачи. Новые обнаруженные образцы демонстрируют возможности и уровень знаний злоумышленников в области разработки вредоносного ПО: они используют продвинутые методы обфускации, включая вставку «мусорного» кода и метаморфические преобразования, которые изменяют структуру и логику загрузчика, чтобы обходить сигнатурные методы обнаружения.

Для обхода динамических средств защиты злоумышленники применяют функции задержки (sleep), а для сокрытия сетевой инфраструктуры используют CDN-сети, VPS-серверы и сервисы обратного проксирования.

Группа RGB-Team атаковала российские организации, относящиеся к химической промышленности и государственному сектору. На данный момент мы не наблюдаем никакой новой активности этих злоумышленников, однако нет гарантии, что они не возобновят атаки, как иногда поступают хактивисты.

Детектирование решениями «Лаборатории Касперского»

Одним из способов обнаружения атак RGB-Team является мониторинг сетевого трафика с целью выявления характерных аномалий. Вредоносная активность в нем может быть обнаружена с помощью Kaspersky Anti Targeted Attack (KATA) с модулем NDR.

Ниже показан интерфейс KATA NDR c оповещением об обнаружении C2-коммуникаций CMoon по протоколу TCP. В данном случае сработало правило Worm.CMoon.TCP.C&C, проверяющее наличие уникального значения в начале пакета, явно идентифицирующего это семейство.

Локальную активность CMoon можно детектировать с помощью Kaspersky Endpoint Detection and Response Expert.

Один из ярких артефактов этой активности — закрепление через папку Startup. Злоумышленник может разместить вредоносный файл или ярлык в директориях автозагрузки, чтобы обеспечить автоматический запуск своего кода при каждом входе пользователя в систему. Решение KEDR Expert детектирует эту активность с помощью правила file_creating_with_suspicious_extension_in_startup_folder.

Индикаторы компрометации

Хэши файлов

CMOON
132404F2B1C1F5A4D76BD38D1402BDFA
D1C927C3668C16DB3C8D716F9B935790
B201A94E80F8CC1AD7CC2448AE5B9259
D77A015F022D8A0CBF00204AC3AE496D
46AC6CDA371B83CE910C404A08059B25
CA5B677820C0CD1B65697DF3A6843593
61D8073566892D3E010E3F745B0237DF
DDFA9440FCCCBA572FB800C8D14400D1
F9AF6743D3BD7E084810C70F8D9B10F6
CCFED1DC8D319A0EB55082D91243A332
64942A8EC9B2796C8F9522D6E7F2C248
8DE3B8AC5FA4CC80FBA51AA1DCA9F953

DarkBuilder
150618981088B0B6BEBA03B459B34940
90261F729F296A8A65488286F9C52DF1

WhiteSnake Server
142EE417E051FF1205FB11E4CC94DEA4 — release.zip

Имена файлов CMOON
zayavka-dlya-yur-lits.docx.exe
протокол.exe
пример заполнения протокола.exe
build (2).rar

Имена файлов DarkBuilder
darkbuilder.dll

C2-серверы
93.185.167[.]95
45.59.104[.]152

Группа RGB-Team: кто стоит за стилером CMoon и откуда он взялся

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

Продолжение операции «Форумный тролль»: российских политологов атакуют при помощи отчетов о плагиате

Эксперты GReAT «Лаборатории Касперского» обнаружили новую волну кибератак APT-группы «Форумный тролль», нацеленную на российских ученых-политологов, доставляющую на устройства фреймворк Tuoni.