Отчеты о целевых атаках (APT)

Благотворительность как приманка: Armored Likho расширяет арсенал инструментов для кибершпионажа

В мае 2026 года мы обнаружили новую кибершпионскую кампанию группировки Armored Likho (также известной как Eagle Werewolf), нацеленную на частных пользователей и организации из различных отраслей в России, включая корпорации, государственный сектор, ИТ и образование. В качестве приманки злоумышленники использовали поддельное приложение, имитирующее сервис для отправки материальной помощи подопечным благотворительных фондов. Однако наибольший интерес в этой кампании представляет не способ первоначального заражения, а вредоносные импланты, используемые атакующими для кибершпионажа.

Ранее мы уже писали о недавних атаках Armored Likho, однако анализ показал, что кампания, о которой пойдет речь ниже, имеет больше сходства с февральской активностью группировки. При этом злоумышленники существенно расширили свой арсенал.

В ходе исследования мы обнаружили новый инструментарий для кибершпионажа, разработанный на языке Rust, — Still Toolkit. Один из его компонентов, Still Sync, предназначен для кражи данных сессий Telegram и последующего доступа к учетной записи жертвы. Используя похищенные данные, злоумышленники могут через Telegram API автоматически выгружать из аккаунта переписку, медиафайлы и другую информацию.

Второй компонент — Still Audio — представляет собой имплант для скрытого аудионаблюдения. Он анализирует входящий аудиопоток, автоматически определяет наличие речи и записывает разговоры, после чего передает полученные записи на сервер управления.

В этой статье мы рассмотрим метод первоначального заражения, устройство новых компонентов Still Toolkit и технические особенности их работы.

Решения «Лаборатории Касперского» детектируют угрозу как Trojan.Win64.Agent.*, HEUR:Backdoor.Win32.Generic.

Предыстория

Ранее вредоносная активность Armored Likho уже неоднократно освещалась: в ноябре 2024 года, феврале и июле 2026 года. Текущая кампания демонстрирует значительное сходство с ноябрьской и февральской, когда в качестве вектора первоначального заражения использовались вредоносные дропперы, распространяющиеся под видом документов и приложений, связанных с активацией Starlink или благотворительностью. В текущей кампании в качестве приманки также используется тема благотворительности. Вместе с тем, наше исследование выявило ряд новых инструментов, свидетельствующих о развитии возможностей атакующих.

Первоначальное заражение

Началом цепочки заражения служит приложение, имитирующее сервис для отправки материальной помощи подопечным благотворительных фондов. На момент написания статьи способ его распространения остается неизвестным. Однако в ходе исследования нам удалось получить несколько образцов, выдававших себя за приложения трех различных фондов: «ЗаЩИТа», «Братское сердце» и «Защитники Отечества».

Приложение на самом деле является дроппером. Он написан на языке Rust с использованием популярного фреймворка Tauri и имеет графический интерфейс для обмана пользователя. После запуска отображается форма авторизации, в которой необходимо ввести пароль, предположительно предоставленный злоумышленниками.

Форма входа

Форма входа

После ввода корректного пароля пользователь видит каталог товаров, которые можно отправить в качестве материальной помощи. Информация о товарах и их категориях загружается с сервера orderapiserver[.]info через конечные точки public/categories и public/products. Наличие кликабельного каталога создает видимость того, что приложение легитимно. Пока пользователь просматривает товары, дроппер незаметно выполняет расшифровку и запуск полезной нагрузки для следующего этапа.

Анализ показал, что механизм расшифровки полезной нагрузки и запуска последующих этапов не изменился по сравнению с февральской кампанией. Однако мы обнаружили новый набор инструментов для кибершпионажа — Still Toolkit, состоящий из двух компонентов: Still Sync и Still Audio.

Still Sync

Still Sync — это стилер, написанный на языке Rust и предназначенный для кражи данных сессии Telegram. Однако этим его возможности не ограничиваются. Используя похищенные данные, Sync может войти в аккаунт жертвы и через Telegram API выгрузить сообщения и медиафайлы.

С точки зрения архитектуры, Sync представляет собой асинхронное приложение, построенное на базе библиотеки Tokio. Для обмена данными с сервером используется gRPC, а сериализация сообщений выполняется с помощью FlatBuffers. В качестве транспортного протокола поддерживаются HTTP и HTTPS — какой именно будет использоваться, определяется URL-адресом сервера управления.

Принцип работы

При запуске Sync злоумышленники устанавливают несколько переменных окружения. Перед началом выполнения вредоносной активности имплант извлекает из них параметры конфигурации:

  • STILL_SYNC_ADDR — адрес сервера управления. По умолчанию применяется URL https://tg4service[.]com:443;
  • STILL_SEND_PATH — путь к каталогу tdata;
  • STILL_TELEGRAM_PASSCODE — пароль для расшифровки каталога tdata, если на устройстве жертвы включено шифрование данных Telegram.

Кроме того, Sync поддерживает несколько аргументов командной строки:

  • --console — работает как консольное приложение. Если же этот параметр отсутствует, имплант создает службу TReload для того, чтобы продолжить выполнение в фоновом режиме;
  • --version — выводит информацию о версии программы и завершает работу;
  • --firefly — запускает поток трассировки, который будет наблюдать за работой программы. Сообщения об ошибках записываются в скрытый файл bin, расположенный в том же каталоге, что и основной исполняемый файл;
  • --db — включает режим отладки с подробным логированием.
Пример логов Still Sync

Пример логов Still Sync

После запуска вредоносная программа начинает процедуру регистрации устройства на С2-сервере. Для этого Sync собирает следующую информацию о системе жертвы:

  • серийный номер материнской платы;
  • идентификатор процессора;
  • UUID системы;
  • серийный номер BIOS;
  • доменное имя компьютера.

Собранные данные объединяются в одну строку с использованием двоеточия в качестве разделителя. Полученная строка затем хэшируется с помощью алгоритма SHA-256, а итоговый хэш сохраняется в ключе sysmarker. Стоит отметить то, что идентичный алгоритм используется и в других инструментах Armored Likho, например в AquilaRAT.

Пакет, содержащий всю собранную информацию и версию агента, затем сериализуется и отправляется POST-запросом на адрес /still.rpc.Sync/RegisterMachine. В ответе содержится значение machine_id, которое в дальнейшем используется для идентификации в последующих запросах.
После успешного завершения регистрации Sync отправляет POST-запрос с параметром machine_id на адрес /still.rpc.Sync/GetMachineSettings. В ответе сервер возвращает следующие настройки:

  • enabled — инициирует выполнение вредоносной активности на зараженном устройстве;
  • scan_portable — активирует расширенное сканирование при поиске каталога tdata. Мы подробнее рассмотрим эту функциональность далее;
  • fetch_telegram — если параметр включен, Sync выполняет попытку авторизации в Telegram и извлечения данных. Мы подробнее рассмотрим эту функциональность далее;
  • download_channels — если параметр отключен, диалоги каналов пропускаются при выгрузке данных из Telegram.

Для этих параметров не предусмотрены значения по умолчанию, поэтому Sync не выполняет ничего вредоносного до тех пор, пока процессы регистрации и получения настроек не будут успешно завершены.

Сбор данных Telegram

Перед кражей Telegram-сессии Sync ищет каталог tdata, если переменная STILL_SEND_PATH не задана. Список путей для поиска включает как стандартные, так и нестандартные директории, если активирована опция scan_portable:

  • C:\Users\<username>\AppData\Roaming\Telegram Desktop\ — стандартная директория установки Telegram Desktop;
  • C:\Users\<username>\AppData\Local\Packages\<package_folder>\LocalCache\Roaming\ — директория установки через Microsoft Store. Каталог пакета определяется по имени, содержащему строку ramMessengerLLP.TelegramMessenge;
  • C:\ — используется для расширенного поиска (если включена опция scan_portable).

После этого Sync отправляет POST-запрос со списком файлов из каталога tdata на конечную точку /still.rpc.Sync/CheckFiles. В ответ сервер возвращает следующие значения:

  • snapshot_id — идентификатор, присваиваемый сервером текущему снимку данных;
  • present — список путей к файлам, которые уже присутствуют на сервере.

Таким образом C2-сервер предотвращает повторную отправку уже полученных файлов. Кроме того, если Sync не может получить доступ к файлам на диске стандартными методами, он использует три резервных механизма, основанных на злоупотреблении привилегией SeBackupPrivilege:

  • открытие файлов с помощью функции CreateFileW с параметром FILE_FLAG_BACKUP_SEMANTICS;
  • создание резервной копии с помощью службы Shadow Copy и чтение файлов оттуда;
  • если все предыдущие методы завершаются неудачей, Sync пытается скопировать файл с помощью утилиты Robocopy в режиме резервного копирования.

Помимо кражи данных сессии Telegram, Sync способен выполнять полноценный сбор пользовательской информации из мессенджера. При включенной опции fetch_telegram он запускает отдельный поток, в рамках которого проходит аутентификацию в мессенджере с использованием ранее полученных данных tdata. После успешной аутентификации Sync получает доступ к данным аккаунта и передает на сервер собранную информацию:

  • информация о пользователе, например имя пользователя, номер телефона, имя и фамилия;
  • информация о приватных чатах, группах или каналах. Она может включать название и ID чата, список участников и т. д.;
  • диалоги из личных чатов, групп и каналов (если включена опция download_channels);
  • медиафайлы размером менее 250 МБ следующих типов: фотографии, документы, стикеры и контакты.

Still Audio

Still Audio — имплант для аудио-слежки, написанный на языке Rust. Его основная задача заключается в анализе входящего аудиопотока и запуске записи голоса при выполнении определенных условий, о которых мы расскажем в следующем разделе. По архитектуре Still Audio во многом повторяет Sync и использует те же механизмы взаимодействия с сервером управления.

При запуске Still Audio выполняет несколько последовательных действий:

  • извлекает файл libmp3lame.dll, хранящийся внутри исполняемого файла. Это библиотека, которая используется для кодирования аудиоданных;
  • если аргумент командной строки --console отсутствует, имплант создает службу с именем auxhost, подключается к ней и продолжает выполнение в фоновом режиме;
  • в ходе работы в фоновом режиме создает файл logfile.log для того, чтобы писать туда логи.

Следующим этапом Still Audio получает адрес С2-сервера. Аналогично Sync, URL хранится в переменной окружения, в данном случае это STILL_AUDIO_SYNC_ADDR. Если такая переменная не задана, используется значение STILL_SYNC_ADDR, что показывает совместимость двух модулей. В случае отсутствия обеих переменных применяется URL по умолчанию — https://srwinservice[.]com.

Кроме того, Still Audio использует технику Dead Drop Resolver в качестве резервного механизма получения адреса C2. Если текущий сервер остается недоступным в течение трех дней, инструмент пытается получить актуальный URL сервера управления из репозитория GitHub. В исследованном образце был обнаружен следующий URL страницы, содержащей информацию о C2: hxxps://raw.githubusercontent[.]com/mmarln/pi-mono/refs/heads/main/packages/pods/src/array12.json

Зашифрованный адрес С2 внутри GitHub-репозитория

Зашифрованный адрес С2 внутри GitHub-репозитория

Репозиторий, который является форком популярного проекта, содержит URL сервера, закодированный с помощью Base64 и зашифрованный алгоритмом Blowfish в режиме ECB с использованием ключа 5c8e153228edd3c6cbf75684 (строка в нижнем регистре). Точно такой же алгоритм и ключ используются в старых образцах AquilaRAT.

Получив актуальный адрес C2, модуль Audio запускает процесс регистрации, аналогичный регистрации в Sync, но с использованием другой конечной точки — /still.rpc.Audio/RegisterAudioMachine. Также, в отличие от Sync, помимо информации о системе Audio отправляет список доступных устройств ввода звука.

В ответ сервер возвращает настройки для импланта:

  • machine_id — уникальный идентификатор текущего устройства;
  • vad_threshold — пороговое значение для алгоритма VAD (Voice Activity Detection, обнаружение голосовой активности). Указывается в виде десятичной дроби и представляет собой долю от максимального уровня звука, который способно воспринимать устройство ввода. Голосовой активностью считается уровень звука выше порогового значения. По умолчанию vad_threshold составляет 0,02;
  • max_silence_duration — количество аудиосемплов со значением VAD ниже установленного порога, после которого запись считается завершенной;
  • max_buffer_size — максимальный размер буфера для записываемых аудиоданных;
  • active_device — имя устройства ввода, выбранного для записи из списка доступных устройств.

Процесс прослушки

Still Audio работает с необработанными аудиосемплами, получаемыми непосредственно от устройства ввода. Для обнаружения голосовой активности инструмент реализует алгоритм на основе среднеквадратичного значения (Root Mean Square, далее RMS) — легковесный метод обработки сигнала, позволяющий отличать речь от тишины путем оценки средней мощности аудиосигнала во времени. При этом имплант не использует сторонние библиотеки, а реализует все вычисления самостоятельно.

Рассчитанное значение RMS сравнивается с параметром vad_threshold. Если RMS больше или равно этому порогу, начинается запись аудио. При этом, чтобы избежать потери начальной части записи, Still Audio использует pre-buffer — буфер ограниченного размера, в котором хранятся семплы, предшествующие текущему моменту записи. Сигналом к прекращению записи является последовательность из max_silence_duration (по умолчанию — 320) семплов, для которых значение RMS остается ниже установленного порога. Например, при использовании обычной гарнитуры с частотой дискретизации 44,1 кГц запись будет остановлена примерно после 7 мс тишины.

Также следует отметить, что модуль Audio не пытается скрыть факт использования микрофона и его имя можно увидеть в настройках Windows. Так, исследуемый образец сохранялся на диске с именем файла IntAudio.exe. В примере ниже он отображается в списке приложений, использующих микрофон, как Intel Audio:

Вредоносный модуль в списке приложений, использующих микрофон

Вредоносный модуль в списке приложений, использующих микрофон

Перед отправкой на сервер записанные необработанные аудиосемплы кодируются с помощью библиотеки libmp3lame. Для передачи файлов с записями используется POST-запрос к /tgfrg, а для идентификации устройства в запрос добавляется заголовок Client-Id, содержащий значение machine_id, полученное на этапе регистрации.

Инфраструктура

В рамках текущей кампании используется широкий набор хостинг-провайдеров и доменов, зарегистрированных в разные периоды времени, что указывает на стремление злоумышленников затруднить обнаружение инфраструктуры. Прямых совпадений по доменам и IP-адресам c февральской кампанией выявлено не было. Тем не менее между используемыми инфраструктурами есть некоторые сходства:

  • использование одних и тех же хостинг-провайдеров с ASN: 149440, 202448, 215311;
  • схожие шаблоны именования доменов, имитирующие системные службы Windows и механизмы обновления.
Домен IP-адрес Дата регистрации ASN
orderapiserver[.]info 187.127.153[.]38 18 апреля 2026 года 47583
tg4service[.]com 159.198.37[.]74 4 октября 2025 года 22612
srwinservice[.]com 213.252.244[.]123 19 марта 2026 года 61272
screenserv[.]com 23.26.237[.]250 13 февраля 2026 года 149440
windowserv[.]net 23.27.24[.]30 10 февраля 2026 года 149440
managementapiservice[.]com 188.212.124[.]178 1 мая 2026 года 202448
service8date[.]com 145.223.69[.]143 13 января 2026 года 215311
updateservs[.]com 145.223.68[.]66 23 декабря 2025 года 215311

Жертвы

В рамках данной кампании мы установили, что основными целями злоумышленников являются пользователи из России. Большинство из них — частные лица, однако среди пострадавших также присутствует корпоративный сектор, государственные организации, ИТ-компании и образовательные учреждения.

Атрибуция

В рамках текущей кампании использовались как новые инструменты, так и семейства вредоносного ПО, описанные в февральском отчете BI.ZONE.

Несмотря на то что некоторые компоненты были обнаружены впервые, они демонстрируют значительные совпадения на уровне кода с вредоносными инструментами, которые ранее встречались в кампаниях Armored Likho. На основании этих совпадений, а также дополнительных технических артефактов мы с высокой степенью уверенности считаем, что за этой кампанией стоит группировка Armored Likho. Среди выявленных совпадений:

  • идентичная архитектура дропперов в февральской и текущей кампаниях, включая применение библиотеки Tauri для создания графического интерфейса, схожий обработчик пользовательского ввода, полезную нагрузку с заголовком ICRYPTMP и одинаковый формат многоключевого шифрования;
  • совпадение алгоритма и ключа шифрования, использовавшихся в AquilaRAT из предыдущей кампании и в модуле Still Audio текущей кампании для реализации техники Dead Drop Resolver;
  • одинаковая логика формирования значения sysmarker в старых образцах AquilaRAT и в инструментарии Still из текущей кампании. Алгоритмы совпадают вплоть до PowerShell-команд, используемых для сбора системной информации;
  • существенное сходство инфраструктуры, включая используемые хостинг-провайдеры и шаблоны доменных имен, описанные в разделе «Инфраструктура».

Заключение

Описанная в этой статье кампания свидетельствует о развитии инструментария Armored Likho и постепенном расширении возможностей группировки в области кибершпионажа. Помимо уже известных компонентов злоумышленники внедрили новые модули, позволяющие не только получать доступ к данным Telegram, но и осуществлять аудиослежку за жертвами. В совокупности эти возможности значительно расширяют объем информации, которую атакующие способны собирать в ходе одной компрометации.

Особого внимания заслуживает тот факт, что новые инструменты представляют собой единый набор, используют схожую архитектуру, механизмы взаимодействия с C2 и общие элементы реализации. Это свидетельствует о развитии собственной экосистемы инструментов, рассчитанной на длительное использование и дальнейшее расширение функциональности.

Появление новых специализированных модулей указывает на стремление атакующих не только сохранить существующие возможности, но и повысить эффективность сбора разведывательной информации за счет контроля сразу нескольких каналов коммуникации.

Индикаторы компрометации

Дополнительная информация об этой угрозе, включая индикаторы компрометации, доступна клиентам сервиса аналитических отчетов Kaspersky Threat Intelligence Reporting. Для получения более подробной информации свяжитесь с нами по адресу intelreports@kaspersky.com.

Хэш-суммы файлов

Дропперы

C1D1EE16B92E6A138FFA048855F75D7D
17674B250D8B422A50A86C9FF207186D
62801F6223E860A7CCA271522E303B2D

Still Sync

68F0365D2FA8C828D012D8859E52A773
4BD7C352AE277B0E38D07BEEDD4DD507
D4BC09FB10EA2A5DC0BCBEEDA5E5AFDD

Still Audio

2CA8ADBAB98EBE305EACF272CF48F5A0
3AC41B097236A7723821848AE31EF141
439255736797BC88BD19F282449E0436

Домены

orderapiserver[.]info
tg4service[.]com
srwinservice[.]com
screenserv[.]com
windowserv[.]net
managementapiservice[.]com
service8date[.]com
updateservs[.]com

Благотворительность как приманка: Armored Likho расширяет арсенал инструментов для кибершпионажа

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Отчеты

Благотворительность как приманка: Armored Likho расширяет арсенал инструментов для кибершпионажа

Эксперты «Лаборатории Касперского» разбирают новую кампанию Armored Likho, маскирующуюся под благотворительность и доставляющую новый Still Toolkit, нацеленный на кражу данных из Telegram и прослушку.

ToddyCat — ваш скрытый почтовый ассистент. Часть 2

Разбираем Umbrij — новый инструмент APT-группы ToddyCat для компрометации корпоративной переписки в сервисе Gmail. Целью атак стал токен авторизации OAuth, при помощи которого злоумышленники получали доступ к сервисам Google.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике