Исследователи из Howler Cell Threat Research Team зафиксировали активную кампанию по распространению вредоносного ПО, нацеленную на индийских пользователей. Атака начинается с поддельных сайтов, копирующих официальный портал Департамента подоходного налога Индии. Жертвам демонстрируется срочное уведомление о нарушении налогового законодательства с требованием предоставить документы в течение 72 часов, что создаёт эффект срочности. При нажатии кнопки "Скачать документы" пользователь перенаправляется на фальшивую страницу проверки безопасности, оформленную в стиле Microsoft Edge Secure Gateway, где после демонстрации вымышленных проверок инициируется загрузка ZIP-архива с названием Common_Offline_Utility_ITR-1_to_4_AY2026-27.zip.
Описание
Внутри архива находятся два файла: легитимный исполняемый файл COU_ITR-1_to_4_AY2026-27.exe, имеющий цифровую подпись, и вредоносная библиотека nvdaHelperRemote.dll. При запуске подписанная программа, используя механизм DLL search-order hijacking, загружает именно эту библиотеку, так как она расположена в той же директории. Данный приём позволяет обойти первоначальные проверки доверия, поскольку исполняемый файл является подписанным и не вызывает подозрений. После загрузки DLL она декодирует в памяти шелл-код, который, в свою очередь, распаковывает полезную нагрузку второго этапа и передаёт ей управление.
Далее начинается шестиэтапная цепочка заражения, в ходе которой вредонос последовательно повышает привилегии, устанавливает персистентность и развёртывает два независимых инструмента удалённого доступа. На втором этапе программа проверяет, работает ли она с правами администратора, и если нет - перезапускается с запросом повышения через UAC. Затем создаётся единственный экземпляр процесса с использованием глобальных объектов событий (Global\kkctsbnn и Global\ShitSetupOn26126k). После подтверждения привилегий загрузчик скачивает с командного сервера 118[.]107[.]0[.]197 файл, который оказывается полиглотом - изображением JPEG, в котором после данных картинки скрыты зашифрованные полезные нагрузки. Извлечённый блок записывается как nvdaHelperRemote.dll в рабочую директорию C:\Program Files\Windows Media Player. Для обеспечения персистентности вредонос копирует свой исполняемый файл под именем Mixed Reality.exe и создаёт службу с названием MixedSvc и отображаемым именем "Windows Mixed Reality Service", которая запускается автоматически при старте системы.
Третий этап - повторная загрузка DLL через тот же приём sideloading, но на этот раз распакованная полезная нагрузка не записывается на диск, а отражается в памяти с помощью рефлексивного механизма отображения (reflective loading). Четвёртый этап - инжектор, который динамически разрешает API-функции, читает тот же полиглотный файл C:\Windows\background.jpg, но извлекает другой сегмент данных, начиная со смещения 0x1587D. Собранный буфер внедряется в процесс svchost.exe с помощью выделения виртуальной памяти, записи и создания удалённого потока. После этого инжектор завершает свою работу.
Пятый этап - сессионно-ориентированный инжектор, который работает уже внутри svchost.exe. Он повторно проверяет единственный экземпляр и дожидается появления на диске DLL для sideloading. Затем из того же полиглота извлекаются два разных набора данных со смещений 0x52C04 и 0x165A04. Оба блока XOR-дешифруются встроенными ключами. Инжектор перечисляет активные терминальные сессии и для каждой из них создаёт новый процесс svchost.exe в контексте соответствующей сессии (с использованием дублированного токена). В каждый такой процесс внедряются обе полезные нагрузки. Таким образом вредонос присутствует во всех сессиях вошедших пользователей, а не только в сервисной сессии. Инжектор работает в непрерывном цикле, отслеживая новые сессии и переустанавливая внедрение при необходимости. Для отладки создаётся скрытый файл c:\debug.txt, а сигналом для завершения служит появление файла c:\kkqqexit.
Шестой этап состоит из двух финальных имплантов, каждый из которых подключается к собственному командному центру. Первый - производное от Gh0st RAT, которое соединяется с сервером kkxqbh[.]top на порту 6666. Оно использует рефлексивную загрузку собственного набора библиотек: zlib (сжатие), CameraUtil.dll (захват экрана), libturbojpeg (JPEG-кодирование) и VTCP.dll (сетевая библиотека). Командный протокол использует 6-байтовый синхромаркер и 4-байтовое поле длины, после чего данные сжимаются zlib. Диспетчер команд распознаёт 8-байтовые идентификаторы магических значений и поддерживает обратную оболочку cmd.exe, управление захватом экрана, запуск процессов, файловые операции, управление рабочим столом, а также команды heartbeat и самоуничтожения. Это близко к известной архитектуре Gh0st RAT.
Второй имплант - загрузчик для .NET-полезной нагрузки на базе AsyncRAT/Quasar. Перед загрузкой CLR он патчит функцию AmsiOpenSession в amsi.dll, заменяя условный переход на безусловный короткий jump, что приводит к возврату ошибки E_INVALIDARG при любой попытке сканирования. Затем встроенный блоб (AES-128 зашифрованный с ключом 3343f6a8885a308da11ae0d18cd4a7f5) декодируется и расшифровывается, давая .NET-сборку, защищённую .NET Reactor. Эта сборка загружается в память через COM-интерфейсы CLR (CLRCreateInstance, ICorRuntimeHost), минуя запись на диск. Расшифрованная конфигурация указывает сервер ouewop[.]com на порту 6351, версию Reach 2.0.1, мьютекс 5sGEm6Q4eTNv и группу Default. Параметры шифрования (PBKDF2 с солью Quasar, схема HMAC-SHA256 + IV + AES-256-CBC) однозначно идентифицируют этот имплант как представителя семейства AsyncRAT/Quasar.
Такая архитектура с двумя независимыми RAT на разных каналах C2 обеспечивает избыточность: если один имплант обнаружен и заблокирован, второй продолжает работу. Инъекция во все сессии делает вредонос устойчивым к переключению пользователей. Кроме того, каждая последующая стадия уменьшает след на диске: ранние этапы записывают минимум файлов, а финальные импланты исполняются полностью в памяти. Полиглотный JPEG проходит беглую проверку как обычное изображение. Для защиты от подобных угроз необходимо использовать многоуровневую оборону, включая поиск аномалий по следующим признакам: загрузка неподписанных DLL легитимными исполняемыми файлами, создание служб с нестандартными именами в каталоге Windows Media Player, подмена AMSI перед загрузкой CLR, загрузка CLR нативными процессами svchost.exe, создание глобальных объектов событий со случайными именами, инъекции потоков в svchost.exe из посторонних процессов, а также создание скрытых файлов в корне диска. Предоставленный отчёт Howler Cell позволяет выявить компрометацию до того, как сработают автоматические сигнатуры.