APT-магия в зоне российско-украинского конфликта

25 минут
Леонид Безвершенко
Леонид Безвершенко
Исследователь угроз информационной безопасности, «Лаборатория Касперского»
Георгий Кучерин
Георгий Кучерин
Исследователь угроз информационной безопасности, «Лаборатория Касперского»
Для кого:
Исследователи ИБ-угроз, эксперты по социальной инженерии, белые хакеры
Скиллы:
Анализ угроз, исследование APT-атак
  • APT
  • CloudWizard
  • Prikormka
  • Bugdrop
  • PowerMagic
  • CommonMagic

В октябре 2022 г. наша команда Глобального центра исследований и анализа угроз (GReAT) подразделения Threat Research анализировала атаки на транспортные, правительственные и сельскохозяйственные организации в Донецке, Луганске и Крыму. В процессе мы обнаружили несколько неприметных, но, как оказалось в дальнейшем, крайне интересных вредоносных компонентов.

В этой статье мы — исследователи ИБ-угроз GReAT Леонид Безвершенко и Георгий Кучерин — расскажем об исследовании, которое объединило несколько APT-кампаний в зоне российско-украинского конфликта, а также в западной и центральной частях Украины и вылилось в целую «магическую» историю.
 

Глава 1. Обыкновенная магия

В октябре 2022 г. мы обнаружили несколько активных заражений вредоносными PowerShell-скриптами. Атаки были направлены на уже упомянутые правительственные, сельскохозяйственные и транспортные организации. Нашей задачей было установить полные цепочки заражения.

Согласно данным нашей телеметрии, все жертвы скачали уникальные ZIP-файлы, которые мимикрировали под архивы с законодательными актами и другими документами от госорганов.

Пользователи скачивали их с двух доменов:

  • webservice-srv[.]online;
  • webservice-srv1[.]online.

На тот момент мы не могли однозначно ответить на вопрос, как жертвы попадают на эти домены, но предположили, что в атаках использовался целевой фишинг — рассылки по электронной почте.

Вредоносные ZIP-архивы содержали по два файла. Первый — легитимный PDF без какого-либо «зла». При этом в тексте PDF упоминалось название второго документа из архива. Он представлял собой файл с двойным расширением — LNK. По сути, это классическая история с ярлыком Windows, содержащим вредоносный код.

1.jpg
Рисунок 1. Архив с вредоносными файлами

При открытии LNK-файла срабатывала ссылка на загрузку и установку вредоносного инсталлятора attachment.msi с удаленного хоста (чуть позже мы о нем поговорим). Жертва ничего не замечала, поскольку после установки вредоносного пакета мгновенно открывался настоящий документ.

2.jpg
Рисунок 2. Схема заражения устройства жертвы

Нам удалось найти несколько документов-приманок:

3.jpg
Рисунок 3. Пример документа-приманки

По таймлайну приманок мы смогли примерно понять длительность всей кампании. Первый документ мы обнаружили еще в 2021 г., а основное количество заражений произошло в 2022-м.

4.jpg
Рисунок 4. Таймлайн заражений

Перейдем к техническим деталям цепочки заражения.

Stage 0. Инсталлятор

Внутри attachment.msi находятся три файла:

  • service_pack.dat — зашифрованный следующий стейдж;
  • runservice_pack.vbs — декриптор, который расшифровывает и запускает service_pack.dat;
  • легитимный документ, который отображается жертве, чтобы она ничего не заподозрила.
5.jpg
Рисунок 5. Содержимое attachment.msi

Фактически runservice_pack.vbs — это простой скрипт, который запускает PowerShell. Вся полезная нагрузка закодирована в Base64. Внутри — декриптор на PowerShell, который читает первый файл из архива и расшифровывает при помощи операции XOR.

6.jpg
Рисунок 6. Механизм действия runservice_pack.vbs

Любопытно, что первые три операции в данном случае абсолютно бесполезны (см. выделенный фрагмент на рис. 6), поскольку исходный массив не перезаписывается. Срабатывает только последний XOR — с байтом 0xFF.

Stage 1. PowerShell-дроппер

После расшифровки файла service_pack.dat мы увидели, что следующий стейдж — не финальный. Это дроппер, который позволяет закрепиться в системе через менеджер запланированных задач. С его помощью на устройстве жертвы каждый день запускается следующая полезная нагрузка (создается scheduled-таск WindowsActiveXTaskTrigger).

7.jpg
Рисунок 7. Расшифрованный файл service_pack.dat

Stage 2. PowerMagic

Полезная нагрузка следующего этапа — сам вредоносный имплант, который получает команды от оператора. Мы назвали его PowerMagic, поскольку злоумышленники дали такое имя папке, в которую записывается имплант в коде одного из семплов.

Судя по образцам PowerMagic, которые мы видели, в качестве командного сервера использовались OneDrive или Dropbox. Зловред получал команды из облачной папки и загружал в нее все результаты — по пути, который содержит идентификатор жертвы и временную метку: 

/$AppDir/$ClientResultDir/<UUID зараженного компьютера>.<временная метка>

Stage X. CommonMagic

Однако одним PowerShell в настоящей целевой атаке не обойтись. У всех жертв, зараженных PowerMagic, мы обнаружили более сложный вредоносный имплант — фреймворк, который мы назвали CommonMagic. Он состоит из нескольких модулей — EXE-файлов, работающих в отдельном процессе. Эти процессы взаимодействуют между собой при помощи пайпов (именованных каналов). Кроме того, мы обнаружили модули для снятия скриншотов с экрана жертвы, кражи файлов с USB-носителей и др.

8.jpg
Рисунок 8. Фреймворк CommonMagic

Скачанную у жертв информацию шифровал отдельный модуль. Данные передавались в него через пайп, шифрование осуществлялось с помощью RC5 (реализация из библиотеки RC5Simple). После этого информация отправлялась по пайпу в модуль для эксфильтрации, который загружал ее в облачное хранилище OneDrive.

Картина прояснялась, но по итогам анализа PowerMagic и CommonMagic оставалось непонятно, какая именно группировка стоит за этими атаками. В марте 2023 г. мы опубликовали наше исследование в блоге на Securelist и в Twitter.

9.jpg
Рисунок 9. Пост об исследовании в Twitter

Как оказалось, PowerMagic и CommonMagic анализировали не только мы. Пост в Twitter прокомментировал ресечер Хоссейн Джази (Hossein Jazi). До недавнего времени он работал в Malwarebytes: команда Джази проводила расследование той же вредоносной кампании, однако отчет им опубликовать не удалось. По словам самого ресечера, причина была в «чувствительной атрибуции».

10.jpg
Рисунок 10. Комментарий исследователя

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

В мае 2023-го Malwarebytes все же решилась опубликовать свое исследование несмотря на «чувствительность атрибуции». В отчете мы обнаружили много интересного: к примеру, коллеги нашли установщик PowerMagic 2020 г. (MSI-файл), а также дополнительные приманки из 2021-го.

11.jpg
Рисунок 11. Установщик PowerMagic образца 2020 г.

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

12.jpg
Рисунок 12. Документы-приманки 2021 г.

Malwarebytes удалось понять, что происходит между заражением PowerMagic и последующей установкой CommonMagic. На устройствах жертв использовалась утилита Ngrok, предназначенная для проброса портов. Далее с ее помощью злоумышленники собирали информацию о жертве и устанавливали CommonMagic.

13.jpg
Рисунок 13. Утилита Ngrok

Эксперты Malwarebytes также нашли установщик CommonMagic. Он написан на PowerShell и раскладывает вредоносные модули по определенным папкам. В своем отчете мы указывали эти же директории.

14.jpg
Рисунок 14. PowerShell-установщик CommonMagic
15.jpg
Рисунок 15. Директории, в которые установщик раскладывает вредоносные модули

Интересно, что команде Malwarebytes удалось продолжительное время следить за облаком OneDrive, в которое отправлялись данные жертв. Эксперты установили, что в нем создавались папки с именами на украинском языке.

16.jpg
Рисунок 16. История команд OneDrive

Также команде Malwarebytes удалось ознакомиться с файлами, которые злоумышленники скачали у жертв.

17.jpg
Рисунок 17. Скачанные у жертв файлы

И самое главное — в облачном хранилище были скриншоты с компьютера разработчика CommonMagic, сделанные во время тестирования вредоносного модуля. В результате экспертам удалось проследить за процессом разработки и отладки вредоноса.

18.jpg
Рисунок 18. Скриншот с компьютера разработчика CommonMagic
19.jpg
Рисунок 19. Разработка и отладка CommonMagic

Казалось бы, Malwarebytes получили возможность следить за самими злоумышленниками. Это должно было пролить свет на группировку, которая стоит за атаками. Однако сделать это экспертам не удалось — атрибуция оказалась непростой задачей.

«In this case, attributing the attack to a specific country is not an easy task», — Malwarebytes.

Глава 2. Облачный чародей

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

В данных телеметрии мы обнаружили подозрительную службу, которой управляла DLL’ка, расположенная в не менее подозрительной директории C:\ProgramData\Apparition Storage\syncobjsup.dll. Мы начали анализировать DLL и поняли, что при помощи алгоритма RC5 она расшифровывает файл mods.lrc, лежащий в той же папке. Однако при попытке расшифровать этот файл по RC5 мы получили лишь случайные байты. Тогда мы решили подробнее рассмотреть реализацию алгоритма расшифровки и увидели в декомпиляторе следующую процедуру (см. рис. 20).

20.jpg
Рисунок 20. Процедура, обнаруженная в алгоритме расшифровки

Во внутреннем цикле указана неправильная переменная — i вместо j. Выходит, злоумышленники допустили ошибку в коде. Если поменять i на j, мы получим корректную реализацию алгоритма RC5.

21.jpg
Рисунок 21. Ошибка в реализации алгоритма

Мы начали искать в открытых источниках аналогичную неправильную реализацию RC5 и, как ни странно, вышли на GitHub, а точнее, на Gist. Один из разработчиков опубликовал ее на языке C, а пользователи даже указали в комментариях на ошибку в цикле.

22.jpg
Рисунок 22. Обсуждение на Gist

Любопытно, что в интересующей нас кампании злоумышленники использовали тот же ключ шифрования, который был в коде на Gist (он полностью позаимствован оттуда). Однако версию о том, что разработчик и является злоумышленником, мы отмели сразу. Его пример кода с ошибкой — одна из первых ссылок, которые поисковик выдает по запросу «RC5 C Implementation github».

VFS

Итак, теперь мы умеем расшифровывать mods.lrc, зашифрованный модифицированным RC5. Оказалось, что этот файл — полноценная виртуальная файловая система (VFS), содержащая несколько записей: json-конфигурацию и три DLL’ки. Злоумышленники назвали их Main, Crypton и Internet. 

Служба syncobjsup.dll расшифровывает VFS и передает управление в основной модуль — Main (далее будем называть его оркестратором).

23.jpg
Рисунок 23. Расшифровка VFS

Структура VFS подразумевает наличие перед каждой записью магических байтов СiСi. Дальше идет хеш имени модуля (используется ROR6), размер модуля и сам бинарный файл или конфиг — в зависимости от того, о какой записи идет речь.

Оркестратор

Перейдем непосредственно к оркестратору, потому что он начинает исполняться после отработки syncobjsup.dll. В нем также используется ROR6-хеш, но чтобы вызывать API-функции не по имени, а по значению хеша от имени. Цель — усложнить анализ бинарного файла. Дальше происходит инжект в легитимный процесс WMI Provider Host — WmiPrvSE.exe. Следом запускаются модули Crypton и Internet, которые хранятся в VFS.

Оркестратор может загружать и запускать дополнительные модули. К примеру, подгружать .exe, .dll и произвольные шеллкоды, получая их от командного сервера. Кроме того, оркестратор регулярно шлет heartbeats — данные в формате JSON, в которых есть информация о зараженном компьютере и состоянии импланта (какие модули и каких версий уже подгружены). 

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

24.jpg
Рисунок 24. Команды управления модулями

В начале каждой команды находятся магические байты: DE AD BE EF. Далее идет порядковый номер команды, ее размер, команда или конфигурация для модуля (если злоумышленник подгружает новый модуль или меняет конфигурацию — тоже в JSON) и непосредственно бинарный файл (если нужно залить новый модуль).

Модуль шифрования

Crypton — внутреннее название модуля шифрования. В нем используется комбинация из двух алгоритмов: AES и RSA. В принципе, это стандартная схема для продвинутых вредоносов. Если нужно отправить какие-либо данные на сервер, модуль шифрует их временным ключом AES, а затем шифрует сам временный ключ при помощи RSA.

25.jpg
Рисунок 25. Модуль Crypton

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

Модуль обмена данными

Все шифрованные данные обрабатывает модуль Internet. Он взаимодействует с облачными сервисами OneDrive, Dropbox и Google Drive. По умолчанию — OneDrive, но если ресурс недоступен, модуль переключается на Dropbox и Google Drive.

Модуль заходит на сервер с OAuth при помощи Access- и Refresh-токенов и выгружает данные в определенную папку. Из другой папки он берет команды. После этого файлы команд удаляются из облака.

26.jpg
Рисунок 26. Схема работы модуля обмена данными

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

27.jpg
Рисунок 27. Схема работы модуля Internet при потере доступа к облачным сервисам

Модули сбора информации

Также в CloudWizard есть целый пакет модулей для сбора информации. Отметим, что наборы модулей, которые приходят конкретным жертвам, подбираются индивидуально и могут отличаться друг от друга. 

К примеру, один из модулей осуществляет запись звука через микрофон компьютера. Он работает по стандартной схеме — через Windows API, конвертируя запись в MP3. Но не обошлось и без капельки магии. Когда человек пользуется микрофоном на Windows 10 или 11, в панели задач появляется соответствующая иконка.

28.jpg
Рисунок 28. Иконка активности микрофона в Windows

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

29.jpg
Рисунок 29. Модуль CloudWizard отключает отображение иконки микрофона

Другой интересный модуль CloudWizard крадет письма из веб-клиента Gmail. Причем он делает это довольно необычно: смотрит, какие браузеры установлены у пользователя, берет из них базы данных и ищет куки от Gmail. С их помощью модуль заходит на legacy-версию веб-клиента Gmail.

30.jpg
Рисунок 30. Модуль CloudWizard использует legacy-версию веб-клиента Gmail

Злоумышленники используют для атаки именно legacy-версию, потому что ее HTML-код проще парсить. Когда пользователь впервые в нее заходит, Gmail спрашивает: «Не хотите ли воспользоваться чем-то поновее?». Если это сообщение приходит модулю в ответ на один из запросов, он эмулирует нажатие кнопки «Хочу использовать legacy-версию». Для этого модуль парсит исходный код сообщения, извлекает из него ссылку, которая соответствует кнопке, и делает POST-запрос.

31.jpg
Рисунок. 31. Модуль CloudWizard эмулирует нажатие кнопки

После получения доступа к legacy-версии Gmail модуль выкачивает все сообщения с аттачами, контакты и историю активности пользователя с IP-адресами. Любопытно, что код этого модуля был частично позаимствован из попавшего в публичный доступ исходного кода Hacking Team. 
Помимо уже упомянутых инструментов, в CloudWizard также есть модули:

  • для снятия скриншотов;
  • кейлоггинга;
  • копирования файлов с устройства;
  • сбора информации об ОС;
  • листинга директорий;
  • поиска сетевых шар;
  • сбора паролей.

Как все устанавливается

Для формирования полной цепочки не хватало одного звена: мы не понимали, как злоумышленники устанавливают CloudWizard жертвам. Тогда мы обратились к историческим данным. В поисках семплов других версий CloudWizard мы нашли NSIS-инсталлятор 2020 г., который работает следующим образом:

  • кидает файлы на диск;
  • для персистента создает службу с именем WinSubSvc;
  • отображает сообщение «Well done!».

При этом других окон не появляется: никаких тебе «Добро пожаловать в инсталлятор!» или «Нажмите далее, чтобы продолжить». Мы предположили, что этот инсталлятор используется при заражении устройств, к которым у злоумышленников есть физический доступ. Человек подходит к компьютеру, вставляет флешку, запускает инсталлятор и видит сообщение «Well done!». Также возможно, что приложение мимикрирует под программу для настройки, ведь в заголовке окна с этим сообщением указано «Network settings».

Версия CloudWizard, которую устанавливал инсталлятор, отличалась от той, о которой мы рассказывали ранее, — как минимум номером. В бинарном файле вредоносов зашиты пути к исходному коду на компьютере разработчика. В старом была версия 4 (D:\Project\Work_2020\Soft_Version_4\Service), а в новом — версия 5 (D:\Project\Work_2020\Soft_Version_5\Service).

Были отличия и в архитектуре. В старой версии шифрование и передача данных реализованы в основном модуле, в новой — поделены между Crypton и Internet. Также в пятой версии используется более криптостойкое шифрование — комбинация AES и RSA. В четвертой применяется реализация RC5 из библиотеки RC5Simple.

Глава 3. Корм для рыб

Пора начинать обещанный экскурс в историю — перенесемся на семь лет назад. В 2016 г. ESET опубликовала исследование о новой APT-группировке, которая занималась кибершпионажем на Украине. Ее цели находились на тех же территориях, где встречался CommonMagic.

32.jpg
Рисунок 32. Исследование ESET

Кампанию назвали Operation Groundbait, или Prikormka (поэтому и «Корм для рыб»). ESET писали: «This threat is the first publicly known Ukrainian malware that is being used in targeted attacks»

В исследовании было указано следующее:

  • кампания активна с 2008 г. (тогда были обнаружены первые семплы);
  • жертвы находятся на Украине и в зоне российско-украинского конфликта;
  • приманки в целом напоминают документы, которые мы показывали выше (см. рис. 3 и рис. 12). Это тоже были законодательные акты и т. п.
33.jpg
Рисунок 33. Приманки, которые использовались в Prikormka

Наконец, ответим на важный вопрос: почему Prikormka? Дело в том, что в одну из приманок злоумышленники поместили таблицу со списком прикормок для рыб. Жертва думала, что они содержат натуральный бетаин, но это был многомодульный фреймворк, который проводит операции кибершпионажа :)

34.jpg
Рисунок 34. Таблица с прикормками в документе-приманке

Архитектура

У Prikormka интересная модульная архитектура. Есть персистентный модуль, который запускает загрузчик или оркестратор. Последний, в свою очередь, загружает с сервера модули, которые начинают работать на устройстве жертвы и собирать данные. Далее оркестратор отправляет информацию злоумышленникам.

35.jpg
Рисунок 35. Персистентный модуль Operation Groundbait


 

36.jpg
Рисунок 36. Модули Operation Groundbait

BugDrop

Переходим к следующей APT-кампании из прошлого — BugDrop. Команда CyberX обнаружила ее в 2017 г. Исследования уже нет на сайте компании, но его можно посмотреть через web archive.

37.jpg
Рисунок 37. Operation BugDrop

Эксперты отмечали, что между BugDrop и Prikormka есть связь. Среди схожих черт можно отметить:

  • виктимологию; 
  • использование модульного фреймворка, включающего инструменты для прослушивания микрофона, записи экрана, кейлоггинга и др.

Отдельно отметим, что именно в BugDrop злоумышленники начали использовать Dropbox вместо командного сервера.

Глава 4. Все переплетено

А теперь сведем все эти истории воедино и сформируем таймлайн — все в лучших традициях фильмов Кристофера Нолана ;)

Первый интересный факт. Эксперты CyberX указали в отчете, что BugDrop похожа на Prikormka по тактикам, техникам и процедурам, но четких доказательств не привели. Мы подробно проанализировали семплы и подтвердили гипотезу о том, что у BugDrop и Prikormka есть общие корни. В качестве примера возьмем PDB-путь модуля для кражи документов (специалисты ESET назвали его DOCS_STEALER).

38.jpg
Рисунок 38. PDB-пути модулей кражи документов

В одной из презентаций 2019 г. ESET — первооткрыватели Prikormka — упоминают, что нашли файл с именем etwdrv.dll (имя в таблице экспортов: LCrPsdNew.dll). Их вердикт — это троян Win64/Prikormka.BF. Файл с таким же названием (и именем в таблице экспортов) создает на диске установщик четвертой версии CloudWizard.

39.jpg
Рисунок 39. CloudWizard v4 — это Prikormka

Другие компоненты четвертой версии CloudWizard, согласно данным мультисканеров, ESET также детектит как Prikormka.

40.jpg
Рисунок 40. ESET детектит CloudWizard v4 как Prikormka

В коде BugDrop и CloudWizard тоже есть сходства. Рассмотрим модуль, который крадет данные с USB-устройств (см. рис. 41). Чтобы понять, с каких флешек данные уже загружены, а с каких еще нет, он получает список идентификаторов устройств, подключенных к компьютеру. В BugDrop и CloudWizard этот процесс реализован одинаково — с помощью IOCTL_STORAGE_QUERY_PROPERTY.

41.jpg
Рисунок 41. Модули для кражи данных с USB-устройств в BugDrop и CloudWizard

Если идентификатор получить не удается, вместо него записывается строка undef (см. рис. 42). В открытом доступе мы не нашли аналогичного кода.

42.jpg
Рисунок 42. Одинаковый код в модулях BugDrop и CloudWizard

Переходим к модулям, которые делают скриншоты. В Prikormka и CloudWizard совпадает список окон, при появлении которых частота съемки увеличивается, — это Skype и Viber. Сходится и интервал между созданием снимков: по умолчанию — 15 минут.

43.jpg
Рисунок 43. Модули для создания скриншотов в Prikormka и CloudWizard

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

44.jpg
Рисунок 44. Модули листинга директорий в Prikormka и CloudWizard

Также мы нашли в Prikormka и CloudWizard практически одинаковые списки расширений, которые используются для фильтрации файлов. Разве что в пятой версии CloudWizard нет TBB — расширения базы почтового клиента The Bat!, который сейчас мало кто использует.

45.jpg
Рисунок 45. Списки расширений для фильтрации файлов в Prikormka и CloudWizard

CloudWizard и Prikormka также объединяют имена файлов, которые отправляются на сервер в формате dd.mm.yy_hh.mm.ss.<ext> и dd.mm.yyyy_hh.mm.ss.ms.dat. При этом командные серверы обеих кампаний размещены на хостингах украинских провайдеров. Сходится и виктимология: жертвы находятся в зоне российско-украинского конфликта, в центральной и западной частях Украины.

При чем здесь CommonMagic

У CommonMagic, о котором мы рассказали в начале статьи, тоже есть сходства с CloudWizard. К примеру, взаимодействие с OneDrive у них реализовано одинаково. Причем это тот самый код со скриншотов из исследования Malwarebytes (см. рис. 16).

46.jpg
Рисунок 46. CommonMagic и CloudWizard одинаково взаимодействуют с OneDrive

Следующий момент — уже упомянутый алгоритм шифрования RC5 из библиотеки RC5Simple. Код не просто взят из библиотеки, в нем есть важное изменение — 7-байтовый заголовок, который содержат все шифротексты. В оригинальной библиотеке это RC5SIMP (см. рис. 47), в CloudWizard четвертой версии — DUREX43 (см. рис. 48), а в CommonMagic — Hwo7X8p (рандомные 7 байт).

47.jpg
Рисунок 47. Заголовок шифротекста в оригинальной RC5Simple
48.jpg
Рисунок 48. Заголовок шифротекста в четвертой версии CloudWizard
49.jpg
Рисунок 49. Заголовок шифротекста в CommonMagic

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

50.jpg
Рисунок 50. ID жертв в CommonMagic и CloudWizard

Также есть схожесть в именах файлов с временной меткой и расширением .dat.

51.jpg
Рисунок 51. Схожие имена файлов в CommonMagic и CloudWizard

Отдельно отметим уже привычную нам виктимологию: зона российско-украинского конфликта, западная и центральная части Украины.

Развязка

О чем все это говорит? О том, что все эти кампании связаны! Со средней (и даже высокой) долей вероятности можно утверждать, что Prikormka, BugDrop, CloudWizard и CloudMagic написаны одним и тем же автором.

52.jpg
Рисунок 52. Связь между кампаниями

В итоге вырисовывается следующая цепочка: 

  • В 2008 г. начали появляться первые семплы Prikormka.
  • Почти через 10 лет ESET выпускает отчет о Prikormka (Operation Groundbait), по следам которого CyberX нашли BugDrop.
  • В 2017 г. появилась четвертая версия CloudWizard. Ее зарефакторили в 2020-м — появилась пятая версия.
  • Далее к арсеналу злоумышленников добавились PowerMagic (инструмент на PowerShell) и фреймворк CommonMagic.

Финальный таймлайн выглядит следующим образом (см. рис. 53).

53.jpg
Рисунок 53. Финальный таймлайн

Получается, злоумышленники работают более 15 лет! Мы начали расследование со скучных PowerShell-скриптов и никак не ожидали, что оно выльется в столь масштабное исследование. На данный момент мы не наблюдаем активности, связанной с этими группировками, однако продолжаем следить за изменениями в ландшафте киберугроз для выявления новых вредоносных кампаний наподобие CommonMagic и CloudWizard. 
 

СТАТЬИ ПО ТЕМЕ

Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!
Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!Подписаться на обновления!