В апреле 2026 года мы обнаружили новую вредоносную кампанию, нацеленную на пользователей хентай-игр — категории контента для взрослых. При запуске зараженные игры устанавливают на компьютер пользователя новый, ранее неизвестный вредоносный имплант. Выждав несколько дней, он скачивает и запускает троянец, что приводит к полной компрометации системы и дает злоумышленникам широкие возможности удаленного управления устройством жертвы. Мы назвали это семейство вредоносного ПО Argamal.
Для закрепления в системе Argamal использует технику перехвата COM-объектов (COM hijacking), подменяя значение InprocServer32 для DLL компонента Windows Color System Calibration Loader. Поскольку соответствующая задача запускается при входе пользователя в систему, вредоносное ПО получает возможность автоматически запускаться при старте ОС.
Решения «Лаборатории Касперского» детектируют угрозу как Trojan.Win32.Termixia.*, Trojan.Win32.Agent.*, HEUR:Trojan.Win32.Argamal.gen и HEUR:Trojan-Downloader.Win32.Argamal.gen.
Техническая информация
Предыстория
В апреле этого года в ходе планового мониторинга телеметрических данных мы обнаружили несколько подозрительных DLL-файлов. Дальнейший анализ показал, что различные версии этих DLL существовали как минимум с 2024 года.
Эти файлы распространялись вместе с играми, созданными на базе разных игровых движков и языков программирования, включая RenPy (Python), RPG Maker MV (JavaScript) и другие. При этом все выявленные игры относились к категории хентай-игр. Во время поиска источников распространения мы обнаружили ряд веб-сайтов, на которых были опубликованы скриншоты игр и ссылки для их скачивания. Эти ссылки перенаправляли пользователей на бесплатный файлообменник PixelDrain.
Помимо этих сайтов, троянизированные игры также распространялись через разные торрент-трекеры, такие как AniRena.
Доставка
Как на специализированных сайтах, так и через торрент-трекеры зараженные игры распространялись в виде архива.
Внутри этого архива находились полностью функциональные легитимные файлы игры вместе с измененным ffmpeg.dll (SHA1: 42add9475e67a1ccc6a6af94b5475d3defc01b85), который импортировал функцию DllGetClassObject из файла с именем natives2_blob.bin. Поскольку FFmpeg требуется для корректной работы игры, библиотека загружается сразу после ее запуска.
Загрузчик скрипта
Файл natives2_blob.bin (SHA1: edce72f59e4c1d136cd1946af70d334c19df858d) представляет собой DLL, которая при загрузке выполняет PowerShell-скрипт, закодированный в Base64.
Этот PowerShell-скрипт (далее — Stage1) выполняет базовые проверки на наличие контролируемых сред, в частности ищет папку Sandboxie в каталоге Program Files и процесс Procmon64 в списке активных процессов. Если все проверки подтверждают, что вредоносный код запущен не в изолированной среде, Stage1 переходит к закреплению в системе.
Для этого он создает пользовательские переменные окружения MI_V (также MI_V2 в более новых версиях), записывая в них другой PowerShell-скрипт, закодированный в Base64 (далее — Stage2). После этого Stage1 изменяет значение ключа реестра InprocServer32 по пути HKCU\SOFTWARE\Classes\CLSID\{722D0F89-B69C-4700-AE8C-4A44350E4876} на случайное имя DLL-файла в случайной поддиректории внутри %USER%\AppData\Local. В ключе ShellFolder в этом же каталоге реестра задается другое случайное имя DLL-файла в ранее выбранной папке внутри \AppData\Local. Кроме того, Stage1 создает запланированную задачу, которая запускается через три дня и однократно выполняет Stage2.
Stage2 представляет собой скрипт, загружающий вредоносную нагрузку. Он извлекает ранее сгенерированные имена DLL-файлов из реестра и с помощью утилиты bitsadmin.exe загружает с GitHub зашифрованную нагрузку под именем zaesdl.dat. Загруженный файл сохраняется как settings.dat в ранее выбранной случайной поддиректории %USER%\AppData\Local. Далее Stage2 расшифровывает полезную нагрузку с использованием AES-CBC, применяя ключ zbcd1j9234r670eh и вектор инициализации (IV), равный ключу. После расшифровки вредоносная нагрузка сохраняется в DLL-файл, ранее указанный в ключе ShellFolder.
Затем путь к сохраненной DLL устанавливается в качестве значения ключа реестра InprocServer32 по адресу HKCU\SOFTWARE\Classes\CLSID\{B210D694-C8DF-490D-9576-9E20CDBC20BD}. Данный COM-объект используется запланированной задачей \Microsoft\Windows\WindowsColorSystem\Calibration Loader. Поскольку эта задача запускается при каждом входе пользователя в систему, вредоносное ПО получает возможность автоматически выполняться в каждой пользовательской сессии.
Перед завершением работы Stage2 также удаляет изменения, внесенные в раздел реестра HKCU\SOFTWARE\Classes\CLSID\{722D0F89-B69C-4700-AE8C-4A44350E4876}, сбрасывает переменную окружения MI_V (и MI_V2 в новых версиях) и удаляет запланированную задачу, инициировавшую запуск Stage2.
Вредоносный агент
Ранние версии вредоносной нагрузки расшифровывались с помощью циклического XOR-ключа 0xB0C1D4E9. В качестве ключа для каждого следующего блока (i+1) использовалось зашифрованное содержимое предыдущего (i), при этом длина всех блоков составляла 4 байта. Самые последние версии агента не содержат этого механизма.
В найденных образцах строки зашифрованы методом простой подстановки с ключом, который посимвольно соответствует следующему алфавиту: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@#$./:<>*&~. В процессе расшифровки определяется позиция каждого символа зашифрованной строки в ключе и он заменяется на символ, занимающий ту же позицию в алфавите.
В рамках исследования мы зафиксировали применение следующих ключей:
- 17htUno/I3L&fK2H#yapE@b5NqZ$Q4xmeF.s96uB>jkdWCPvAgD*XwO:iR~TMrV0YGl8z<JSc
- 71htUno/I3L&fK2H#aypE@b5NqZ$Q4xmeF.s96uB>jdkWCPvAgD*XwO:iR~TMrV0YGl8z<JSc
- E1hUtno/IL3&fK2H#ypa7@b5NqZ$Q4xmeF.s69uB>jkdWCvPAgD*XwO:iR~TrMV0YGl8z<JcS
Любые символы, отсутствующие в ключе, остаются без изменений.
Вредоносная нагрузка проверяет наличие защитных продуктов следующих поставщиков, анализируя вывод команды tasklist:
- Лаборатория Касперского
- Avast
- McAfee
- Bitdefender
- Malwarebytes
- +36 других решений
Сама вредоносная нагрузка представляет собой троянец удаленного доступа (RAT) с расширенными возможностями. В более ранних версиях командным сервером по умолчанию выступает asper1[.]freeddns[.]org, а в последних версиях — Winst0[.]kozow[.]com. Оба домена указывают на IP-адрес 186[.]158.223.35. В записях pDNS мы также видели другой IP-адрес для первого командного сервера, но не наблюдали его использования на практике.
Адрес командного сервера может быть изменен на основании ответа от командного сервера или при выполнении определенных условий. Например, если на устройстве жертвы была по умолчанию установлена языковая локаль zh-CN, RAT изменит адрес своего командного сервера на country1[.]ignorelist[.]com. На протяжении большей части исследования этот домен указывал на 127[.]0.0.1, однако с 26 апреля он также стал указывать на 186[.]158.223.35.
Вредоносная нагрузка отправляет heartbeat-сообщения по протоколу UDP на порт 57441 командного сервера. Они содержат информацию об обнаруженных средствах защиты, о времени запуска системы, времени, прошедшем с момента последней активности пользователя, архитектуре системы, IP-адресе устройства и имени пользователя.
Командный сервер может отвечать на эти сообщения. В зависимости от полученного ответа вредоносная нагрузка может выполнять разные действия. Ниже приведен полный список доступных команд.
| Первый байт ответа | Описание |
| 0x31 | Запустить DLL-библиотеку, указанную в ответе |
| 0x57 | Отправить UDP-запрос на указанный адрес |
| 0x55 | Открыть файл или ссылку из ответа |
| 0x50 | Собрать информацию о зараженной системе (например, список процессов и тип архитектуры) |
| 0x53 | Выполнить команду, указанную в ответе, с помощью ShellExecuteW |
| 0x52 | Запустить файл, указанный в ответе, с помощью WinExec |
| 0x42 | Удалить файл, указанный в ответе |
| 0x41 | Обновить домен командного сервера |
| 0x59 | Получить новую вредоносную нагрузку: подключиться к порту 63559/udp командного сервера, получить новую DLL и обновить путь в реестре |
Командный сервер также может установить в ответе флаг, включающий расширенный режим работы RAT. В этом режиме вредоносная нагрузка взаимодействует с командным сервером через TCP-порт 3747.
Сообщения, переданные в этом режиме, шифруются с помощью шифра простой замены. Каждый символ заменяется на основе фиксированного сопоставления, определяемого следующим ключом:
|
1 |
koP]Y4Os-_t?cB',aK.Wm>QM2[U!^C`*@Ff:X\6Dp8H%ATydE<e(#G&LhwRZ5znjJqgNrl)I7V$3=910"+Svxi/;ub |
Этот ключ посимвольно соответствует стандартной последовательности символов ASCII:
|
1 |
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|} |
Иными словами, каждый символ из набора ASCII заменяется символом, находящимся в той же позиции в строке ключа.
Запросы и ответы командного сервера разделяются на две части первым символом пробела. Первая часть представляет собой команду, вторая — ее аргумент.
После установления соединения и перед получением дальнейших инструкций от командного сервера вредоносное ПО отправляет метаданные о зараженной системе с помощью команды NOOP. Метаданные включают счетчик циклов работы, сведения о подключенных дисках, время с момента последней активности пользователя и параметры конфигурации дисплея.
В зависимости от команды, полученной от командного сервера, вредоносное ПО может выполнять произвольные команды на зараженной машине, перезагружать систему и завершать ее работу, управлять курсором, делать скриншоты, упаковывать файлы в архивы, отправлять их на указанные серверы и, по сути, полностью контролировать машину. Полный список команд выглядит следующим образом.
Управление системой
KILL REBOOT: перезапуск зараженной системы.KILL POWER: завершение работы зараженной системы.KILL SELF: тот же эффект, что у команды QUIT (см. ниже).KILL ME: завершает процесс, в котором выполняется зловред.
Наблюдение
SCREEN/SCREEN9: делает скриншот, сохраняет его в файл ~wra1269.tmp и передает его на командный сервер.
Операции с файлами
DELETE <имя файла>: удаляет указанный файл.DELDIR <имя каталога>: удаляет указанный каталог.REN <путь к файлу 1>#<путь к файлу 2>: перемещает указанный файл.MAKDIR <путь>: создает каталог.ZIPFILE <имя файла или папки>/ZIPFOLDER <имя файла или папки>: сжимает указанный файл или папку в архив ZIP.TAR <имя файла или папки>/TAR2 <имя файла или папки>: сжимает указанный файл или папку в архив TAR.GETFILEDATE <имя файла>: передает дату последнего изменения файла.SETFILEDATE <имя файла>: устанавливает дату последнего изменения файла.GETFILEACC <имя файла>: передает дату последнего обращения к файлу.DWLOAD <имя файла>: передает файл на командный сервер.UPLOAD <имя файла>#<адрес командного сервера>: выгружает файл на указанный командный сервер.
Разведка
USER: передает имя пользователя.KALIVE: передает значение счетчика циклов выполнения.IDLE: передает количество секунд, прошедших с момента последнего пользовательского ввода.DRIVES: передает сведения о подключенных дисках.FOLDEX <тип папки>: передает полный путь к директории указанного типа:- — тип
0x63: временный каталог; - — тип
0x64: папка \Google\Chrome\User Data\Default\ в каталоге AppData\Local; - — тип
0x65: папка \Downloads\ в домашнем каталоге пользователя; - — тип
0x66: папка \Microsoft\Excel\XLSTART\ в каталоге AppData; - — тип
0x67: каталог AppData. LFILES <путь к папке>: перечисляет и передает пути ко всем файлам в каталоге.OSVER: передает информацию о пользователе, имени хоста, архитектуре и версии ОС.COMPILERDATE: передает константу, встроенную в RAT, например «25.10.2025».
Общие операции
DSOCKE: открывает TCP-сокет поддержания активности (keep-alive).QUIT: уведомляет командный сервер о завершении работы, закрывает сокет и останавливает процесс.RUNHID <команда>/RUN <команда>: запускает указанную команду, используя функциюShellExecuteW.RUNDOS <команда>: запускает указанную команду, используя функциюCreateProcessW.RUNTASK <команда>: создает, запускает и удаляет задачу, выполняющую указанную команду.SKEY <код клавиши>: нажимает указанную клавишу.MOUSE FREEZE: блокирует перемещение мыши.MOUSE <команда>: нажимает указанную кнопку мыши или устанавливает курсор в заданные координаты.
Другие методы доставки
В ходе исследования мы также зафиксировали альтернативные методы доставки этого RAT. Вместо модификации FFmpeg и скачивания вредоносной нагрузки с GitHub злоумышленники внедряли ее в виде libpython64.dat или другого файла с похожим именем в директорию игры lib\py3-windows-x86_64. Этот файл использовался одной из библиотек игры, модифицированной соответствующим образом.
В другом случае злоумышленники разместили вредоносный DLL-файл, скачивающий вредоносную нагрузку, на игровом форуме под видом чита.
Инфраструктура
В ходе нашего исследования мы выявили следующую инфраструктуру, используемую в данной атаке.
| Домен | IP-адрес | Первое обнаружение | ASN |
| asper1[.]freeddns[.]org | 181[.]116.218.56 | 16 сентября 2024 г. | 11664 |
| 186[.]158.223.35 | 1 июля 2025 г. | 11664 | |
| country1.ignorelist[.]com | 186[.]158.223.35 | 10 сентября 2025 г. | 11664 |
| 127[.]0.0.1 | 11 ноября 2025 г. | — | |
| Winst0.kozow[.]com | 186[.]158.223.35 | 26 апреля 2026 г. | 11664 |
Жертвы
Согласно данным нашей телеметрии, зафиксированы сотни заражений на устройствах, принадлежащих частным лицам, причем большинство жертв находится в России, Бразилии, Германии и Вьетнаме.
Атрибуция
На основании языка комментариев в коде, данных об инфраструктуре и других факторов мы с умеренной степенью уверенности предполагаем, что разработчики этой вредоносной цепочки говорят на испанском языке. Злоумышленники используют испанский язык в именах переменных и комментариях к коду. Например, скрипт доставки, декодированный из Base64, содержит следующие строки:
Помимо этого, JavaScript-код с веб-сайта, распространяющего зараженные игры, содержит имена переменных, имена функций и комментарии на испанском языке:
Примечательно, что вредоносная нагрузка, используемая в этой атаке, ранее выбирала 127.0.0.1 в качестве командного сервера, если на устройстве жертвы был установлен язык zh-CN по умолчанию. Это исключало атаки на китайских пользователей. Возможно, атакующие связаны с китайскоязычной группой либо используют вредоносные нагрузки, разработанные китайскоязычным автором. И все же мы считаем маловероятным, что за этой цепочкой заражения стоят китайскоязычные разработчики.
Выводы
Argamal — это новый RAT, нацеленный на поклонников игр для взрослых. За время нашего анализа мы наблюдали поток регулярных обновлений вредоносной нагрузки — появлялись новые функции, исправлялись ошибки, изменялась инфраструктура. В связи с этим можно предположить, что злоумышленники, стоящие за этим вредоносным ПО, продолжат его развивать и совершенствовать. Целью кампании, вероятнее всего, является кража информации и учетных данных. Тем не менее, этот RAT предоставляет атакующему полный контроль над устройством и возможность выполнять любые вредоносные действия по своему усмотрению.
В современных условиях создание вредоносного ПО значительно упростилось благодаря широкой доступности подробных руководств, инструментов и средств автоматизации. Как следствие, становится все более важным не только обнаруживать известные вредоносные программы, но и выявлять новые и развивающиеся угрозы по мере их появления. Решения «Лаборатории Касперского» предотвращали данную вредоносную активность на самых ранних стадиях атаки. Они помогают защищать устройства, опираясь не только на индикаторы известных угроз, но и на анализ поведения программ, обеспечивая комплексную защиту от вредоносного ПО.
Индикаторы компрометации
Хеш-суммы файлов
Вредоносные нагрузки (RAT):
76253fb55aed707440e808ea78e7101318436b1c
1405a3c5e0aeb08012484134e16cdec4ab29b4a4
535f4337f261b6da20a3c614eb13270bed2d533a
d2cb0d7a9ad2b5d4ea7c2da8aec62beb37cf36d6
e05f1767c2a337910ed75e90288838d6d0541164
dad26f61da7b8bccc78364411812be74c025b475
29f1d346a6e71774c7dad25b90f446b2974393df
e815a9b418d09c2d4bcd074c2c0bc21406eeb22f
17f8f8f34dfa737f36182fed7ff9e9814a114058
954722b0c9c678b1313d1f8b204e102842dc5889
69331cfdac792dc79240e6a6bb6e803eabd70beb
901cfa97b1baaf908fd4a02bb52d970f576c4193
5f1f3689bcf23de1b280b5f35712946da0f7978f
c2d9d48b3b10bd58cdf5df9463e3ffcd60533ff3
2423a5bf0fa7cb9ec09211630a5488629499691b
ae4601a19d28332a3ec6ac31b385cdf53be53450
Загрузчики троянца:
9803604ec45f31f9ef75bcca1e1310d8ac1fc3a6
edce72f59e4c1d136cd1946af70d334c19df858d
02819d200d1424882af81cb504b3e8614b32397a
Домены и IP-адреса
asper1[.]freeddns[.]org
Winst0[.]kozow[.]com
country1[.]ignorelist[.]com
186[.]158.223.35
GitHub-репозитории, используемые в кампании
hxxps://github[.]com/gmz159/u
hxxps://github[.]com/DnyP/files
hxxps://github[.]com/DnyP/p











Argamal: троянец скрывающийся в хентай-играх