Введение
В июле 2021 года была запущена кампания, нацеленная в первую очередь на российские государственные учреждения и промышленные предприятия. Вскоре после запуска мы начали отслеживать эту кампанию и в августе и сентябре 2024 года выпустили три отчета в рамках подписки на исследования угроз об акторе, которого мы назвали Awaken Likho (в исследованиях других вендоров эта угроза также известна как Core Werewolf).
В процессе исследования активности этой APT-группы мы обнаружили новую кампанию, которая началась в июне 2024 года и продолжалась как минимум до августа. Анализ кампании показал, что атакующие существенно изменили ПО в своих атаках. Теперь злоумышленники предпочитают использовать агент для легитимной платформы MeshCentral вместо модуля UltraVNC, при помощи которого атакующие получали удаленный доступ к системе ранее. При этом группу по-прежнему интересуют государственные организации и предприятия, расположенные в России.
Технические детали
В ходе исследования мы обнаружили при помощи наших Yara-правил новый имплант, который не видели прежде в арсенале этой группы злоумышленников. На основании нашей телеметрии мы пришли к выводу, что имплант загружался на устройства жертв с вредоносного URL, который предположительно попадал к пользователям через фишинговые письма. Операторы Awaken Likho обычно используют поисковые движки, чтобы получить как можно больше информации о жертве и подготовить наиболее правдоподобные сообщения. Нам не удалось получить оригинальные фишинговые письма, с помощью которых распространялся этот имплант, однако во вложениях к письмам из предыдущих кампаний содержались самораспаковывающиеся архивы (SFX) и ссылки на вредоносные модули. Кроме того, в прошлых атаках для доставки зловреда использовались Golang-дропперы, чего мы не обнаружили в этой активности, но главное отличие исследуемого импланта заключается в новом методе получения и удержания контроля над зараженной машиной. На протяжении нескольких лет мы отмечали использование модуля UltraVNC для получения удаленного доступа к системе, однако в этой кампании атакующие применили ПО MeshAgent — агент для системы MeshCentral. Согласно официальному сайту MeshCentral, это решение для удаленного управления устройствами с открытым исходным кодом и широкой функциональностью.
Мы обнаружили импланты нового типа в сентябре 2024 года, и, по данным нашей телеметрии, атакующие начали применять это ПО в августе 2024 года. Далее мы подробно проанализируем такой имплант.
MD5 | 603eead3a4dd56a796ea26b1e507a1a3 |
SHA1 | 56d6ef744adbc484b15697b320fd69c5c0264f89 |
SHA256 | 7491991dd42dabb123b46e33850a89bed0a2790f892d16a592e787d3fee8c0d5 |
Дата и время сборки | Mon Dec 31 03:38:51 2012 (не соответствует фактической дате сборки импланта) |
Компилятор | MSVC/C++, Packer: UPX(3.07),[LZMA] |
Размер файла | 1 887 698 bytes |
Тип файла | PE32 executable (GUI) Intel 80386, for MS Windows, UPX compressed, 3 sections |
Распаковка архива
Как и в прошлых кампаниях, имплант упакован при помощи UPX и распространяется в самораспаковывающемся архиве, который создан при помощи 7-Zip, что следует из его метаданных. Для продолжения анализа нам необходимо его распаковать.
Архив содержит пять файлов, четыре из которых замаскированы под легитимные системные службы и командные файлы.
Оставшийся CMD-файл (последний на скриншоте выше) имеет неописательное имя, сгенерированное случайным образом. В предыдущих имплантах, которые мы анализировали, большинство файлов именовались исключительно таким образом, кроме того, часть файлов не содержала полезную нагрузку и добавлялась в архив для усыпления бдительности пользователя. Мы проанализируем все файлы из архива, но сначала откроем его в режиме «#». Это специальный режим 7-Zip для анализа файлов (parser mode), с помощью которого можно получить дополнительную информацию об архиве, в том числе установочный скрипт.
Чтобы определить, как именно имплант закрепляется в системе, извлечем из архива установочный скрипт под названием «2».
Как видно из кода скрипта, SFX-модуль извлекает все компоненты архива во временную директорию и запускает MicrosoftStores.exe без параметров.
AutoIt-скрипт
Следующий шаг этой атаки — выполнение MicrosoftStores.exe. Этот образец также упакован при помощи UPX.
MD5 | deae4a955e1c38aae41bec5e5098f96f |
SHA1 | a45d8d99b6bc53fa392a9dc374c4153a62a11e2a |
SHA256 | f11423a3c0f3f30d718b45f2dcab394cb8bdcd473c47a56544e706b9780f1495 |
Дата и время сборки | Fri Dec 23 13:59:31 2011 (не соответствует времени атаки) |
Компилятор | MSVC/C++, Packer: UPX(3.08),[NRV] |
Размер файла | 584 839 bytes |
Тип файла | PE32 executable (GUI) Intel 80386, for MS Windows, UPX compressed, 3 sections |
Известные имена файла | MicrosoftStores.exe |
Распаковав файл, мы видим, что он содержит скомпилированный AutoIt-скрипт с интерпретатором — об этом говорит блок данных в коде файла, начинающийся на AU3!. Наличие скрипта объясняет, почему после извлечения из архива файл запускался без параметров.
Мы смогли извлечь декомпилированный AutoIt-скрипт, который был обфусцирован.
MD5 | 892c55202ce3beb1c82183c1ad81c7a0 |
SHA1 | 976b5bc7aafc32450f0b59126f50855074805f28 |
SHA256 | f3421e5392e3fce07476b3c34153a7db0f6c8f873bd8887373f7821bd0281dcc |
Интерпретатор | AutoIt |
Размер файла | 624 bytes |
Тип файла | File utility: ASCII text, with CRLF line terminators |
Деобфусцировав его вручную, мы смогли определить назначение скрипта: он запускает файлы NetworkDrivers.exe и nKka9a82kjn8KJHA9.cmd с заданными параметрами для закрепления в системе.
Полезная нагрузка
NetworkDrivers.exe
Теперь изучим первый исполняемый файл, который запускается скриптом, — NetworkDrivers.exe.
MD5 | 63302bc6c9aebe8f0cdafdd2ecc2198a |
SHA1 | f4e2c56e1e5e73aa356a68da0ae986103c9a7bad |
SHA256 | 37895c19d608aba8223e7aa289267faea735c8ee13676780a1a0247ad371b9b8 |
Время сборки | Fri Dec 09 23:13:19 2022 |
Компилятор | MSVC/C++ |
Размер файла | 3 843 579 bytes |
Тип файла | PE32 executable (console) Intel 80386, for MS Windows, 6 sections |
Известные имена файла | NetworkDrivers.exe |
Этот образец детектируется нашими продуктами с вердиктом not-a-virus:HEUR:RemoteAdmin.Win32.MeshAgent.gen. Действительно, это MeshAgent — агент для легитимной платформы MeshCentral, которую атакующие стали использовать вместо UltraVNC.
nKka9a82kjn8KJHA9.cmd
Далее AutoIt-скрипт запускает командный файл nKka9a82kjn8KJHA9.cmd с заданными параметрами.
MD5 | 912ebcf7da25c56e0a2bd0dfb0c9adff |
SHA1 | a76601fc29c523a3039ed9e7a1fc679b963db617 |
SHA256 | c31faf696c44e6b1aeab4624e5330dc748633e2d8a25d624fc66fed384797f69 |
Дата и время создания | 06/08/2024 11:08 AM |
Интерпретатор | cmd.exe |
Размер файла | 1 158 708 bytes |
Тип файла | DOS batch file, ASCII text, with very long lines (1076) |
Известные имена файлов | nKka9a82kjn8KJHA9.cmd |
Важно отметить, что этот скрипт имеет нетипично большой размер: более 1 МБ. Причина проста — он сильно обфусцирован.
Несмотря на значительный объем кода, принцип обфускации довольно прост: злоумышленники используют вставки текста-заполнителя большого размера. Во время выполнения скрипта интерпретатор пропускает бессмысленный текст благодаря использованию меток с оператором GOTO.
Нам удалось легко деобфусцировать этот файл.
Цель этого командного файла — создание задачи планировщика под названием MicrosoftEdgeUpdateTaskMachineMS. Она выполняет скрипт EdgeBrowser.cmd из распакованного архива и удаляет определенные файлы, связанные с вредоносной активностью, например исполняемый файл первого этапа атаки MicrosoftStores.exe. Это позволяет затруднить обнаружение злоумышленников.
EdgeBrowser.cmd
Командный файл предыдущего этапа создает задачу для запуска скрипта EdgeBrowser.cmd.
MD5 | c495321edebe32ce6731f7382e474a0e |
SHA1 | bcd91cad490d0555853f289f084033062fa1ffaa |
SHA256 | 82415a52885b2731214ebd5b33ceef379208478baeb2a09bc985c9ce8c62e003 |
Дата и время создания | 01/08/2024 9:49 AM |
Интерпретатор | cmd.exe |
Размер файла | 402 bytes |
Тип файла | DOS batch file, ASCII text, with CRLF line terminators |
Известные имена файла | EdgeBrowser.cmd |
Этот скрипт запускает файл NetworkDrivers.exe (агент MeshAgent) при помощи PowerShell для взаимодействия с C2.
Таким образом, вышеописанные действия позволяют APT закрепиться в системе: атакующие создают задачу планировщика, запускающую командный файл, который, в свою очередь, запускает MeshAgent для установки соединения с сервером MeshCentral.
NetworkDrivers.msh
В архиве содержится еще один файл под названием NetworkDrivers.msh. Это файл конфигурации MeshAgent, позволяющий настроить агент. Его содержимое мы также нашли в коде исполняемого файла NetworkDrivers.exe.
В этом файле указаны параметры агента для установки соединения с сервером MeshCentral: MeshName, MeshID, ServerID и адрес C2 с соединением по протоколу WebSocket. При открытии этого адреса через HTTPS открывается следующее окно — это форма входа на платформу MeshCentral.
Это подтверждает, что атакующие использовали легитимную систему MeshCentral для взаимодействия с C2-сервером.
Жертвы
Главными жертвами описанной атаки стали государственные учреждения в России, их подрядчики и промышленные предприятия.
Атрибуция
Основываясь на используемых TTP и информации о жертвах, мы относим эту кампанию с высокой степенью уверенности к APT Awaken Likho.
Выводы
Awaken Likho — одна из групп злоумышленников, которые нарастили темпы активности после начала российско-украинского конфликта. В последнее время ее методы существенно поменялись: например, группа начала использовать MeshCentral вместо UltraVNC. APT до сих пор активна: мы видели свежие импланты, датированные августом 2024 года. Стоит отметить, что исследуемый в этой статье имплант не содержит файлов без полезной нагрузки, которые мы наблюдали в предыдущих образцах. Очевидно, что это новая версия зловреда, которая по-прежнему находится в процессе разработки. Полагаем, что увидим новые атаки от операторов Awaken Likho.
Мы убеждены, что группе до сих пор удается атаковать выбранные цели, проникая в их инфраструктуру. Для защиты организаций от подобных атак необходимо комплексное решение, обеспечивающее непрерывную защиту корпоративных ресурсов даже в условиях меняющихся угроз.
Индикаторы компрометации
603eead3a4dd56a796ea26b1e507a1a3
deae4a955e1c38aae41bec5e5098f96f
892c55202ce3beb1c82183c1ad81c7a0
63302bc6c9aebe8f0cdafdd2ecc2198a
912ebcf7da25c56e0a2bd0dfb0c9adff
c495321edebe32ce6731f7382e474a0e
Домен
kwazindernuren[.]com
IP-адрес
38.180.101[.]12
Имя вредоносной задачи
MicrosoftEdgeUpdateTaskMachineMS
Awaken Likho не спит: разбираем новые техники APT-группы