Описание вредоносного ПО

Новый троянец SteelFox крадет конфиденциальные данные и криптовалюту

Введение

В августе 2024 года наша команда обнаружила новый образец crimeware, который мы назвали SteelFox. В этих атаках задействуется сложная цепочка, включающая использование шелл-кода, а также злоупотребление службами и драйверами Windows. Троянец распространяется через форумы, торрент-трекеры и блоги, маскируясь под такие популярные программы, как Foxit PDF Editor и AutoCAD, и с помощью стилера собирает данные о банковских картах жертв, а также информацию о зараженном устройстве.

Краткое содержание отчета:

  • SteelFox распространяется через сообщения на форумах и вредоносные торренты.
  • Связь с командным сервером осуществляется с использованием механизма закрепления сертификатов SSL (SSL pinning) и TLS 1.3, при этом используется домен с динамическим IP-адресом и библиотека Boost.Asio.
  • SteelFox умеет повышать привилегии за счет использования уязвимости в драйвере.

Продукты «Лаборатории Касперского» определяют эту угрозу как HEUR:Trojan.Win64.SteelFox.gen, Trojan.Win64.SteelFox.*.

Техническая информация

Предыстория

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

Хронология заражения

Хронология заражения

Первичное заражение

В результате расследования мы пришли к выводу, что первоначальным вектором атаки SteelFox являются несколько публикаций на форумах и торрент-трекерах. В этих постах дроппер SteelFox описывается как эффективный способ бесплатной активации легитимного программного продукта. Мы обнаружили дроппер, выдающий себя за активатор для Foxit PDF Editor, продуктов JetBrains и AutoCAD. Несмотря на то что эти дропперы действительно выполняют заявленные функции, они также доставляют сложное вредоносное ПО на компьютер пользователя.

Реклама вредоносного дроппера

Реклама вредоносного дроппера

Дроппер SteelFox

В этом исследовании мы рассмотрим образец, маскирующийся под активатор для Foxit PDF Editor. Начальным этапом кампании SteelFox является исполняемый файл AMD64 под названием foxitcrack.exe, содержащий большую секцию .rdata. Значительная энтропия файла указывает на то, что он упакован. При запуске программы появляется графический интерфейс, предлагающий указать путь до установочного каталога Foxit PDF Editor.

Графический интерфейс дроппера

Графический интерфейс дроппера

Поскольку установочный каталог Foxit находится в папке Program Files, FoxitCrack запрашивает права администратора, которые впоследствии будут использованы во вредоносных целях.

Цепочка выполнения выглядит легитимной до момента распаковки файлов. Перед легитимной функцией вставляется вредоносная, которая отвечает за доставку вредоносного кода в систему целевого пользователя:

Вставленный вредоносный код

Вставленный вредоносный код

Сначала второй этап (доставленный вредоносный код) расшифровывается с помощью алгоритма AES-128. Его параметры также зашифрованы — они расшифровываются лишь после доставки первым этапом. Схема шифрования выглядит следующим образом:

Алгоритм AES-128 реализован с использованием векторных инструкций SIMD, поэтому полезная нагрузка должна разбиваться на блоки по 16 байт.

Расшифровка исполняемого файла

Расшифровка исполняемого файла

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

После этого встроенная полезная нагрузка, являющаяся исполняемым файлом PE64, модифицируется во избежание обнаружения. Временные метки компоновки перезаписываются случайной датой в диапазоне между маем и декабрем 2022 года, а также перезаписывается версия компоновщика. Кроме того, в секцию .rdata вставляются случайные мусорные данные, позволяющие избежать обнаружения хэша. Для этого используется встроенный PE-парсер.

Вставка мусора, изменение даты компоновки и версии компоновщика

Вставка мусора, изменение даты компоновки и версии компоновщика

Доставленный PE записывается по одному из трех путей. Точный путь зависит от образца дроппера:

  • C:\Program Files\Foxit Software\Foxit PDF Editor\plugins\FoxitPDFEditorUpdateService.exe
  • C:\Program Files (x86)\Common Files\Adobe\AdobeGCClient\AGSService.exe
  • C:\Program Files\Autodesk\AdODIS\V1\Setup\lpsad.exe

Параметры вредоносной службы инициализируются следующим образом:

Подготовка службы

Подготовка службы

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

Загрузчик SteelFox

Эта служба запускается из svchost.exe как обычная служба Windows. Сначала она определяет полное имя текущего исполняемого файла и сравнивает его с именами бинарных файлов служб, чтобы убедиться, что загрузчик был действительно запущен как служба. Если проверка успешно пройдена, то выводится список всех запущенных служб (с состоянием SERVICE_ACTIVE) с указанием пути к исполняемому файлу и описанием. Это довольно необычный способ проверки на использование отладчика — если бинарный файл не будет запущен как служба, загрузчик выдаст исключение и завершит работу. Этот алгоритм обфусцирован в коде загрузчика, но после деобфускации он выглядит следующим образом:

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

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

Перед тем как выполнить полезную нагрузку, вредоносная программа задействует необычный механизм закрепления в системе — небольшой, но крайне важный шаг. Этот этап запускает службу AppInfo, а затем загружается внутрь нее. В результате пользователь не может выполнить никаких действий над этим загрузчиком, поскольку даже для копирования этого образца требуются привилегии NT\SYSTEM.

Целевая DLL загружается с помощью вредоносного шелл-кода и шифруется с помощью AES-128 тем же способом, что применялся на начальном этапе. Расшифровка более поздних версий также реализована с помощью инструкций AES-NI.

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

Сбор адресов функций WinAPI

Сбор адресов функций WinAPI

Затем полезная нагрузка расшифровывается с помощью довольно простого XOR-алгоритма. После расшифровки выполняется шелл-код с заданными параметрами.

Расшифровка шелл-кода

Расшифровка шелл-кода

Шелл-код представляет собой простейший загрузчик — он использует импортированные функции WinAPI, чтобы выделить память для загрузки последнего этапа и для доступа к функциям библиотеки. Этот шелл-код не реализует никаких механизмов защиты от отладки, являясь просто базовым PE-загрузчиком последнего этапа.

Последний этап SteelFox

Вначале этот этап (DLL) создает мьютекс со случайно сгенерированным именем, поскольку его сетевая работа в значительной степени опирается на многопоточность и асинхронный сетевой ввод-вывод. После этого он выполняет важную задачу — создает службу с запущенным в ней драйвером WinRing0.sys. К этой службе добавляется канал с именем \\\.\WinRing0_1_2_0, позволяющий процессу взаимодействовать с драйвером. Это довольно старый драйвер, содержащий уязвимости CVE-2020-14979 и CVE-2021-41285, позволяющие злоумышленнику повысить привилегии до NT\SYSTEM, как только будет разрешено прямое непроверяемое взаимодействие с драйвером и злоумышленник сможет управлять данными, передаваемыми драйверу. Этот драйвер также является компонентом майнера XMRig. Коммуникация с драйвером происходит в отдельном потоке.

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

Компонент XMRig загружается из одного из репозиториев hxxps://github[.]com/cppdev-123. Судя по всему, он обновляется время от времени — мы предполагаем, что это делается для того, чтобы избежать обнаружения старых версий:

Полезные нагрузки на GitHub

Полезные нагрузки на GitHub

После этого вредоносная программа разрешает IP-адрес в домен ankjdans[.]xyz, который выступает в роли командного сервера. Хотя домен задан в коде, смена IP-адресов помогает злоумышленнику остаться незамеченным. SteelFox осуществляет разрешение с помощью Google Public DNS и DNS over HTTPS (DoH). Это позволяет атакующему скрыть факт разрешения домена.

После успешного разрешения IP-адреса вредоносная программа подключается к своему командному серверу с помощью TLS 1.3. Эта модель ввода-вывода использует такие библиотеки, как Boost.Asio и wolfSSL, что позволяет злоумышленнику реализовать полноценное взаимодействие по TLS 1.3.

В отличие от версии 1.2, TLS 1.3 генерирует секретный ключ сессии на основе предварительно выбранного закрытого ключа на этапе установления соединения. В этом случае общий секретный ключ генерируется с помощью криптографически защищенного генератора случайных чисел Windows. Более того, в SteelFox полностью реализована функция закрепления сертификата SSL, исключающая возможность перехвата данных, передаваемых по SSL. Примечательно, что закрепление сертификата SSL включено только для связи с командным сервером.

Разрешение домена

Разрешение домена

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

  • chrome;
  • opera;
  • opera_gx;
  • brave;
  • firefox;
  • yandex;
  • wave;
  • avg;
  • avast;
  • vivaldi;
  • dragon;
  • chedot;
  • coccoc.

Он извлекает файлы cookie, данные банковских карт, историю поиска и список посещенных мест — последнее извлекается только из браузеров Mozilla Firefox. Для этого используется встроенная копия SQLite3. Поскольку служба запускается под пользователем NT\SYSTEM, для получения контекста безопасности для последующего создания дампа SQL вызывается функция API ImpersonateLoggedOnUser.

Полный список извлеченных данных представлен ниже.

Тип данных Подробности
Данные браузера Файлы cookie, банковские карты, местоположение, история поиска
Программное обеспечение Установленное программное обеспечение, антивирусные решения, запущенные службы, установленные дополнения
Сведения о системе Дата сборки (если возможно), версия, редакция, дата установки
Сведения о сети Беспроводные интерфейсы, сети и пароли (извлекаются в виде простого текста)
SIM Данные SIM-карты (если применимо)
Диски Названия и типы дисков (внешние, съемные и т. д.), свободное пространство на диске
Окружение Дамп переменных окружения
Время Местное время, часовой пояс
Сведения о пользователе Имя пользователя, информация о параметрах запуска, пароль, языковые настройки, информация об учетных записях удаленного рабочего стола (через WinAPI NetUserEnum)
RDP Сессии и информация о сессиях (через WinAPI WTSQuerySessionInformationW)
Рабочий стол Значки установленных и запущенных программ
Процессы Использование памяти и диапазон страниц

Затем данные объединяются в один большой JSON и отправляются на командный сервер. Схема связи выглядит следующим образом:

Схема взаимодействия

Схема взаимодействия

Жертвы

Эта кампания не направлена на отдельных лиц или конкретные организации. Троянец действует с большим размахом, массово заражая всех, кто сталкивается со скомпрометированным ПО, — на момент проведения исследования наши защитные решения обнаружили эту угрозу более 11 000 раз. Целью атаки являются пользователи различных популярных программ, таких как AutoCAD, продукты JetBrains и Foxit. Жертвами этой кампании стали пользователи со всего мира: большинство из них находятся в Бразилии, Китае, России, Мексике, ОАЭ, Египте, Алжире, Вьетнаме, Индии и Шри-Ланке.

TOP 10 стран, атакованных SteelFox, август–сентябрь 2024 года (скачать)

Атрибуция

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

Выводы

SteelFox появился недавно и представляет собой полнофункциональный пакет crimeware. Троянец способен похищать различные пользовательские данные, которые могут заинтересовать организаторов этой кампании. Искусное использование современного языка C++ в сочетании со сторонними библиотеками наделяет эту вредоносную программу очень широкими возможностями. Использование TLS 1.3 и механизма закрепления сертификата SSL обеспечивает безопасную связь и получение конфиденциальных данных.

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

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

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

Хеш-суммы файлов
Полезная нагрузка
fb94950342360aa1656805f6dc23a1a0

Загрузчик

5029b1db994cd17f2669e73ce0a0b71a lpsad.exe
69a74c90d0298d2db34b48fa6c51e77d AGSService.exe
84b29b171541c8251651cabe1364b7b6 FoxitPDFEditorUpdateService.exe
015595d7f868e249bbc1914be26ae81f 0947cca1b5509f1363da20a0a3640700
040dede78bc1999ea62d1d044ea5e763 0ce3775fbfbe8f96e769822538c9804c
051269b1573f72a2355867a65979b485 0f2f104dcc4a6c7e3c258857745d70fb
08fa6ebc263001658473f6a968d8785b 11caf769c0fb642bbb3daa63e516ca54
d5290ba0cd8529032849ae567faba1ce e7c4e02e1da5afb56a2df0996784a9d5
d715507131bbf4ca1fe7bc4a5ddfeb19 e9a14ae0f7eb81346eac9d039138a7d8
dc8c18e4b729fdbf746252b2fc1decc5 f3690f597c725553b8ced0179f4f032e
dc9d42902bda8d63e5858b2a062aecc1 f8f6c7d65b28b978e4f2a40158973a0c

Дроппер

9dff2cdb371334619b15372aa3f6085c jetbrains-activator.exe
c20e1226782abdb120e814ee592bff1a autocad-patch.exe
c6e7c8c76c7fb05776a0b64699cdf6e7 FoxitPatch.exe

Пути к файлам
C:\Program Files (x86)\Foxit Software\Foxit PDF Editor\plugins\FoxitPDFEditorUpdateService.exe
C:\Program Files (x86)\Common Files\Adobe\AdobeGCClient\AGSService.exe
C:\Program Files\Autodesk\AdODIS\V1\Setup\lpsad.exe

Пути к файлам PDB
d:\hotproject\winring0\source\dll\sys\lib\amd64\WinRing0.pdb

Домены и IP-адреса
hxxps://ankjdans[.]xyz
205.185.115[.]5

Вредоносные URL-адреса
hxxps://github[.]com/DavidNguyen67/CrackJetbrains
hxxps://github[.]com/TrungGa123/Active-all-app-Jetbrains/
hxxps://github[.]com/tranquanghuy-09/activate-intellij-idea-ultimate/
hxxps://github[.]com/TaronSargsyan123/ScaraSimulation
hxxps://raw.githubusercontent[.]com/tranquanghuy-09/activate-intellij-idea-ultimate/main/jetbrains-activator.exe
hxxps://raw.githubusercontent[.]com/TaronSargsyan123/ScaraSimulation/main/jetbrains-activator.exe
hxxps://raw.githubusercontent[.]com/TrungGa123/Active-all-app-Jetbrains/main/jetbrains-activator.exe
hxxps://raw.githubusercontent[.]com/DavidNguyen67/CrackJetbrains/main/jetbrains-activator.exe
hxxps://www.cloudstaymoon[.]com/2024/05/06/tools-1
hxxps://squarecircle[.]ru/Intelij/jetbrains-activator.exe
hxxps://drive.google[.]com/file/d/1bhDBVMywFg2551oMmPO3_5VaeYnj7pe5/view?usp=sharing
hxxps://github[.]com/cppdev-123

Команды Windows, используемые злоумышленником

Новый троянец SteelFox крадет конфиденциальные данные и криптовалюту

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

 

Отчеты

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

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

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

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

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

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