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