Спустя месяц в копилку расследований экспертного центра безопасности Positive Technologies (PT Expert Security Center) добавилось еще одно, причем о группировке ExCobalt, за которой мы следим с ноября прошлого года. Напомним: тогда наша команда выяснила, что в составе ExCobalt есть участники небезызвестной APT-группы Cobalt (ее профайл можно посмотреть здесь), которые активны как минимум с 2016 года. ExCobalt поменяла сферу интересов и, в отличие от предшественника, специализируется на кибершпионаже и краже данных.
Этой весной группировка вновь стала заметна на киберпреступной арене и занесла в актив любопытную вредоносную программу, ранние версии которой нам уже встречались во время реагирования на инциденты в ряде российских компаний. Мы назвали найденный бэкдор GoRed — такое имя носил его первый образец, обнаруженный нашей командой.
О главных особенностях хакерского инструмента по традиции рассказываем здесь, на Хабре, а за подробностями приглашаем вас в полный отчет.
Ниточка, которая привела нас к GoRed
В ходе расследования одного из инцидентов, который был зафиксирован в марте на одном из Linux-узлов нашего клиента, мы обнаружили файл с названием scrond
, «накрытый» UPX . Образец был написан на языке Go. После распаковки мы нашли пути пакетов, содержащие подстроку red.team/go-red/
. Исходя из этих данных предположили, что имеем дело с неким проприетарным инструментом с кодовым названием GoRed.
При изучении сайта нам не удалось выявить каких-то значимых связей с вредоносной активностью, поэтому подумали, что домен red.team
, найденный в строках GoRed, является локальным репозиторием с утилитами для тестирования на проникновение.
![Внутренние пакеты Внутренние пакеты](https://habrastorage.org/getpro/habr/upload_files/41b/475/2b3/41b4752b33546cbbd40e241caf40ee77.png)
Чуть забегая вперед, скажем, что бэкдор GoRed оснащен множеством функций. Самые интересные из них:
подключение оператора и выполнение команд, как у других С2-фреймворков, наподобие Cobalt Strike, Sliver и т. д.;
получение учетных данных со скомпрометированных систем;
сбор информации со скомпрометированных систем, например данных об активных процессах, имени узла, сетевых интерфейсах, структуре файловых систем;
разведка в сети жертвы;
сериализация, шифрование, архивирование и отправка собранных данных на специальный сервер, предназначенный для их хранения.
Улики, указывающие на связь с ExCobalt
В своем предыдущем отчете об атаках ExCobalt на российские компании мы упоминали домен lib.rpm-bin.link
. При энумерации его каталогов было получено множество инструментов, в том числе первая версия GoRed. Кроме того, уже в рамках другого инцидента, тоже произошедшего этой весной, мы засекли активность зараженных узлов, которые связывались с серверами злоумышленников, а именно get.rpm-bin.link
и leo.rpm-bin.link
. GoRed также использовал static_TransportConfig
, в котором были следующие C2:
leo.rpm-bin.lin
k,sula.rpm-bin.link
,lib.rest
,rosm.pro
.
В мае 2023 года исследователи из BI.ZONE выпустили разбор атак Sneaking Leprechaun. Инструментарий группировки пересекается с найденными в открытых директориях файлами, которые описаны выше.
Вдобавок в мае уже этого года еще одни наши коллеги выпустили исследование о кластере активности Shedding Zmiy, которое тоже связано с группой ExCobalt. В седьмом кейсе их отчета рассматривается та же атака и семпл стилера GoRed c С2 (pkg.collect.net.in
), который они обозначили как Bulldog Backdoor.
За последний год команда PT Expert Security Center обнаружила и расследовала совершенные ExCobalt инциденты в отечественных компаниях в госсекторе, сферах металлургии, телекоммуникаций, горной промышленности и ИТ.
Разбираем GoRed по винтикам
Познакомиться с основными вехами развития бэкдора можно в полном отчете, так как далее мы сосредоточимся на последней версии — 0.1.4. Сначала опишем структуру внутренних пакетов и их назначение — это поможет лучше разобраться в функциональных возможностях вредоносной программы.
![](https://habrastorage.org/getpro/habr/upload_files/2f0/9e1/8f6/2f09e18f6502ad1089d0b8adbcf5b075.png)
Для понимания работы потока управления наша команда нарисовала упрощенную схему.
![](https://habrastorage.org/getpro/habr/upload_files/733/630/599/73363059907d158298d5c086e3042f6e.png)
Этап № 1. Начало выполнения
Поток управления базируется на command line (далее — cli
). Но прежде чем передать управление cli
, будут проинициализированы несколько команд, описанных далее:
команда service,
подкоманда gecko.
![](https://habrastorage.org/getpro/habr/upload_files/a5a/6a0/de2/a5a6a0de24961f4e8a7738eae7ca2c96.png)
Первой будет проинициализирована команда service
, которая осуществляет закрепление в системе. Структура команды GoRed для cli выглядит следующим образом:
![](https://habrastorage.org/getpro/habr/upload_files/774/1ad/fb3/7741adfb354afdcf132fe0f86fe94fa7.png)
С точки зрения идентификации выполняемых команд самые интересные поля этой структуры следующие:
Name
— имя команды.Usage
— описание команды.Action
— функция, которая будет выполнена при вызове команды.Subcommands
— подкоманды для текущей команды.
Далее в переменную app
будет проинициализирована структура самой cli
.
![](https://habrastorage.org/getpro/habr/upload_files/3bd/7f1/d46/3bd7f1d469d21214c52e9b7c4be888a8.png)
Структура app
представлена ниже.
![](https://habrastorage.org/getpro/habr/upload_files/45a/a6c/40c/45aa6c40c2f5d547a1151e81c113194a.png)
Здесь самыми информативными для идентификации команд полями также являются следующие:
Name
— имя текущей команды.Action
— функция, которая будет выполнена.Commands
— подкоманды текущей команды.
Помимо этого, будет инициализировано поле Commands для структуры app
.
![](https://habrastorage.org/getpro/habr/upload_files/3b1/157/fd4/3b1157fd43550356e5070813205265ad.png)
После происходит получение значения поля Logging
из структуры embedded_Config
. Затем поток управления переходит к cli
.
![](https://habrastorage.org/getpro/habr/upload_files/75b/8e5/f20/75b8e5f2076eb84af7bb5a6bdbe6091d.png)
Мы рассмотрели только старт работы бэкдора. Остальные этапы (для тех, кто хочет погрузиться глубже) описываются в расширенном исследовании. Там же можно почерпнуть информацию о конфигурациях GoRed (транспортной и встроенной), его протоколах общения с оператором, фоновых и вызываемых командах.
Эволюция почерка
Наше исследование показывает, что группировка ExCobalt продолжает активно атаковать российские компании. Киберпреступники не стоят на месте и постоянно пополняют арсенал новыми инструментами и техниками, не забывая при этом совершенствовать существующие. Яркий пример этого — бэкдор GoRed, который приобрел новые возможности сбора данных с жертв. Такие признаки говорят о стремлении (и готовности!) ExCobalt выполнять более сложные и эффективные взломы. Злоумышленники также научились быть незаметнее при шпионаже за счет повышения скрытности в атакованных системах и в коммуникациях с управляющими серверами.
Точные удары по компаниям
Проявляя гибкость и адаптивность, группировка действует решительно. Так, атакующие вооружаются патченными утилитами, с помощью которых легко обходят защитные меры. Кроме того, они скрупулезно ищут слабые места в инфраструктуре намеченных жертв и результативно эксплуатируют обнаруженные уязвимости. Этот подход позволяет им проводить все более изощренные нападения.
Больше отчетов PT Expert Security Center, посвященных новым образцам ВПО, активности APT-группировок, техникам и инструментам хакеров, можно найти в блоге.
![](https://habrastorage.org/getpro/habr/upload_files/daa/0e0/3b3/daa0e03b3d7f0bde8f44f06e8240f2b0.jpg)
Владислав Лунин @noobxo
Старший специалист отдела исследования угроз информационной безопасности экспертного центра безопасности Positive Technologies
![](https://habrastorage.org/getpro/habr/upload_files/d59/d9d/aa1/d59d9daa110e186041438599a57d5082.png)
Александр Бадаев
Специалист отдела исследования угроз информационной безопасности экспертного центра безопасности Positive Technologies