В ходе мониторинга угроз эксперты выявили ранее неизвестную группировку, получившую название Armored Likho (также известную как Eagle Werewolf). Основными целями этой группы стали государственные учреждения и предприятия электроэнергетического сектора. География атак охватывает Россию, Бразилию и Казахстан, что позволяет рассматривать группу как глобального оператора киберугроз.
Описание
Armored Likho сочетает финансово мотивированные кампании против частных лиц с целевым кибершпионажем в организациях. Инструментарий группировки включает обфусцированные модульные RAT (трояны удалённого доступа) и инфостилеры, специально разработанные для обхода динамического анализа. Наряду с ними злоумышленники используют простые инструменты вроде Go2Tunnel для организации удалённого доступа и туннелирования трафика. Такое разнообразие вредоносного стека позволяет группе сохранять скрытое управление скомпрометированными хостами, похищать учётные данные и другую конфиденциальную информацию, а также динамически развёртывать загружаемые модули, адаптированные под профиль жертвы и текущие задачи.
Ключевой особенностью кампании стало применение ранее недокументированного инструмента под названием BusySnake Stealer. Этот инфостилер на Python предназначен для атак на системы Windows. Обнаружено несколько версий вредоносной программы, а также дополнительный модуль для кражи cookies. Первичная полезная нагрузка, состоящая из загрузчиков и стажеров, была сгенерирована с использованием технологий искусственного интеллекта. Такой подход размывает тактики, техники и процедуры злоумышленников и усложняет атрибуцию атак.
Armored Likho активно использует фишинговые письма как основной вектор начального проникновения. В последней кампании злоумышленники распространяли вредоносные вложения в архивах с названиями вроде "psihologicheskiy_test.zip" или "zayavka_gumanitarnayapomosch.rar". Внутри архивов содержались исполняемые файлы или LNK-файлы, маскирующиеся под темы писем. При открытии архива на устройстве жертвы запускалась вредоносная цепочка.
Один из вариантов атаки предусматривал использование "дроппера" - самодостаточного архива, созданного при помощи Nullsoft Scriptable Install System (NSIS). При запуске пользователь видел поддельный психологический опрос, отвлекающий внимание. После выполнения дроппер записывал на диск легитимный исполняемый файл и внедрял в его память код вредоносного загрузчика. Этот загрузчик, в свою очередь, загружал несколько архивов из репозиториев GitHub. Анализ этих репозиториев выявил ранние тестовые сборки вредоносного ПО, причём выкладка данных автоматизирована, что позволяет быстро менять как полезные нагрузки, так и сами репозитории.
Загруженные архивы распаковывались в каталог WindowsHelper внутри папки AppData. Этот каталог служил рабочей директорией вредоносной программы. Набор компонентов включал сам стилер module.pyw, среду выполнения PyArmor, интерпретатор Python 3.12 и скрипт установки менеджера пакетов pip. После установки зависимостей вредоносное ПО создавало два VBScript-файла: один для удаления первоначального загрузчика, второй - для обеспечения постоянства (persistence) через задачу в планировщике, запускающую стилер каждые пять минут.
В альтернативных кампаниях использовались LNK-файлы, эксплуатирующие уязвимость ярлыков (ZDI-CAN-25373). Этот недостаток позволял злоумышленникам скрывать параметры командной строки с помощью пробелов и переносов строк. При запуске LNK-файла выполнялась обфусцированная команда PowerShell, которая загружала и запускала вредоносный загрузчик. Загрузчик, в свою очередь, открывал фиктивный DOCX-документ (например, заявление на гуманитарную помощь) и инициализировал переменные окружения для развёртывания следующей стадии - установки Python, pip и архива data.zip с полезной нагрузкой.
Предоставленный анализ исходного кода загрузчика выявил наличие подробных комментариев и маркеров в виде эмодзи. Такой стиль программирования нетипичен для ручного написания вредоносного ПО и с высокой вероятностью свидетельствует об использовании больших языковых моделей (LLM) для генерации кода.
Основная полезная нагрузка - BusySnake Stealer - представляет собой инфостилер на Python, обфусцированный и зашифрованный с помощью PyArmor Pro версии 9.2.0. Вредоносная программа динамически расшифровывает свой байт-код только в момент вызова функции, а затем снова его шифрует. Это затрудняет статический анализ. Работает стилер в фоновом режиме без консольного окна (расширение .pyw).
После запуска стилер инициализирует конфигурацию с адресом сервера управления (C2), путями к каталогам, регулярными выражениями, интервалами снятия скриншотов и пользовательским агентом для сетевых запросов. Архитектура стилера построена на обработчиках, каждый из которых отвечает за определённую функцию:
- single_instance_lock предотвращает одновременный запуск нескольких экземпляров стилера.
- start_key_clipboard_logger крадёт данные из буфера обмена.
- start_inventory_background перечисляет файлы в системе и записывает их метаданные в локальную базу данных.
- extract_hex64_from_file ищет в файлах 64-символьные шестнадцатеричные ключи.
- start_send_documents_priority_background отправляет документы пользователя на C2.
- take_screenshot делает скриншоты и сохраняет их.
- poll_task ожидает входящих команд от C2.
При получении команды стилер может выполнять множество действий: красть пароли из браузеров на Chromium и Firefox, извлекать cookies, перехватывать одноразовые пароли (OTP), собирать файлы криптовалютных кошельков, похищать данные из Telegram (путем завершения процесса telegram.exe и копирования каталога tdata), устанавливать обратное SSH-туннелирование (функция, ранее реализованная в отдельном инструменте Go2Tunnel, теперь встроена непосредственно в стилер), а также обеспечивать удалённое управление через RustDesk.
Для кражи паролей из Chromium-браузеров стилер находит файл Login State, содержащий мастер-ключ, зашифрованный через Windows Data Protection API (DPAPI). Работая в контексте безопасности пользователя, вредоносная программа расшифровывает ключ, а затем извлекает и дешифрует пароли. Для Firefox процедура аналогична: стилер сканирует профили, находит файлы logins.json и key4.db, и, используя библиотеку NSS (Network Security Services), дешифрует учётные данные, если база данных не защищена мастер-паролем. Извлечённые данные сохраняются в JSON-файлы и отправляются на сервер C2.
Кража cookies выполняется аналогичным образом, путём чтения баз данных Cookies в браузерах. Дополнительно загружается модуль, устанавливающий в браузер расширение, которое через локальный веб-сервер перехватывает и передаёт cookies на C2. Для этого модуль создаёт файлы манифеста и служебного скрипта, после чего запускает Google Chrome с этим расширением.
При атрибуции кампании Armored Likho эксперты опирались на несколько совпадений. Во-первых, в предыдущих кампаниях группа использовала Go2Tunnel для обратных SSH-туннелей; в BusySnake Stealer эта функциональность реализована как встроенная, с аналогичными аргументами командной строки. Во-вторых, структура стилера схожа с ранее применяемым трояном AquilaRAT - оба получают задачи с C2 и используют специальные обработчики, а также сходные конечные точки для отчётов о статусе выполнения. В-третьих, механизмы сохранения постоянства (persistence) маскируются под легитимные утилиты Microsoft: AquilaRAT использовал задачу MicrosoftOfficeUpdate, а BusySnake Stealer - WindowsHelper.
Подтверждённые жертвы выявлены в России, Казахстане и Бразилии. Атаки сконцентрированы на государственных структурах и объектах электроэнергетической инфраструктуры. Группа продолжает активную деятельность на момент публикации.
Эволюция инструментария Armored Likho демонстрирует несколько тенденций. Использование AI для генерации первой стадии загрузчиков расширяет доступные векторы атак. Интеграция функциональности ранее отдельных инструментов (Go2Tunnel) непосредственно в стилер снижает число используемых файлов и усложняет обнаружение. Структурное сходство с AquilaRAT указывает на возможное объединение кодовых баз разных версий вредоносного ПО. Переход к созданию задач через COM-объекты вместо прямого вызова schtasks.exe снижает заметность в логах системы.
Решения для защиты, в том числе средства класса EDR и песочницы, способны перехватывать активность группировки на этапе выполнения LNK-загрузчика (например, правила, детектирующие запуск обфусцированной команды через rundll32.exe и последующий PowerShell). Песочницы фиксируют загрузку дополнительных файлов из GitHub, создание вредоносных файлов на диске и цепочки обращений к серверам C2.
Индикаторы компрометации
IPv4
- 159.198.32.222
- 159.198.41.140
- 159.198.75.219
- 69.67.173.153
Domain
- arvax.xyz
- grked.online
- lvl99.store
- myboard.chickenkiller.com
- myboard.twilightparadox.com
- ndrt.ink
- onetoken.ink
- varenie.live
- winupdate.ink
- winupdate.live
MD5
- 0041fd1b2358cd08dbcbc28ea8fc3d20
- 006887732ca4a4a46a97989cf4deeef6
- 07213c419489c02791e8d67b91e404ef
- 1096268fa2b3d454c86cf851cb782319
- 1dba3e505491a260a44c867902c3296e
- 2dfa1d949872c1b2f04952dd3e5f5d8f
- 393b498f2114cabc0b29d5fcd9dc6723
- 5d5c3e483c5e544260ce98fc29fbf192
- 6b45ddb39a6e86229348dcbba3857e7c
- 7141917cba2eee2b4d31107faccf3a39
- 732c31acf971a81c7e51b2a3dae82020
- 78135f72ab148a0cc074f6b2dd51fff6
- 7db9c688c620e54e8c69b7e52a7579fb
- 80b7700053e115d65365ce7330383320
- 8188b2f347b77d65d08cfb23808ac244
- 894332174f536c2e1efeda05cba79f8b
- 90378881856abfa47d7745c0a3ef9dc8
- a0ec7a8e61eff3f445a7455b3aef9fbb
- c019797a00fd56edb1f468ac0a598510
- c7622a1effa27bbfee6d6e03d6474343
- cf74ac018d158ea2c2cfa1b1d71d95bc
- ddff82a115558584bbd7741d4ffb35b4
- e2550cfad9dcc880bf04f6048f90868c
- f2ab09d7e7a375a192508a5014aa2ee4
- f5c6434ee5f7578faa3bc1257e1c9226
- fd2bdd8047addee6fde2f532de181bfd