Исследование

Рассылка Horns&Hooves доставляет NetSupport RAT и BurnsRAT

В последние месяцы мы наблюдаем значительный рост рассылок с достаточно однотипными вложениями в письмах, представляющими собой ZIP-архивы со скриптами JScript. Файлы скриптов маскируются под запросы и заявки от потенциальных клиентов или партнеров и называются «Запрос цены и предложения от Индивидуального предпринимателя <ФИО> на август 2024. АРТ-КП0005272381.js», «Запрос предложений и цен от общества с ограниченной ответственностью <предприятие> на сентябрь 2024. отэк-мн0008522309.js» и т. д.

Примеры вредоносных писем

Примеры вредоносных писем

По данным нашей телеметрии, кампания началась ориентировочно в марте 2023 года и затронула больше тысячи частных пользователей, торговых предприятий и предприятий в сфере услуг, расположенных преимущественно в России. Мы назвали эту кампанию Horns&Hooves в честь известной вымышленной организации, главной целью которой было «смешаться с бодрой массой служащих», то есть в нашем случае — с запросами от реальных пользователей и компаний.

Статистика

Количество пользователей, столкнувшихся с вредоносным скриптом, по месяцам, март 2023 — сентябрь 2024 гг. (скачать)

Вредоносные скрипты

За время существования кампании злоумышленники несколько раз значительно изменили вредоносный скрипт, сохранив при этом метод распространения. Практически во всех случаях рассылался JS-скрипт в ZIP-архиве с характерным именем вроде «Заявка на закупку…», «Запрос цен…» и т. д. В более редких случаях скрипты назывались «Акт сверки…», «Заявление на возврат…», «Досудебная претензия…» или просто «Претензия…». В самых ранних версиях, которые мы встречали в апреле и мае, вместо JS-скриптов использовались скрипты с расширением HTA.

Для убедительности вместе со скриптом в архиве также могли находиться различные документы, относящиеся к организации или человеку, за которых себя выдают злоумышленники. Так, например, архив в письме об отмене бронирования содержал PDF-файл с копией паспорта, а в письмах с запросом цен — выписки из ЕГРЮЛ, свидетельства о постановке на налоговый учет и карточки компаний. Далее в статье мы подробнее рассмотрим несколько версий скриптов, используемых в этой кампании.

Типичное содержимое архива

Типичное содержимое архива

Версия A (HTA)

Одни из первых образцов скриптов, которые мы видели в апреле и начале мая 2023 года, имели сравнительно небольшой размер. В качестве примера мы проанализировали образец с хэш-суммой MD5 327a1f32572b4606ae19085769042e51.

Первая версия вредоносного скрипта из вложения

Первая версия вредоносного скрипта из вложения

Во время запуска скрипт скачивает с адреса https://www.linkpicture[.]com/q/1_1657.png документ-приманку в виде картинки в формате PNG, а затем показывает ее пользователю. В данном случае картинка выглядит как скриншот таблицы со списком разных наименований для закупки. Вероятно, он мог быть сделан с одной из ранее зараженных машин.

Документ-приманка в формате PNG

Документ-приманка в формате PNG

Стоит отметить, что документы-приманки в формате PNG — это довольно нестандартный ход. Обычно заявки и запросы, под которые маскируется вредоносное ПО, распространяются в офисных форматах, таких как DOCX, XSLX, PDF и некоторых других. Вероятнее всего, использование такого формата объясняется тем, что в самых первых версиях злоумышленники скрывали полезную нагрузку в конце файла-приманки. Изображения PNG представляют собой удобные контейнеры, поскольку продолжают корректно отображаться даже после добавления полезной нагрузки.

Для скачивания документа-приманки злоумышленники используют утилиту curl, которая предустановлена на устройствах с Windows 10 начиная со сборки 17063 операционной системы. Вместе с документом, используя другую встроенную утилиту Windows — bitsadmin, скрипт скачивает и запускает BAT-файл bat_install.bat для установки основной полезной нагрузки. Тот также использует в своих целях утилиту bitsadmin, которая позволяет управлять задачами на передачу файлов.

Фрагмент BAT-скрипта, устанавливающего полезную нагрузку

Фрагмент BAT-скрипта, устанавливающего полезную нагрузку

С помощью bitsadmin BAT-скрипт скачивает с адреса злоумышленников hxxps://golden-scalen[.]com/files/ и устанавливает следующие файлы:

Название файла Описание
AudioCapture.dll NetSupport Audio Capture
client32.exe Клиент NetSupport с именем CrossTec
client32.ini Конфигурационный файл
HTCTL32.DLL Утилита NetSupport для передачи данных по HTTP
msvcr100.dll Библиотека среды выполнения Microsoft C
nskbfltr.inf Конфигурационный файл Windows Driver Frameworks для установки дополнительных драйверов
NSM.LIC Файл лицензии для NetSupport
nsm_vpro.ini Дополнительные настройки NSM
pcicapi.dll Файл pcicapi из пакета NetSupport Manager
PCICHEK.DLL CrossTec VueAlert PCIChek
PCICL32.DLL Клиент NetSupport в виде DLL
remcmdstub.exe Удаленная командная строка CrossTec
TCCTL32.DLL Утилита NetSupport для передачи данных по TCP

Чтобы загрузить нужный файл, bat_install.bat добавляет в конец URL его название. Скачанные файлы скрипт сохраняет в пользовательскую директорию %APPDATA%\VCRuntineSync.

Полезная нагрузка представляет собой легитимное ПО для удаленного управления ПК NetSupport Manager (NSM). Это ПО часто используется в корпоративной среде для технической поддержки, обучения сотрудников и управления рабочими станциями. Однако из-за его возможностей им регулярно злоупотребляют в своих целях злоумышленники из различных группировок. Наблюдаемые в кибератаках версии и модификации этого ПО, которые обеспечивают скрытый запуск, получили название NetSupport RAT.

Чаще всего NetSupport RAT проникает в систему через мошеннические веб-сайты и поддельные обновления браузеров. В декабре 2023 мы выпустили отчет об одной из таких кампаний, где NetSupport RAT устанавливался под видом обновления для браузера, когда пользователь заходил на скомпрометированный вебсайт.

После загрузки файлов скрипт bat_install.bat запускает файл client32.exe и прописывает его в автозагрузку.

Также BAT-скрипт делает попытки скачать и запустить файл-приманку, на случай если это не удалось HTA-скрипту.

После запуска NetSupport RAT устанавливает соединение с одним из прописанных в конфигурационном файле client32.ini серверов злоумышленников: основным, xoomep1[.]com:1935, или резервным, xoomep2[.]com:1935.

Конфигурационный файл client32.ini

Конфигурационный файл client32.ini

Цепочка заражения

Цепочка заражения

Версия B (JS + NSM)

Несколько позже, в середине мая 2023, появились версии скриптов, мимикрирующие под легитимные JS-файлы.

JS-версия вредоносного скрипта из вложения

JS-версия вредоносного скрипта из вложения

В коде такого скрипта содержится комментарий из общедоступной JavaScript-библиотеки Next.js с информацией о лицензии и авторском праве. Таким образом злоумышленники пытаются создать видимость легитимности кода. Также мы видим, что они добавили вредоносный код в середину файла таким образом, чтобы он не бросался в глаза при беглом осмотре, но при этом был исполнен во время запуска.

Функциональность у JS-версий скрипта практически не изменилась по сравнению с HTA-версиями. Они так же показывают документ-приманку и устанавливают NetSupport RAT. Однако есть и некоторые различия. Так, например, скрипт с хэш-суммой b3bde532cfbb95c567c069ca5f90652c, который мы нашли с именем файла «досудебная претензия от 18.05.2023 №5 от компании ооо <НАЗВАНИЕ_КОМПАНИИ>.js», сначала скачивает промежуточный JS-скрипт с адреса hxxp://188[.]227[.]58[.]243/pretencia/www.php.

Содержимое второго скрипта

Содержимое второго скрипта

Этот второй скрипт загружает еще два файла: документ-приманку zayavka.txt и установщик NetSupport RAT — installer_bat_vbs.bat. Как и PNG-изображения, документы-приманки в формате TXT — нестандартный ход. Кроме того, в файлах этой версии мы видим сгенерированный текст, не имеющий никакого смысла, но написанный несколько раз с использованием различных альтернативных символов, похожих на кириллицу. По всей видимости, это были первые тесты нового формата файлов-приманок.

Документ-приманка с бессмысленным текстом внутри

Документ-приманка с бессмысленным текстом внутри

Загрузив файлы, скрипт www.php открывает текстовый документ и запускает установщик NetSupport RAT, который сохраняет с именем BLD.bat. Скрипт установщика использует для загрузки компонентов NetSupport тот же путь, что и версия A: hxxps://golden-scalen[.]com/files/. Однако в отличие от предыдущей версии этот скрипт скачивает файлы в директорию %APPDATA%\EdgeCriticalUpdateService. Ключ реестра для автозапуска, который использует эта версия, имеет соответствующее название — EdgeCriticalUpdateService. Также в файле BLD.bat нет избыточного кода для повторного скачивания файла-приманки.

Цепочка заражения

Цепочка заражения

Версия С (JS + BurnsRAT)

Еще один интересный образец мы также нашли в середине мая с названием «заявка на закупки №113 от компании <НАЗВАНИЕ_КОМПАНИИ> на май 2023 года.js» и хэш-суммой MD5 5f4284115ab9641f1532bb64b650aad6.

Полностью обфусцированная версия вредоносного скрипта

Полностью обфусцированная версия вредоносного скрипта

Здесь также можно заметить комментарий с информацией о лицензии и авторском праве библиотеки Next.js, но от исходного кода библиотеки здесь уже ничего не осталось. Сам же вредоносный код сильнее обфусцирован, и в нем нельзя невооруженным глазом обнаружить ссылку на промежуточный скрипт hxxp://188[.]227[.]106[.]124/test/js/www.php.

Содержимое второго скрипта

Содержимое второго скрипта

В этой версии промежуточный скрипт загружает еще три файла: документ-приманку zayavka.txt, полезную нагрузку BLD.exe и вспомогательный скрипт 1.js. Документ-приманка в этом экземпляре выглядит более осмысленно, вероятно, это уже программно-распознанный текст со снимка экрана.

Документ-приманка

Документ-приманка

Загрузив файлы, скрипт www.php открывает документ-приманку и запускает файл 1.js, который в свою очередь запускает файл BLD.exe.

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

BLD.exe (MD5: 20014b80a139ed256621b9c0ac4d7076) представляет собой NSIS-установщик, который создает в папке %PROGRAMDATA%\Usoris\LastVersion архив Silverlight.7z и распаковывает из него ряд файлов:

Название файла Описание
libeay32.dll Разделяемая библиотека (shared library) OpenSSL
msimg32.dll Вредоносный загрузчик
settings.dat Конфигурационный файл для RMS
Silverlight.Configuration.exe Легитимная утилита Microsoft Silverlight Configuration Utility
ssleay32.dll Разделяемая библиотека (shared library) OpenSSL
w32.dat Архив с RDP Wrapper x32
w64.dat Архив с RDP Wrapper x64
WUDFHost.exe Remote Manipulator System

Следующим шагом запускается легитимный файл Silverlight.Configuration.exe. В момент запуска он загружает динамические библиотеки (DLL), необходимые для работы программы, по относительному пути. Это позволяет злоумышленникам произвести атаку DLL sideloading: они размещают вредоносную библиотеку msimg32.dll и утилиту в одной директории, в результате чего вместо системной библиотеки загружается и получает управление компонент вредоносной программы. Хотя бэкдор и поддерживает команды для удаленной загрузки и запуска файлов, а также различные методы выполнения команд через командную строку Windows, основной задачей этого компонента является запуск Remote Manipulator System (RMS) как сервиса и отправка идентификатора RMS-сессии на сервер злоумышленников.

Также msimg32.dll отправляет информацию о компьютере на сервер hxxp://193[.]42[.]32[.]138/api/.

Исходящий запрос на сервер

Исходящий запрос на сервер

Отправленные данные шифруются при помощи алгоритма RC4 со значением Host в качестве ключа — в данном случае это IP-адрес сервера 193.42.32[.]138.

Информация о системе, отправляемая библиотекой

Информация о системе, отправляемая библиотекой

Remote Manipulator System (RMS) — это приложение, позволяющее пользователям взаимодействовать с удаленными системами через сеть. Оно обеспечивает возможность управления рабочим столом, выполнения команд, передачи файлов и обмена данными между устройствами, находящимися в разных географических точках. RMS обычно использует технологии шифрования для защиты данных и может работать в разных операционных системах. Сборку RMS, которую распространяли злоумышленники, также называют BurnsRAT.

RMS поддерживает подключение к удаленному компьютеру по протоколу RDP (Remote Desktop Protocol), поэтому помимо самого приложения и файлов, помогающих его запустить, NSIS-установщик сохраняет на устройство архивы w32.dat и w64.dat, в которых содержится набор библиотек, созданных с помощью RDP Wrapper, для активации дополнительных возможностей RDP.

RDP Wrapper — программа, которая позволяет активировать функции удаленного рабочего стола в версиях Windows, где они не поддерживаются по умолчанию, таких как Windows Home, а также позволяет нескольким пользователям одновременно подключаться к одной системе.

По своей сути RMS является близким аналогом NetSupport, но полезная нагрузка в виде RMS не получила дальнейшего распространения.

Цепочка заражения

Цепочка заражения

Версия D (JS + Hosted NSM ZIP)

Еще несколько характерных изменений в скриптах мы заметили в конце мая 2023 года. Рассмотрим их на примере файла с хэш-суммой 63647520b36144e31fb8ad7dd10e3d21 и именем «заявка на закупку от ооо <НАЗВАНИЕ_КОМПАНИИ> №3.js». Сам первоначальный скрипт очень похож на версию B и отличается только ссылкой на второй скрипт — hxxp://45[.]133[.]16[.]135/zayavka/www.php. Но в отличие от версии B здесь полностью переписан BAT-файл для установки NetSupport RAT.

Содержимое BAT-скрипта

Содержимое BAT-скрипта

В этой версии он находится по адресу hxxp://45[.]133[.]16[.]135/zayavka/666.bat, а для установки NetSupport выкачивает промежуточный PowerShell-скрипт hxxp://45[.]133[.]16[.]135/zayavka/1.yay, который в свою очередь скачивает и распаковывает архив с NetSupport RAT с адреса hxxp://golden-scalen[.]com/ngg_cl.zip. Содержимое архива полностью идентично версии NetSupport, устанавливаемой скриптом версии B.

Содержимое PowerShell-скрипта

Содержимое PowerShell-скрипта

Цепочка заражения

Цепочка заражения

Версия E (JS + Embedded NSM ZIP)

Следующие заметные, но не столь принципиальные изменения появились в июне 2023 года. Злоумышленники стали помещать закодированный ZIP-архив c NetSupport RAT внутрь скрипта, вместо того чтобы скачивать его. Как следствие, увеличился размер скрипта. Кроме того, изменился комментарий в заголовке файла, который на этот раз был взят из библиотеки Backbone.js.

Фрагмент скрипта третьей версии

Фрагмент скрипта третьей версии

Помимо этого, ориентировочно с сентября 2023 года файлы NetSupport RAT были разделены на два архива, а с февраля 2024 года вместо текстовых файлов-приманок злоумышленники для большей правдоподобности начали использовать PDF-документы, которые также содержались в коде скрипта.

Документ-приманка версии E

Документ-приманка версии E

Цепочка заражения

Цепочка заражения

Атрибуция

Во всех обнаруженных сборках NetSupport RAT в рамках текущей кампании присутствовал один из трех файлов лицензии со следующими параметрами:

Файл 1 licensee=HANEYMANEY
serial_no=NSM385736
Файл 2 licensee=DCVTTTUUEEW23
serial_no=NSM896597
Файл 3 licensee=DERTERT
serial_no=NSM386098
Файлы лицензий

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

Эти файлы лицензии также использовались в различных кампаниях, не связанных с текущей рассылкой. В частности, они были замечены в рассылках, нацеленных на пользователей из других стран, например из Германии. Кроме того, эти файлы фигурировали в сборках NetSupport RAT, ассоциируемых с группировкой TA569 (также известной как Mustard Tempest или Gold Prelude). При этом стоит отметить, что лицензии, принадлежащие HANEYMANEY и DCVTTTUUEEW23, в рассылке Horns&Hooves использовались сравнительно недолго и через три месяца были полностью вытеснены лицензией, выданной на имя DERTERT.

HANEYMANEY DCVTTTUUEEW23 DERTERT
Дата создания согласно комментарию в файле 2022.07.17 2014.03.29 2017.07.26
Дата из атрибутов файлов в архиве 2022.07.17 2023.03.29 2022.07.26
Замечен в рамках кампании 2023.04.17 2023.05.28 2023.07.09

Тот факт, что рассылка Horns&Hooves использует те же лицензии, что и TA569, навел нас на мысль о возможной связи текущей кампании с этой группой. Однако приписывать вредоносную активность TA569, опираясь на одни лишь файлы лицензий, нельзя, поэтому мы решили поискать другие сходства. Мы сравнили различные конфигурационные файлы, фигурировавшие в рассылке Horns&Hooves, и те, что были использованы TA569, и выяснили, что они практически полностью идентичны. Рассмотрим в качестве примера конфигурационный файл из рассылки (edfb8d26fa34436f2e92d5be1cb5901b) и известный конфигурационный файл группы TA569 (67677c815070ca2e3ebd57a6adb58d2e).

Сравнение конфигурационных файлов Horns&Hooves и TA569

Сравнение конфигурационных файлов Horns&Hooves и TA569

Как мы можем заметить, они совпадают во всем, кроме доменов и портов. При этом стоит обратить особое внимание на поле GSK (Gateway Security Key). То, что значения совпадают, указывает на то, что злоумышленники используют один и тот же ключ безопасности для доступа к клиенту NetSupport. Это, в свою очередь, значит, что операторами командных центров в обоих случаях с большой долей вероятности являются злоумышленники из TA569.

Мы проверили, не встречался ли ключ GSK=GF<MABEF9G?ABBEDHG:H в иных кампаниях, которые нельзя было бы отнести ни к рассылке Horns&Hooves, ни к атакам TA569, и убедились, что таковых нет. Стоит также отметить, что помимо этого ключа мы встречали в кампании Horns&Hooves и другое значение — GSK=FM:N?JDC9A=DAEFG9H<L>M, а в более поздних версиях появился еще один вариант ключа, который был задан параметром SecurityKey2=dgAAAI4dtZzXVyBIGlsJn859nBYA.

Что происходит после установки RMS или NetSupport RAT

Установка BurnsRAT или NetSupport RAT является лишь промежуточным звеном в атаке, предоставляющим злоумышленникам удаленный доступ к компьютеру. В ряде наблюдаемых случаев мы заметили попытки использовать NetSupport RAT для установки таких стилеров, как Rhadamanthys и Meduza. Однако, как правило, TA569 продает доступ к инфицированным компьютерам другим группировкам, например, для установки различных троянцев-вымогателей.

Мы также допускаем, что злоумышленники могут собирать различные документы и электронные адреса для дальнейшего развития кампании, поскольку самые ранние скрипты вместо NetSupport RAT распространяли Rhadamanthys.

Выводы

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

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

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

Хэши вредоносных файлов
Версия A
327a1f32572b4606ae19085769042e51 — HTA
34eb579dc89e1dc0507ad646a8dce8be — bat_install.bat

Версия B
b3bde532cfbb95c567c069ca5f90652c — JS
29362dcdb6c57dde0c112e25c9706dcf — www.php
882f2de65605dd90ee17fb65a01fe2c7 — installet_bat_vbs.bat

Версия C
5f4284115ab9641f1532bb64b650aad6 — JS
0fea857a35b972899e8f1f60ee58e450 — www.php
20014b80a139ed256621b9c0ac4d7076 — BLD.exe
7f0ee078c8902f12d6d9e300dabf6aed — 1.js

Версия D
63647520b36144e31fb8ad7dd10e3d21 — JS
8096e00aa7877b863ef5a437f55c8277 — www.php
12ab1bc0989b32c55743df9b8c46af5a — 666.bat
50dc5faa02227c0aefa8b54c8e5b2b0d — 1.yay
e760a5ce807c756451072376f88760d7 — ngg_cl.zip

Версия E
b03c67239e1e774077995bac331a8950 — 2023.07
ba69cc9f087411995c64ca0d96da7b69 — 2023.09
051552b4da740a3af5bd5643b1dc239a — 2024.02

BurnsRAT C&C
hxxp://193[.]42[.]32[.]138/api/
hxxp://87[.]251[.]67[.]51/api/

Ссылки, версия A
hxxp://31[.]44[.]4[.]40/test/bat_install.bat
hxxps://golden-scalen[.]com/files/*

Ссылки, версия B
hxxp://188[.]227[.]58[.]243/pretencia/www.php
hxxp://188[.]227[.]58[.]243/zayavka/www.php
hxxp://188[.]227[.]58[.]243/pretencia/installet_bat_vbs.bat
hxxps://golden-scalen[.]com/files/*

Ссылки, версия C
hxxp://188[.]227[.]106[.]124/test/js/www.php
hxxp://188[.]227[.]106[.]124/test/js/BLD.exe
hxxp://188[.]227[.]106[.]124/test/js/1.js

Ссылки, версия D
hxxp://45[.]133[.]16[.]135/zayavka/www.php
hxxp://45[.]133[.]16[.]135/zayavka/666.bat
hxxp://45[.]133[.]16[.]135/zayavka/1.yay
hxxp://golden-scalen[.]com/ngg_cl.zip

Client32.ini для Horns&Hooves
edfb8d26fa34436f2e92d5be1cb5901b
3e86f6fc7ed037f3c9560cc59aa7aacc
ae4d6812f5638d95a82b3fa3d4f92861

Известный Client32.ini, принадлежащий TA569
67677c815070ca2e3ebd57a6adb58d2e

Nsm.lic
17a78f50e32679f228c43823faabedfd — DERTERT
b9956282a0fed076ed083892e498ac69 — DCVTTTUUEEW23
1b41e64c60ca9dfadeb063cd822ab089 — HANEYMANEY

Командные центры NetSupport RAT из Horns&Hooves
xoomep1[.]com
xoomep2[.]com
labudanka1[.]com
labudanka2[.]com
gribidi1[.]com
gribidi2[.]com

Известные командные центры, связанные с TA569
shetrn1[.]com
shetrn2[.]com

Рассылка Horns&Hooves доставляет NetSupport RAT и BurnsRAT

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

 

Отчеты

CloudSorcerer: новая APT-угроза, нацеленная на российские государственные организации

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

StripedFly: двуликий и незаметный

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

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике