CyberPeople

Cereal: як угруповання Turla викрадає пошту з урядових Exchange-серверів

Cereal: як Turla краде пошту з урядових Exchange-серверів

ESET виявила Cereal — модульний інструментарій угруповання Turla, що викрадає листи з урядових Exchange-серверів без зовнішнього C&C-сервера.

10 листопада 2026 року дослідники словацької компанії ESET оприлюднили аналіз нового інструментарію кібершпигунства, який вони назвали Cereal. Його використовує угруповання Turla (також відоме як Snake та Secret Blizzard) — один із найстаріших і найвитонченіших акторів державного кібершпигунства, активний щонайменше з 2004 року. За оцінками ESET та західних спецслужб, Turla є частиною Федеральної служби безпеки Росії.

Головна особливість Cereal — у тому, як він працює. Інструментарій призначений для роботи безпосередньо на Microsoft Exchange-серверах скомпрометованих організацій: отримує команди, виконує їх у пам'яті, складає карту інфраструктури жертви та вибірково викрадає електронні листи. При цьому дослідники не виявили жодного зовнішнього сервера керування (C&C) — атакувальники перетворили на контрольну точку сам сервер жертви.

Що таке Cereal і хто за ним стоїть

ESET вперше натрапила на Cereal 28 листопада 2025 року на Exchange-сервері урядової організації в Казахстані. Спочатку це виглядало як набір розрізнених підозрілих компонентів, але відновлення ланцюжка атаки виявило раніше не задокументований інструментарій: колекцію модульних .NET-програм, розроблених для роботи саме на Exchange-серверах.

Через місяць, після налаштування детектів, такий самий інструментарій знайшли в Румунії — на сервері державної установи, скомпрометованої 23 грудня 2025 року. Тут модуль викрадення пошти був налаштований на збір листів, адресованих інституціям НАТО та Європейського Союзу.

Назву «Cereal» обрали не випадково: інструментарій активно використовує серіалізацію — техніку пакування даних і коду для передавання. Тому всі компоненти отримали імена з префіксом Cereal-.

Атрибуція до Turla базується на двох фактах: одночасне використання іншого компонента, публічно пов'язаного з цим угрупованням, і концептуальна схожість зі старішим зловредом Turla. Впевненість ESET — висока.

Email server security

Архітектура: модульний набір .NET-компонентів

Cereal — це не один монолітний бекдор, а ланцюжок спеціалізованих компонентів, побудованих навколо кількох принципів: тримати корисне навантаження зашифрованим, виконувати код у пам'яті, перевикористовувати скомпрометований сервер і доставляти команди у вигляді окремих .NET-збірок.

Основні компоненти інструментарію:

  • CerealLoader — завантажує та запускає .NET-збірку із зашифрованого файлу на диску. Це єдиний компонент, записаний на диск у розпізнаваному .NET-вигляді; решта доставляється в зашифрованих контейнерах і виконується з пам'яті.
  • CerealRunner — містить інші зашифровані програми, розпаковує та запускає їх у пам'яті, повертаючи результат тим самим каналом. Фактично це «конверт» для доставки команд.
  • CerealSprinter — аналог Runner, який лише завантажує інші компоненти.
  • CerealNeuron — пасивний бекдор без вбудованих команд, здатний виконувати збірки з CerealRunner, отримані через мережеві запити. Названий на честь старішого зловреда Neuron, який британський NCSC приписав Turla ще у 2017 році.
  • CerealHermit — варіант Neuron без мережевих функцій: читає зашифровані команди з файлів на диску.
  • CerealIron — інжектор, що дозволяє запускати .NET-збірки з процесів, які не є .NET.
  • CerealBox — модуль збору пошти, що впроваджується в транспортну службу Exchange.
  • CerealMoth — простий компонент, який приймає збірку й ім'я методу, завантажує та виконує її.

Жертва як інфраструктура: C&C без зовнішніх серверів

Найпомітніше у кампанії — те, чого ESET не знайшла: зовнішнього сервера керування. Більшість бекдорів періодично звертаються до операторів, залишаючи сліди — домени, IP-адреси, хостинг-провайдери, патерни синхронізації. CerealNeuron не робить нічого подібного.

Замість вихідних з'єднань він пасивно чекає на вхідні запити на шляхах, які імітують звичайний трафік Exchange:

  • https://*:443/owa/sdds/
  • https://*:443/AUTODISCOVER/PROXYSERVICE/
  • https://*:443/MICROSOFT-SERVER-ACTIVESYNC/INTEGRATED/API/

Для файрвола чи аналітика ці запити зливаються з легітимним трафіком Outlook Web Access, Autodiscover і ActiveSync. Якщо запит коректно зашифрований і проходить кілька перевірок цілісності, CerealNeuron розшифровує його, сприймає вміст як команду та виконує. Якщо запит некоректний — клієнта перенаправляють на правдоподібну сторінку помилки Exchange.

Наслідки суттєві:

  • Немає жодної зовнішньої інфраструктури, яку можна виявити, заблокувати чи «знести».
  • Мережеве відстеження вкрай обмежене: дослідники не змогли встановити IP-адреси операторів — ті могли підключатися напряму, через сервіси анонімізації або з інших скомпрометованих хостів.
  • Шкідливий трафік співіснує з легітимними вебсервісами Exchange — саме той трафік, який захисники найменш схильні блокувати.

Резервним каналом слугує CerealHermit — версія без мережі, що читає зашифровані файли команд з диска. У частині вторгнень обидва бекдори розгорталися разом, даючи операторам два незалежні способи керування.

Команди як одноразові програми

Замість одного великого бекдора з усіма можливими командами оператори Turla доставляють кожну команду як окрему маленьку .NET-програму. Ядро виконання — CerealRunner: він несе всередині зашифровані .NET-програми разом з аргументами, розпаковує їх, виконує в пам'яті та повертає результат назад.

ESET виявила десятки схожих за структурою CerealRunner-бінарів, які відрізняються лише невеликим фрагментом коду конкретного завдання. Серед команд:

  • витяг поштових скриньок або окремих листів через Exchange Web Services;
  • запити до Active Directory щодо комп'ютерів, користувачів, груп і DNS-записів;
  • WMI-запити — наприклад, перелік процесів або активних TCP-з'єднань;
  • витяг секретів LSA (облікових даних, які Windows зберігає локально);
  • перелік тіньових копій томів (volume snapshots);
  • перелік, читання та видалення файлів — часто саме вивантажених дампів пошти від CerealBox.

Сама кількість майже ідентичних бінарів, скомпільованих під конкретне завдання, вказує на існування внутрішнього фреймворку, що автоматизує компіляцію та пакування команд. У поєднанні з модульною архітектурою це створює враження зрілої, добре спроєктованої платформи, а не хаотичного набору скриптів.

Mail server

CerealBox: перехоплення пошти зсередини Exchange

Найноваторніший компонент — CerealBox, модуль збору пошти. Turla й раніше атакувала Exchange, зокрема через зловживання transport agents — легітимною функцією Exchange, яка дозволяє розробникам вбудовуватися в потік пошти (наприклад, для фільтрації спаму). Але зареєстрований transport agent лишає видимі сліди в конфігурації Exchange.

CerealBox діє хитріше. Замість реєстрації він впроваджується безпосередньо в процес EdgeTransport.exe — процес Exchange, що обробляє потік пошти. Потрапивши всередину, CerealBox звертається до внутрішніх структур Exchange, знаходить уже завантажені transport agents і обгортає їхні обробники шкідливим кодом. Обгортка спочатку виконує власну логіку CerealBox, потім передає керування оригінальному коду. Пошта продовжує йти як звичайно, а новий агент у конфігурації Exchange не з'являється.

Маючи видимість потоку пошти, CerealBox відбирає цікаві листи. Повідомлення підлягає збору, якщо має вкладення .doc, .docx або .pdf і збігається хоча б з одним із закодованих списків — адреси відправників, адреси отримувачів, підрядки в темі чи імена вкладень — і при цьому не потрапляє у списки ігнорування. Відібрані листи стискаються, шифруються та складаються у файли на диску, які оператори пізніше вивантажують звичайними командами CerealNeuron.

Впровадження в транспортну службу Exchange і перехоплення потоку пошти зсередини — техніка, раніше не задокументована для жодного сімейства зловредів. Вона вимагає глибокого розуміння внутрішньої будови поштового конвеєра Exchange.

.NET-хитрощі: як шкідливий код ховається від аналітиків

Зазвичай .NET-програми виконуються через середовище Common Language Runtime (CLR), яке перетворює інструкції на машинний код безпосередньо перед запуском — цей процес видно стандартним інструментам аналізу. Cereal систематично працює поза цими стандартними шляхами.

CerealLoader — єдиний компонент, записаний на диск у незашифрованому вигляді. У .NET-декомпіляторі його точка входу практично нічого не робить, а точка зупину на шкідливому методі не спрацьовує. Насправді CerealLoader виконує низькорівневий машинний код до того, як .NET-рантайм починає виконувати звичайні інструкції: він зловживає рідкісною особливістю специфікації .NET — Vtable Fixups — щоб побудувати прихований міст із нативного коду назад у .NET-метод, який, здається, ніхто не викликає. Аналітик, що дивиться лише на .NET-бік, бачить код, який «нічого не робить», — а корисне навантаження на той момент уже виконане.

Інші прийоми включають DLL-hijacking — зокрема, шкідливий файл wbemcomn.dll у папці WMI, який переадресовує легітимні виклики, щоб хост продовжував працювати, — а також розміщення файлів у .NET native image cache під іменами на кшталт Microsoft.Exchange.Search.Mdb.ni.dll, щоб рантайм завантажував їх замість справжніх бібліотек Exchange.

Як Turla спочатку проникала в мережі жертв, ESET не повідомляє. Однак для Turla відомі методи початкового доступу — spear-phishing, watering hole та атаки «людина посередині» на рівні провайдера.

Хто під прицілом і чому це стосується України

Географія підтверджених жертв збігається з давнім профілем таргетування Turla. За телеметрією ESET, близько 70% країн, які Turla атакувала з 2022 року, — це колишні радянські республіки або європейські держави, що колись були тісно пов'язані з СРСР.

Румунський кейс показовий: CerealBox налаштували на збір листів, пов'язаних з адресами НАТО та ЄС. Такий фокус відповідає давнім розвідувальним пріоритетам Росії. Це може бути пов'язано і з регіональною напруженістю: з початку 2025 року Румунія фіксувала російські дрони, що падали поблизу або на її території, що спонукало до закликів щодо місії НАТО в Чорноморському регіоні. Казахстанський кейс також має політичний контекст: із січня 2026 року Казахстан почав депортувати частину російських вигнанців і критиків режиму.

Для України ця історія — прямий сигнал. Turla десятиліттями працює проти урядових і дипломатичних цілей на пострадянському просторі та в Європі, і техніка «зробити сервер жертви власною інфраструктурою» ускладнює виявлення атак. Держустанови та компанії, що користуються локальним або гібридним Exchange, мають сприймати цю загрозу як актуальну саме для себе.

Mail security

Як виявити Cereal і захистити Exchange-сервер

Прямих ознак компрометації Cereal мало — він навмисно лишає мінімум слідів. Однак є практичні кроки, які підвищують шанси на виявлення та ускладнюють атаку:

  1. Оновлюйте Exchange і Windows. Більшість атак на Exchange починаються з відомих вразливостей. Своєчасне встановлення накопичувальних оновлень (CU) і безпекових патчів Microsoft закриває найпростіші шляхи входу.
  2. Моніторте аномалії в EdgeTransport.exe. Впровадження в процес транспорту пошти можна помітити через EDR/засоби моніторингу пам'яті та поведінки процесів — звертайте увагу на завантаження підозрілих DLL і незвичні збірки, що виконуються не зі стандартних шляхів.
  3. Перевіряйте наявність transport agents і змін у конфігурації. Хоча CerealBox не реєструє нових агентів, інші компоненти можуть лишати сліди; регулярний аудит конфігурації Exchange допомагає виявити сторонні зміни.
  4. Звертайте увагу на «порожні» .NET-збірки. Нестандартні точки входу (Vtable Fixups, unmanaged entry points) — ознака обфускації. Аналізуйте підозрілі файли в native image cache, особливо з іменами, що маскуються під бібліотеки Exchange.
  5. Використовуйте IoC від ESET. Індикатори компрометації Turla/Cereal опубліковані в репозиторії ESET на GitHub (eset/malware-ioc, гілка turla) — додайте їх до SIEM/EDR.
  6. Перевірте, чи не потрапляла ваша пошта у відомі витоки, за допомогою нашого інструмента перевірки витоків — це допоможе оцінити ризик повторного використання скомпрометованих облікових даних.

Висновок

Cereal — це ретельно сконструйований інструмент довготривалого кібершпигунства. Він майже нічого не лишає на диску, уникає зовнішньої інфраструктури, яку можна виявити й заблокувати, і ховається всередині легітимних процесів Exchange. Використання unmanaged entry points, Vtable Fixups, зловживання native image cache та впровадження в транспортний конвеєр Exchange демонструє рівень вкладених у .NET-техніки зусиль, незвичний навіть серед складних APT-акторів.

Головний висновок для захисників простий: для Turla Exchange-сервер — це не просто поштовий сервер, а довготривала точка збору даних, внутрішній вузол виконання та середовище для приховування витонченого коду. Тим, хто відповідає за безпеку урядових і корпоративних інфраструктур, варто ставитися до власного Exchange як до потенційної мішені державного рівня — і будувати захист відповідно.

Будьте попереду загроз

Щотижневий огляд кібербезпеки у вашій поштовій скриньці.

Автор CyberPeople