Легитимное программное обеспечение для мониторинга аппаратных компонентов HWMonitor, разработанное компанией CPUID, неожиданно оказалось в центре новой вредоносной кампании. Злоумышленники скомпрометировали процесс распространения утилиты и начали предлагать пользователям троянизированный архив. Инцидент стал возможен из‑за подмены DLL (динамически подключаемой библиотеки) и использования многоступенчатой загрузки вредоносного кода, который работает исключительно в оперативной памяти. Эта атака представляет серьёзную угрозу для корпоративных и частных пользователей, привыкших доверять популярным системным утилитам.
Описание
Всё началось с сообщения на Reddit, привлёкшего внимание специалистов по информационной безопасности. Анализ публикации позволил обнаружить вредоносный ZIP-архив, размещённый на облачном хранилище Cloudflare R2. Архив маскировался под официальный пакет HWMonitor и распространялся по адресу, имитирующему легитимный источник. Внутри архива вместе с оригинальным исполняемым файлом HWMonitor_x64.exe находилась подозрительная библиотека CRYPTBASE.dll. Именно она стала ключевым элементом атаки.
Как выяснили исследователи, злоумышленники воспользовались известной техникой перехвата порядка поиска DLL. Когда HWMonitor_x64.exe запускается, операционная система ищет требующуюся библиотеку сначала в каталоге приложения. Вместо того чтобы загрузить системную CRYPTBASE.dll из папки Windows, программа подхватывает вредоносную копию, расположенную рядом с исполняемым файлом. Таким образом, код злоумышленников выполняется в контексте доверенного процесса. При этом сама вредоносная библиотека затем загружает оригинальную системную DLL, чтобы не нарушить работу приложения и не вызвать подозрений.
Внутри функции DllMain вредоносная библиотека создаёт два параллельных потока. Один поток отвечает за загрузку легитимной библиотеки из системного каталога, второй - за запуск цепочки вредоносных действий. Такой подход позволяет избежать нестабильности, которая может возникнуть при выполнении сложного кода непосредственно в DllMain. После этого начинается многоступенчатая загрузка исполняемого кода исключительно в памяти.
Злоумышленники применили технику рефлексивной загрузки исполняемых файлов (reflective PE loading). Вредоносная DLL извлекает искажённые данные из своего раздела .rdata, выделяет область памяти с правами на чтение, запись и выполнение (RWX) и помещает туда декодированный шелл-код, а также дополнительную полезную нагрузку. Затем управление передаётся шелл-коду, который вручную размещает следующие этапы вредоносного ПО в памяти: выделяет место для секций, динамически разрешает импортируемые функции, применяет перемещения и передаёт управление точке входа. Каждый последующий этап расшифровывает и загружает следующий с помощью симметричного алгоритма, похожего на TEA. В итоге вся цепочка выполняется без записи промежуточных файлов на диск, что существенно снижает количество цифровых следов для криминалистического анализа.
Финальной полезной нагрузкой оказался троян удалённого доступа STX RAT. Этот инструмент предоставляет злоумышленникам широкие возможности для скрытного управления заражённой системой. STX RAT использует хеширование API (техника, при которой имена функций заменяются хешами, что усложняет статический анализ) и обход блока окружения процесса для поиска нужных функций в загруженных модулях. Кроме того, троян проверяет флаг BeingDebugged в блоке окружения процесса, чтобы обнаружить отладку и изменить своё поведение.
Особого внимания заслуживает способность STX RAT выявлять установленные средства защиты. Вредоносная программа содержит список популярных антивирусов и решений класса EDR, включая Avast, Kaspersky, CrowdStrike, SentinelOne, Elastic EDR и другие. Названия продуктов хранятся в слегка зашифрованном виде с помощью простого XOR-преобразования. Получив информацию о защитном ПО, операторы трояна могут адаптировать свои дальнейшие действия, чтобы избежать обнаружения.
Троян также собирает базовые сведения о системе: имя компьютера, имя пользователя и версию операционной системы. Эти данные позволяют злоумышленникам вести учёт заражённых машин и управлять кампанией в целом.
Однако наиболее опасной функцией STX RAT является возможность работы со скрытым рабочим столом и захват экрана. Троян открывает доступ к интерактивной станции окон (WinSta0), запрашивает права на создание окон и взаимодействие с ними. Затем он перебирает окна в порядке перекрытия (Z-order), отбирая видимые окна, которые могут содержать конфиденциальную информацию. С помощью функции BitBlt выполняется захват содержимого экрана без потери качества. Такое поведение характерно для фреймворков, реализующих скрытый виртуальный рабочий стол (HVNC). Полученные скриншоты могут быть использованы для кражи паролей, данных банковских сессий и другой чувствительной информации, отображаемой в браузере.
Связь с командным центром (C2) организована через структурированные JSON-сообщения. В конфигурации присутствуют поля tag (идентификатор кампании), referrer (источник заражения) и callback (адрес для регистрации заражённой машины). Наличие таких меток говорит о том, что операторы, вероятно, распространяют несколько различных троянизированных программ и отслеживают источники каждой инфекции по отдельности. В ходе анализа был обнаружен один из адресов командного сервера.
Данная кампания в очередной раз демонстрирует, что даже широко используемые и проверенные утилиты могут быть превращены в канал доставки вредоносного ПО. Злоумышленники активно злоупотребляют доверием пользователей к легитимному софту и применяют сложные техники, работающие полностью в памяти. Для защиты от подобных угроз корпоративным службам безопасности следует обращать внимание на аномалии в загрузке DLL, подозрительное выделение RWX-памяти и нестандартные сетевые соединения. Однако самое главное - всегда проверять источник загрузки программного обеспечения и по возможности использовать только официальные каналы распространения.
Индикаторы компрометации
URLs
- http://pub-fd67c956bf8548b7b2cc23bb3774ff0c.r2.dev/hwmonitor_1.63.zip
- https://welcome.supp0v3.com/d/callback
SHA256
- 9bf17e6525a295fb6e5eb562deb927ae
- ab122aa36bfebf4f249c4eb617e4a6cb
- adab6c337e403af0040d77a56daf3ba0
- c781b1b559a585bb764b10176d64486c
- d3c186869f443b6c1be127a59b0b5a89
- f19f331562052baea0114d5186bbffd4