Исследователи Group-IB обнаружили шпионский имплант HollowGraph, который использует календарь скомпрометированной учётной записи Microsoft 365 в качестве двустороннего канала управления. Команды оператора и похищенные файлы передаются как вложения к событиям календаря, датированным 2050 годом, через легитимный Microsoft Graph API. Имплант был обнаружен как минимум на 12 машинах, активный трафик жертв фиксировался с 3 июня по 9 июля 2026 года. Никакой уязвимости в продуктах Microsoft здесь нет — атака эксплуатирует штатную функциональность API и скомпрометированные учётные данные, что делает приоритетными меры по контролю идентификации и мониторингу приложений OAuth.
Механизм работы: календарь как тайник
По данным исследователей, HollowGraph представляет собой библиотеку .NET DLL с минималистичным набором из двух команд — get и send. Имплант не обращается к серверам, принадлежащим атакующим, для получения полезной нагрузки. Вместо этого скомпрометированный почтовый ящик превращается в «мёртвую почтовую ячейку» с двусторонним обменом.
Для получения задач имплант запрашивает календарь на наличие события, созданного оператором с датой 2050-05-13 — достаточно далеко в будущем, чтобы владелец ящика никогда не увидел его при обычном просмотре. Инструкции считываются из вложенного файла. Для эксфильтрации процесс зеркальный: похищенный файл шифруется, создаётся новое событие в далёком будущем, а данные загружаются как одно или несколько вложений.
Весь трафик через календарь защищён гибридным шифрованием RSA + AES-256 с раздельными парами ключей для входящих задач и исходящих данных. С точки зрения сетевого мониторинга активность выглядит как обычное взаимодействие с Microsoft 365 через Graph API, и средства контроля, настроенные на обнаружение обращений к подозрительным внешним серверам, ничего не фиксируют.
Вспомогательный канал через DNS
Для поддержания доступа к Graph API имплант использует второй, менее изощрённый канал. Через DNS-запросы к домену cloudlanecdn[.]com HollowGraph обновляет учётные данные приложения в Entra ID (Azure AD): идентификатор арендатора, идентификатор клиента, секрет клиента и целевой почтовый ящик. Эти значения декодируются из IPv6-записей типа AAAA, возвращаемых DNS-сервером атакующих, и записываются в файл logAzure.txt, замаскированный под обычный лог. Как отмечают исследователи, передаются именно клиентские учётные данные, а не токены доступа, и в отличие от календарного канала этот обмен не зашифрован.
Атрибуция: код опознан, оператор — нет
Group-IB с высокой степенью уверенности связывает HollowGraph с кодовой базой Cavern на основании совпадающего синтаксиса команд и внутренней структуры задач. Cavern — это модульный фреймворк для удалённого управления, который ранее в этом месяце задокументировала компания Check Point, атрибутировав его группировке Cavern Manticore, предположительно связанной с Министерством разведки и безопасности Ирана, с пересечениями с известными иранскими группами MuddyWater и Lyceum.
Однако связь установлена именно с кодом, а не с конкретным оператором. Group-IB прямо заявляет: на основании имеющихся данных компания не может уверенно атрибутировать эту активность какому-либо ранее идентифицированному актору. Скомпрометированный почтовый ящик для эксфильтрации, как сообщается, принадлежит израильской организации, но исследователи рассматривают это как географию жертв, а не как основание для атрибуции.
Масштаб и характер кампании
По данным Group-IB, имплант обнаружен как минимум на 12 машинах, из которых лишь около трёх активно взаимодействовали с атакующим в период наблюдения. Исследователи интерпретируют этот небольшой, избирательный след как признак целенаправленного шпионажа, а не оппортунистической киберпреступности. При этом сама техника потенциально применима гораздо шире рамок данной конкретной кампании.
Принципиально важно: здесь нет уязвимости в программном обеспечении Microsoft и нет патча, который можно установить. HollowGraph использует скомпрометированную учётную запись и штатную функциональность Graph API. Именно поэтому имплант сложно обнаружить стандартными средствами сетевой защиты.
Рекомендации по обнаружению и защите
Охота на артефакты в календаре
Наиболее характерные признаки компрометации находятся непосредственно в календаре. Следует искать события со следующими характеристиками:
- Дата далеко в будущем, в частности
2050-05-13 - Тема события — голый GUID, либо соответствует шаблонам
Event ID:илиBoss{..}ID{..} - Вложения с именами вида
File{n}.txt
Контроль идентификации и приложений OAuth
- Ограничить и провести аудит приложений OAuth с клиентскими учётными данными, имеющих доступ к Microsoft Graph
- Настроить оповещения о создании новых секретов клиента в Entra ID
- Применять политики условного доступа, регулярную ротацию учётных данных и обнаружение аномальных токенов
Мониторинг активности Graph API и DNS
- Отслеживать изменения календаря, выполняемые приложениями, а не пользователями: создание событий, загрузку вложений, переименование тем
- Фиксировать аномально частые DNS-запросы типа AAAA и длинные поддомены с высокой энтропией, направленные к одному домену
- Проверить наличие обращений к домену
cloudlanecdn[.]comи файлаlogAzure.txtна конечных точках — это наиболее быстрый первичный индикатор
Полный набор индикаторов компрометации, включая хеши файлов, доступен в отчёте Group-IB.
Использование доверенных облачных сервисов Microsoft для скрытого управления — не новый приём: ранее атакующие уже задействовали для этих целей папки входящих Outlook, черновики и OneDrive. Календарные события в 2050 году — просто очередная точка, которую защитники до сих пор не имели оснований проверять. Учитывая, что трафик жертв фиксировался ещё 9 июля, а оператор кампании до сих пор не идентифицирован, организациям, использующим Microsoft 365, стоит прямо сейчас проверить свои календари на наличие событий в далёком будущем и провести аудит приложений OAuth с доступом к Graph API.