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

Кампания EastWind: новые атаки CloudSorcerer на госорганизации в России

В конце июля 2024 года мы выявили активную серию целевых кибератак на десятки компьютеров российских государственных организаций и IT-компаний. В ходе этих атак злоумышленники заражали устройства при помощи фишинговых писем с вложениями, содержащими вредоносные файлы ярлыков. При нажатии на ярлыки происходила установка вредоносного ПО, которое в дальнейшем получало команды через облачное хранилище Dropbox. С помощью этого ПО злоумышленники загружали на зараженные компьютеры дополнительных троянцев, в частности инструменты, используемые кибергруппировкой APT31, а также обновленный бэкдор CloudSorcerer. Мы назвали эту кампанию EastWind.

Ниже приводим наиболее интересные факты об имплантах, использованных в ходе этой кампании:

  • Троянская программа, загружаемая злоумышленниками из облачного хранилища Dropbox, использовалась группировкой APT31 как минимум с 2021 года. Мы назвали ее GrewApacha.
  • Бэкдор CloudSorcerer, который мы описали в начале июля 2024 года, был обновлен после нашей публикации. Теперь в нем в качестве первоначального командного сервера используются профили в блоге «Живой Журнал» и на сайте вопросов и ответов Quora.
  • В атаках используется ранее неизвестный имплант c функциональностью классического бэкдора, который мы назвали PlugY. Он загружается через бэкдор CloudSorcerer, обладает обширным набором команд и поддерживает три различных протокола общения с командным центром. Кроме того, его код схож с кодом бэкдора DRBControl (также известен как Clambling), который несколько ИБ-компаний приписывают группировке APT27.

Техническая информация

Как мы уже упомянули, атакующие использовали целевой фишинг для первоначального заражения. Злоумышленники отправляли на электронные адреса, принадлежащие затронутым организациям, вредоносные письма с RAR-архивами во вложении. Архивы имели следующие названия:

  • инициативная группа из Черниговского района Приморского края.rar;
  • вх.rar.

Они содержали следующие файлы:

  • Папку .con, в которой хранились:
    • Легитимный документ-приманка 1.docx
    • Легитимный файл desktop.exe
    • Вредоносный файл VERSION.dll
  • Вредоносный ярлык (примеры названий: обращение черниговский район.docx.lnk, вх. от 10_04_24.docx.lnk)

При нажатии на вредоносный ярлык выполнялась следующая шелл-команда:

Она открывает на компьютере документ, содержащийся в архиве, копирует файлы desktop.exe и VERSION.dll в папку C:\Users\Public\Downloads, а затем запускает файл desktop.exe.

Примечательно то, что аналогичный метод заражения применялся в атаке на одну организацию в США с использованием бэкдора CloudSorcerer — об этом сообщила компания Proofpoint в июле 2024 года:

Содержимое вредоносного архива, использованного при атаке на организацию в США

Библиотека VERSION.dll — бэкдор, использующий Dropbox

Злоумышленники используют классическую технику DLL sideloading: при запуске файла desktop.exe в соответствующий ему процесс загружается вредоносная библиотека VERSION.dll:

MD5 1f5c0e926e548de43e0039858de533fc
SHA1 426bbf43f783292743c9965a7631329d77a51b61
SHA256 668f61df2958f30c6a0f1356463e14069b3435fb4e8417a948b6738f5f340dd9
Размер файла 9,82 МБ

Эта библиотека представляет собой бэкдор, упакованный при помощи инструмента VMProtect. При запуске он пытается связаться с облачным сервисом Dropbox при помощи жестко закодированного токена аутентификации. Подключившись к облаку, бэкдор считывает команды, которые необходимо исполнить, из содержащегося в хранилище файла <имя компьютера>/a.psd. Всего бэкдор поддерживает пять команд со следующими именами:

  • DIR
  • EXEC
  • SLEEP
  • UPLOAD
  • DOWNLOAD

Результаты выполнения этих команд загружаются в облачное хранилище в файл <имя компьютера>/b.psd.

GrewApacha, RAT-троянец группировки APT31 из 2021

Злоумышленники использовали вышеописанный бэкдор, чтобы собирать информацию о зараженных компьютерах и устанавливать на них дополнительное вредоносное ПО. В частности, на одном из компьютеров мы наблюдали загрузку следующих файлов в директорию C:\ProgramData\USOShared\Logs\User:

  • msedgeupdate.exe — легитимный исполняемый файл, подписанный корпорацией Microsoft;
  • msedgeupdate.dll — вредоносная библиотека;
  • wd — файл с зашифрованной полезной нагрузкой.

Когда злоумышленники запускали файл msedgeupdate.exe, в его процесс методом DLL sideloading загружалась вредоносная библиотека msedgeupdate.dll:

MD5 f6245f64eaad550fd292cfb1e23f0867
SHA1 fccdc059f92f3e08325208f91d4e6c08ae646a78
SHA256 e2f87428a855ebc0cda614c6b97e5e0d65d9ddcd3708fd869c073943ecdde1c0
Размер файла 9 МБ

Хотя набор из трех файлов напоминает «троицу», характерную для атак с использованием PlugX, анализ этих файлов показал, что они являются RAT-троянцем группировки APT31, который ранее уже описывали в 2021 и 2023 годах. Мы назвали этот троянец GrewApacha.
Поведение загрузчика (msedgeupdate.dll) спустя год после последней публикации о нем не изменилось. Как и раньше, он расшифровывает хранящуюся на диске полезную нагрузку при помощи XOR-ключа 13 18 4F 29 0F и загружает ее в процесс dllhost.exe.

Сам RAT-троянец также мало отличается от того, что был описан в 2023 году. Однако в его работу злоумышленники внесли небольшие изменения: например, в новой версии используется два сервера управления вместо одного. В качестве начального сервера злоумышленники задействуют биографию профиля в сервисе GitHub — в ней содержится закодированная алгоритмом Base64 строка, которую считывает троянец.

Профиль созданного атакующими пользователя на GitHub

Извлеченную из профиля GitHub строку зловред декодирует, а затем расшифровывает однобайтовым алгоритмом XOR с ключом 0x09, тем самым получая адрес основного сервера управления (для скриншота выше — update.studiokaspersky[.]com).

Новая версия бэкдора CloudSorcerer

Мы также выяснили, что помимо запуска описанного выше троянца GrewApacha злоумышленники загружали на зараженные компьютеры бэкдор CloudSorcerer. Чтобы это сделать, они сначала загружали на устройство и запускали утилиту с именем GetKey.exe, упакованную протектором VMProtect.

MD5 bed245d61b4928f6d6533900484cafc5
SHA1 e1cf6334610e0afc01e5de689e33190d0c17ccd4
SHA256 5071022aaa19d243c9d659e78ff149fe0398cf7d9319fd33f718d8e46658e41c
Размер файла 51 КБ

Утилита получает четырехбайтовое число (значение функции GetTickCount() в момент исполнения), шифрует его при помощи функции CryptProtectData, а затем выводит число и его шифротекст. Скриншот кода функции main этой утилиты представлен ниже:

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

  • Переименованное (пример имени: WinDRMs.exe) легитимное приложение dbgsrv.exe, подписанное корпорацией Microsoft.
  • Вредоносная библиотека dbgeng.dll.
  • Файл с расширением .ini, содержащий зашифрованную полезную нагрузку. Имя этого файла различалось на разных инфицированных машинах.

Так же как в случае с GrewApacha, описанным выше, этот набор напоминает «троицу», характерную для атак с использованием PlugX.

В большинстве случаев злоумышленники загружали файлы в одну из поддиректорий каталога C:\ProgramData, например C:\ProgramData\Microsoft\DRM. Далее они при помощи планировщика заданий настраивали автозапуск переименованного приложения dbgsrv.exe при загрузке операционной системы. Для этого они использовали утилиту schtasks (пример команды, которая использовалась для ее вызова: schtasks /create /RL HIGHEST /F /tn \Microsoft\Windows\DRM\DRMserver /tr "C:\ProgramData\Microsoft\DRM\WinDRMs.exe -t run" /sc onstart /RU SYSTEM").

При запуске переименованного приложения в его процесс загружалась вредоносная библиотека dbgeng.dll — опять же, при помощи техники DLL sideloading.

MD5 d0f7745c80baf342cd218cf4f592ea00
SHA1 c0e4dbaffd0b81b5688ae8e58922cdaa97c8de25
SHA256 bd747692ab5db013cd4c4cb8ea9cafa7577c95bf41aa2629a7fea875f6dcbc41
Размер файла 1,11 МБ

Библиотека, в свою очередь, читала упомянутый выше .ini-файл, который содержит:

  • Шифротекст четырехбайтового числа, сгенерированного и зашифрованного утилитой GetKey.exe.
  • PE-файл, сжатый алгоритмом LZNT1 и зашифрованный при помощи XOR с использованием четырехбайтового числа в качестве ключа.

Соответственно, в ходе работы библиотека сначала при помощи функции CryptUnprotectData расшифровывала четырехбайтовое число, использовала его для дешифровки файла .ini, а затем загружала расшифрованный файл в память текущего процесса.

Анализ расшифрованных файлов .ini показал, что они представляют собой обновленные версии бэкдора CloudSorcerer. После того как мы публично описали этот бэкдор в начале июля 2024 года, злоумышленники внесли в него изменения: в новой версии CloudSorcerer в качестве первоначального командного сервера используются страницы профилей в русскоязычной социальной сети «Живой Журнал» и на сайте вопросов и ответов Quora:

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

Имплант PlugY, схожий с инструментами группировки APT27

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

  • Протокол TCP
  • Протокол UDP
  • Named pipes

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

Хотя анализ импланта еще продолжается, можно с высокой степенью уверенности утверждать, что при его разработке использовался код бэкдора DRBControl (также известен как Clambling). Этот бэкдор описали в 2020 году компании Trend Micro и Talent-Jump Technologies. Впоследствии компании Security Joes и Profero связали его с кибергруппировкой APT27. Также прослеживается его сходство с PlugX.

Кроме того, в ходе сравнения образцов импланта PlugY (пример MD5: faf1f7a32e3f7b08017a9150dccf511d) и бэкдора DRBControl (MD5: 67cfecf2d777f3a3ff1a09752f06a7f5) мы установили, что эти два троянца имеют идентичную архитектуру. Помимо этого, многие команды в них реализованы практически одинаково. Это видно из скриншотов ниже:

Код команды, реализующий получение информации о подключенных дисках в бэкдоре DRBControl (слева) и импланте (справа)

Код команды, реализующий получение информации об активном окне в бэкдоре DRBControl (слева) и импланте (справа)

Код команды, реализующий снятие скриншотов экрана в бэкдоре DRBControl (слева) и импланте (справа)

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

В ходе анализа импланта PlugY мы также заметили, что в нем используется примечательная вредоносная библиотека для соединения с сервером управления при помощи протокола UDP. Эту же библиотеку мы обнаружили в бэкдоре DRBControl, а также в нескольких образцах бэкдора PlugX, популярного среди китаеязычных кибергруппировок. Помимо DRBControl и PlugX, данная библиотека ни в каком другом вредоносном ПО замечена не была.

Скриншот библиотеки, осуществляющей связь с сервером управления по протоколу UDP

Советы по обнаружению следов выявленной атаки

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

Чтобы выявить работу бэкдора, распространяемого через электронную почту и использующего Dropbox для взаимодействия со злоумышленниками, можно провести поиск сравнительно больших по размеру (более 5 МБ) DLL-файлов, расположенных внутри директории C:\Users\Public. О работе этого бэкдора может также свидетельствовать регулярное обращение к облаку Dropbox в сетевом трафике.

Троянец GrewApacha группировки APT31 может быть обнаружен поиском неподписанного файла с именем msedgeupdate.dll на файловой системе. Размер этого файла также составляет несколько мегабайт.

Имплант PlugY, доставляемый при помощи бэкдора CloudSorcerer, в ходе своей работы запускает процесс с именем msiexec.exe для каждого вошедшего в систему пользователя, а также создает именованные каналы с шаблоном имени \.\PIPE\Y<число>. Присутствие этих двух индикаторов на системе с высокой степенью уверенности свидетельствует о заражении.

Заключение

В ходе атак на государственные организации Российской Федерации злоумышленники часто используют наборы инструментов, в которых реализуются самые разные техники и тактики. Разрабатывая эти инструменты, они прилагают немало усилий для того, чтобы максимально замаскировать вредоносную активность в сетевом трафике. Так, злоумышленники, стоящие за кампанией EastWind, использовали в качестве командных серверов популярные сетевые сервисы — GitHub, Dropbox, Quora, а также российские «Живой Журнал» и «Яндекс.Диск».

Примечательно, что в кампании EastWind было замечено вредоносное ПО двух различных китаеязычных группировок: APT27 и APT31. Этот пример наглядно показывает, что APT-группировки очень часто работают совместно, активно делясь друг с другом знаниями и инструментами для атак. Чтобы успешно противодействовать подобным коллаборациям, мы тщательно отслеживаем техники и тактики различных APT-группировок.

Кампания EastWind: новые атаки CloudSorcerer на госорганизации в России

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

 

Отчеты

CloudSorcerer: новая APT-угроза, нацеленная на российские государственные организации

«Лаборатория Касперского» обнаружила новую APT-угрозу CloudSorcerer, нацеленную на российские государственные организации и использующую облачные службы в качестве командных серверов аналогично APT CloudWizard.

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

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

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