Исследователи информационной безопасности обнаружили новую волну атак группы UAC-0226, известной распространением вредоносного стилера GIFTEDCROOK. Специалисты проанализировали свежий образец, демонстрирующий эволюцию инструментария и тактик этой угрозы. Основным отличием от предыдущих кампаний стало применение уязвимости WinRAR (CVE-2025-8088), связанной с обходом путей через альтернативные потоки данных NTFS (ADS). Механизм обеспечивает автоматическое помещение вредоносного ярлыка в папку автозагрузки Windows, что устраняет необходимость в действиях пользователя после распаковки архива.
Описание
Атака начинается с архивного файла, маскирующегося под документ Министерства обороны Украины. Внешне архив содержит лишь один PDF-файл с названием "взвод розвідки.pdf" (в переводе - разведывательный взвод). Документ-приманка ссылается на беспилотные летательные аппараты на оптоволокне и самолёты-разведчики, что указывает на нацеленность на военнослужащих, связанных с разведкой и БПЛА. Однако внутри архива скрыты дополнительные записи, использующие синтаксис ADS с обходом пути. В результате извлечения файлы попадают в каталог "C:\ProgramData", а ярлык - в "%AppData%\Microsoft\Windows\Start Menu\Programs\Startup". После перезагрузки системы или повторного входа пользователя этот ярлык запускает цепочку исполнения через cmd.exe и PowerShell.
Процесс заражения состоит из нескольких этапов. Ярлык вызывает команду, которая запускает скрытый PowerShell с чтением первого скрытого компонента - файла WC3 из "C:\ProgramData". Этот скрипт, замусоренный случайными функциями и вызовами, размером около 92 КБ, после очистки выполняет полезную нагрузку. Он считывает второй файл - wt1 размером 1 131 008 байт, применяет аддитивное декодирование (вычитание числа 72 из каждого байта) и загружает полученные данные в память текущего процесса PowerShell. Для этого скрипт динамически резолвит API ntdll (NtAllocateVirtualMemory, NtProtectVirtualMemory, NtCreateThreadEx) через .NET reflection.
Особенность данной кампании - payload представляет собой не обычный PE-файл, а образ без заголовков MZ и NT. Первые 0x400 байт отведены под кастомный заголовок, используемый рефлективным маппером. Сам маппер реализован в экспортируемой функции Main.dll!Func, которая после реконструкции PE-структуры выделяет память, копирует секции, разрешает импорты, применяет релокации и вызывает точку входа DLL. Такой подход затрудняет статический анализ: ни обычные антивирусные средства, ни дизассемблеры не могут корректно обработать файл без предварительной реконструкции.
После выполнения маппер записывает в кастомный заголовок три 32-битных значения (статус, код ошибки и индикатор прогресса). Эти данные собираются внешним скриптом PowerShell и отправляются на C2-сервер через HTTPS. Для отключения проверки сертификатов TLS в скрипте глобально отключается валидация. Адрес C2 - hxxps://142.111.194[.]73:8640/dj5FZEiLnA. По сравнению с предыдущей кампанией, где использовался порт 8406 и статический endpoint /rcv, операторы изменили порт на 8640 и генерируемый случайный путь, чтобы избежать сигнатурных детектов.
Внутренняя полезная нагрузка стилера нацелена на кражу учётных данных из браузеров. После декодирования строк (через RC4-подобный шифр, работающий с 16-битными словами UTF-16) обнаружены ссылки на извлечение Login Data, Cookies, Local State из браузеров на движке Chromium: Google Chrome, Microsoft Edge, Opera. Для Firefox скрипт ищет файлы logins.json, key3.db, key4.db, cookies.sqlite. Для расшифровки DPAPI-защищённых данных используется вызов CryptUnprotectData. Кроме того, payload собирает файлы по расширениям: текстовые документы (txt, doc, docx, xls, ppt, pdf), архивы (zip, rar, 7z), конфигурационные файлы (ovpn - OpenVPN, conf), базы данных KeePass (kdbx), Java KeyStores (jks) и изображения. Поиск ведётся в папках Desktop, Documents, Downloads и корневых каталогах дисков. Собранные данные упаковываются в ZIP-архив со случайным именем в профиле пользователя.
Для идентификации жертвы стилер создаёт 8-байтовый идентификатор на основе GetSystemTimeAsFileTime, сохраняемый в файл "%TEMP%\oBKhrQLe1CKmO3RhHO". При повторном запуске идентификатор считывается из этого файла. В коде также обнаружены упоминания дополнительных файлов (ExitCode.txt, Key10.txt, logs.txt), чёe точное назначение не установлено статическим анализом.
Сравнение с предыдущим образцом UAC-0226, описанным несколько месяцев назад, выявляет значительные улучшения. Тогда архив содержал видимые PDF и LNK, требовавшие ручного запуска ярлыка пользователем. В новой версии весь исполняемый код размещается скрытно через ADS, ярлык помещается в автозагрузку, payload разделён на два файла в ProgramData, используется заголовочный формат без PE-сигнатур, и внедрён рефлективный маппер. Также появилась телеметрия загрузчика - отправка статуса маппера на C2. Общий подход к обфускации остался прежним: шумный PowerShell с мусорным кодом, простая аддитивная кодировка, RC4-защита строк. Однако операционализация цепочки повышена: теперь жертве не требуется ничего делать, кроме как открыть архив - дальнейшее выполнение происходит автоматически.
Поставщик хостинга C2 не изменился - используется evoxt.com. Инфраструктурные изменения включают смену сертификата и ответа веб-сервера по умолчанию. Аналитики отмечают, что, несмотря на простоту используемых технологий, последовательная эволюция инструментария делает атаки более сложными для обнаружения и анализа. По структурным признакам (архив → LNK → PowerShell → аддитивное декодирование → выполнение в памяти → сбор браузерных и файловых данных) новая кампания является прямым продолжением линии GIFTEDCROOK / UAC-0226.
Для организаций, связанных с украинским военным сектором, данная угроза представляет особую опасность. Рекомендуется обновить WinRAR до версии, не подверженной CVE-2025-8088, настроить мониторинг создания ярлыков в папке Startup, проверять PowerShell-команды через EDR и блокировать исходящий трафик на подозрительные порты 8640, 8406 по протоколу HTTPS с неизвестными сертификатами.
Индикаторы компрометации
IPv4 Port Combination
- 142.111.194.73:8640
SHA256
- 05e131555faabae0960f0527cfb72d2b8e2381fd0fde22b0b4e2b365c7faf445
- 3006a6639eff677b08595927cf219a3bcd5fdd02bfd592606316bfd4623bb902
- 420f1931af9b3f7d02c5edfc78eb69abdad6e71d2c3e9b81f9cbc3823a503654
- 6b7e3dd5af5a56dd24e96c5b13282ad084c78d0a589d5e4c1b6ba58b4525d9a8
- 78538f945a1d20aa392f3065f222223a4ed47284abfafa8c135bdfd9eacef222
- b268ecbc386d32ace546dd483707fd2c923de8f091741e544f52c7f872fe0d91
- dc4c906e56ecb446cbb10b227e1fb470e428108584678314533d80e52a2b9b30