Cereal атакует Exchange-серверы и почти не оставляет файлов

Cereal атакует Exchange-серверы и почти не оставляет файлов

Ранее не описанный набор инструментов Cereal применялся против государственных организаций. Все его компоненты рассчитаны на работу внутри уже скомпрометированного Microsoft Exchange Server. Большая часть модулей выполняется в памяти легитимных процессов Windows и Exchange, поэтому на диске почти не остаётся отдельных исполняемых файлов. Для защитников это означает, что привычная проверка файловой системы мало что даёт.

Описание

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

Ключевой компонент CerealNeuron работает как пассивный бэкдор. Он не подключается к внешнему серверу управления, а ждёт входящие запросы на заранее заданные префиксы адресов Exchange. В запросе приходит исполняемый модуль CerealRunner, который затем запускается на сервере. Такой подход обходится без отдельной инфраструктуры управления и усложняет сетевое отслеживание: исходящих сигналов почти нет.

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

Внедрение CerealBox в выбранный процесс выполняет CerealIron. Остальные модули набора отвечают за вспомогательные команды и запуск встроенных сборок через общий механизм загрузки. Инструментарий опирается на сериализацию.NET, динамическую загрузку сборок и легитимные механизмы самого Exchange.

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

Сетевые пакеты CerealNeuron зашифрованы: для передачи данных используется AES, а ключ для него упакован с помощью RSA. Содержимое пакетов дополнительно кодируется в base64. Чтобы принять запрос, модуль должен получить его на один из заранее заданных URI-префиксов Exchange. При ошибке формата или расшифровки ответ перенаправляется на настроенный адрес внутри сети жертвы, поэтому внешние системы для работы не требуются. Исследователи перечислили несколько таких префиксов, включая пути для OWA, Autodiscover и ActiveSync, и рекомендуют искать нестандартные обращения к ним в журналах веб-сервера.

CerealBox работает на уровне транспорта Exchange: он встраивается в конвейер обработки сообщений и получает доступ к потоку писем. Модуль фильтрует входящие и исходящие сообщения по заданным правилам и складывает интересные экземпляры на диск. Дальнейший сбор выполняют другие компоненты набора. Из-за работы внутри штатных процессов Exchange и использования его собственных библиотек такой перехват сложно заметить по обычным индикаторам вроде подозрительных дочерних процессов.

ESET не раскрывает полный список организаций и не называет точное время первого использования набора. Часть технических деталей остаётся непубличной, чтобы не помогать операторам. Сколько серверов затронуто и как долго длилась активность, из отчёта не следует. Полный перечень именно затронутых организаций в отчёте отсутствует.

Индикаторы компрометации

Комментарии: 0