Исследователи из 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 позволяет выявить компрометацию до того, как сработают автоматические сигнатуры.
Индикаторы компрометации
IPv4
- 118.107.0.197
Domain
- generate.lat
- import.mom
- kattp.homes
- kkxqbh.top
- meoou.rest
- ouewop.com
- tqhaq.rest
URL
- http://118.107.0.197/ouewo.jpg
SHA256
- 030b90666a581934de0683ef9232f137867db804f6100c0479958826dc2e4cbb
- 2c0de3d5432d5a14cb03936a460ceb633b53a51881c4fa4f3dfa87fedef2148e
- 3dd5148cf3cfc7fe2196d066ef39d8f03d07022dd5e917227164abc8d6c6d1ed
- 52c19cfdc25bd1c1be3386493d60ded19e2fe35e053d81dda2b212d8dde84330
- 60ad81d75bd59e12b43392f7abf95bcb66a6e27091a46f9bf5cca51a6c01853f
- 7ee61469f1c171d1631a72720ecaa0516598b4671e320287674f5d6817a9fb92
- 93dd8b7b393289f88493596faa4ae70054d9eb4fe47f2dd334f0c6bb5262f2a8
- a1521585d54fe29675f906b538d86a6d3b5804db637b714ab1fbf6fb01d0a6f1
- fb520caa54b7e498708a6ebd0029c2492134c87c85324a3301ab450caa19e112
- fd062b4096f22c47bf6124a5b58322940ff676cb8d8fccd40af4d110f93dc2fa