Введение
Мы продолжаем отслеживать деятельность APT-группы Cloud Atlas. В начале мая 2026 года злоумышленники начали использовать новый бэкдор. Хотя эта группа специализируется на разработке бэкдоров на основе PowerShell и VBS, новый бэкдор написан на Golang. В качестве основного канала связи он использует WebRTC, а для отправки сигналов об установке соединения — облачные сервисы. Мы назвали этот бэкдор CloudAtlasGo.
Цепочка заражения
Первоначальная схема заражения повторяет уже описанную нами ранее цепочку. Заражение происходит через фишинговые электронные письма, содержащие вредоносный документ, который использует уязвимость в редакторе формул (CVE-2018-0802) для загрузки и выполнения вредоносного кода. При открытии документа с удаленного сервера, контролируемого злоумышленниками, загружается вредоносный шаблон в виде RTF-файла. Этот шаблон содержит эксплойт для редактора формул, который загружает и выполняет HTML-файл приложения (HTA). Вредоносный HTA-файл извлекает и записывает на диск несколько файлов, являющихся частью бэкдора VBShower, который затем загружает другой бэкдор, PowerShower.
В большинстве случаев злоумышленники ограничивались бэкдорами VBShower и PowerShower для сетевой разведки, получения учетных данных и кражи файлов и документов. Мы также фиксировали инциденты, в которых на зараженные хосты устанавливались дополнительные собственные разработки группы, такие как VBCloud и PowerCloud. Однако в начале мая 2026 года мы обнаружили новый виток этой кампании: в некоторых случаях бэкдор PowerShower загружал исполняемый файл, написанный на Golang, размером чуть более 10 МБ. Этот зловред мы назвали CloudAtlasGo; он работает через облачные сервисы. Ранее мы уже встречали подобный способ C2-коммуникации у бэкдора группы под названием CloudAtlas, который использовал протокол WebDAV и общедоступные облачные сервисы в качестве C2. Однако за исключением облачных сервисов, эти зловреды не похожи друг на друга.
Коммуникация
CloudAtlasGo — это бэкдор, основанный на проекте GitHub для маскировки сетевого трафика, который был переработан в соответствии с потребностями злоумышленников. Оригинальный проект изначально представлял собой прокси SOCKS5 и использовал технологию WebRTC (Web Real‑Time Communication) для связи клиент-сервер. WebRTC применяется для передачи аудио, видео и данных в реальном времени непосредственно между браузерами или другими клиентами без промежуточного сервера.
Злоумышленники добавили возможности загрузки и скачивания файлов, выполнения произвольных команд в зараженной системе, а также использования облачных сервисов для передачи сообщений SDP (Session Description Protocol) при установке WebRTC. SDP в WebRTC — это текстовый формат, используемый для согласования технических параметров соединения до начала передачи данных.
Для установления соединения WebRTC используется сигнализация SDP, то есть процесс обмена текстовыми описаниями SDP (предложение-отклик, Offer и Answer) между двумя устройствами для согласования и установления соединения WebRTC, поскольку этот стандарт не включает встроенный протокол связи.
Для передачи сигналов SDP используются облачные сервисы, одним из которых является Trello — облачный инструмент управления проектами. Чтобы установить соединение с помощью Trello, бэкдор использует его API для доступа к карточкам отслеживаемого проекта. Одна из карточек в поле описания содержит строку, закодированную в Base64.
Бэкдор декодирует и расшифровывает эту строку по алгоритму AES, а также распаковывает ее с помощью Brotli. Полученный JSON-файл содержит сообщение SDP типа Offer и конфигурацию для ICE-серверов, использующихся для связи WebRTC.
Аналогичным образом при помощи API бэкдор публикует SDP-ответ (Answer) в описании проекта Trello.
Помимо API Trello, бэкдор может устанавливать соединение WebRTC, используя такие протоколы, как WebDAV или SFTP. В этом случае обмен сообщениями SDP осуществляется путем загрузки и скачивания файлов с именами offer.txt и answer.txt. Имена файлов хранятся во встроенном конфигурационном файле бэкдора и могут быть изменены.
CloudAtlasGo
При запуске бэкдор сначала выполняет ряд простых проверок виртуальной среды, выполнения в песочнице и наличия отладчика. В случае обнаружения артефактов среды анализа бэкдор завершает собственный процесс. Если проверки пройдены, CloudAtlasGo расшифровывает встроенный конфигурационный файл в формате YAML, который содержит основные настройки для обмена сообщениями SDP, а также учетные данные для авторизации облачных сервисов.
После расшифровки и анализа конфигурации начинаются основные процедуры обмена сообщениями SDP и установления соединения WebRTC. Бэкдор использует следующие метки для каналов данных.
| Метка канала | Назначение |
| dns | Используется для разрешения доменов через зараженную систему. |
| remote | Используется для передачи команд в зараженную систему, таких как скачивание, выгрузка, запуск файлов и т. д. |
| cmdqueue | То же, что и remote, но команды помещаются в очередь выполнения. |
| rportfwd | Открытие в зараженной системе локального порта с перенаправлением входящего соединения на С2. |
| control | Отправка сообщений keep-alive для поддержания соединения. |
| Все сообщения, не попадающие под описанные выше категории, интерпретируются как запросы на установление соединений между C2 и удаленными системами с использованием зараженной системы в качестве прокси. |
В таблице ниже описаны команды, которые может выполнять бэкдор, полученные по каналу с меткой remote. Передаваемые команды представляют собой строки, где команда и ее аргументы разделены пробелами.
| Команда | Описание |
| upload | Скачивает файл в зараженную систему. |
| download | Выгружает файл с зараженной системы на удаленный сервер. |
| run | Запускает программу в зараженной системе. |
| ls, dir | Выполняет листинг директории. |
| cd | Смена текущей директории. |
| pwd | Получение текущей директории. |
| cat, type | Вывод содержимого файла. |
| head | Аналогично cat, но отображаются только первые 4 КБ. |
| tail | Аналогично cat, но отображаются только последние 4 КБ. |
| touch | Создание пустого файла. |
| mkdir, md | Создание нового каталога. |
| rm, del, erase | Удаление файла. |
| rmdir, rd | Удаление каталога |
| copy, cp | Копирование файла. |
| move, mv, rename, ren | Перемещение или переименование файла. |
| find, search | Поиск файла по заданным критериям. |
| whoami | Информация о текущей учетной записи. |
| hostname | Информация о текущем имени хоста. |
| systeminfo, info | Получение базовой информации о системе (имя хоста, версия ОС, системное время, информация о процессоре и т. д.). |
| env, set | Отображение переменных окружения. |
| echo | Вывод введенной строки. |
| netscan | Информация о сетевых интерфейсах, IP-адресах, масках подсетей. Перебирает IP-адреса в диапазоне обнаруженных подсетей и пробует установить подключение к портам 22, 80, 135, 139, 443, 445, 3389, 5985 для проверки их доступности. Результаты выполнения формируются в отчет и отправляются на С2. |
Заключение
Группа Cloud Atlas продолжает обновлять инструментарий. Новый бэкдор CloudAtlasGo, написанный на Go, использует стандарт WebRTC для коммуникации с командным сервером посредством сообщений SDP. Интересно, что для доставки этого бэкдора злоумышленники используют старую схему заражения с уже известными нам зловредами VBShower и PowerShower. Это говорит о том, что группа стремится повысить эффективность атак, при этом оставляя основные техники неизменными.
Индикаторы компрометации
CloudAtlasGo
26BC6B5A76DFD760D7920BB1C952DB98 WebAccess.exe
3607985A148743AE3D1F60A6D762E95C ttsvr.exe
3FBFD9ECD3C63C24692FEB6A7D6DF246 PhotoAcqsl.exe
77636EA677782DB380E314C5F2DFBB63 wsstr.exe








Новый CloudAtlas от Cloud Atlas: разбираем бэкдор на Go