Медиацентр
Блог

Детектирование вредоносного содержимого в офисных файлах

Офисные документы давно перестали быть просто "контейнерами с текстом". На сегодняшний день они представляют из себя полноценные исполняемые среды, внутри которых могут находиться скрипты, бинарники, ссылки на внешние ресурсы и прочая логика взаимодействия с операционной системой.
Форматы вроде .docx, .xlsx, .pptx технически представляют из себя ZIP-архивы, которые содержат десятки файлов: от простейших XML-структур до бинарных OLE-объектов и макросов. Зловредная логика в таких документах обычно не лежит на поверхности, а "размазана" по структуре файла, и именно это создаёт ключевую проблему: классические средства защиты (AV, EDR, песочницы) обычно видят угрозу уже на стадии исполнения, но не доставки.
Андрей Шабалин, руководитель группы анализа данных NGR Softlab, в своей статье разбирает основные векторы угроз, реализуемые с использованием офисных документов, и методы, позволяющие их обнаружить.

Основные векторы угроз

1. VBA-макросы

Несмотря на ужесточение политик безопасности в MS Office (например, блокировка макросов из интернета через Mark-of-the-Web), а также тот факт, что VBA формально не является частью спецификации OpenXML, макросы по сей день остаются одним из самых распространённых способов распространения вредоносного кода. Технически код VBA хранится в бинарном виде внутри структуры OLE-потоков файла.
Особенности VBA:
  • Код может быть обфусцирован (например, с использованием массивов чисел, операции XOR или динамической сборки строк).
  • Существуют автоисполняемые точки входа (макросы): AutoOpen (Word), Workbook_Open (Excel), AutoExec и другие.
  • Системные компоненты могут быть вызваны прямо из документа (например, через CreateObject).
  • Атаки "VBA stomping" позволяют модифицировать скомпилированный код, сохраняя при этом видимый для анализа исходный код чистым.

2. Объекты OLE и COM

Object Linking and Embedding (OLE) — ещё одна технология с 30-летней историей, которая позволяет внедрять в документы почти любые "живые" объекты из других приложений:
  • исполняемые файлы,
  • скрипты,
  • дополнительные вложенные документы,
  • ActiveX/COM-компоненты
Анализ актуальных угроз показывает, что даже в 2026 году злоумышленники продолжают использовать уязвимости OLE для обхода современных механизмов защиты.
Основные риски OLE:
  • Внедрение опасных COM-объектов, таких как Shell.Explorer.1 (CLSID: {EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B}), который может выполнять произвольные команды.
  • Использование уязвимостей типа CVE-2026-21509, где через манипуляции с метаданными объектов Office принимает неверное решение о безопасности компонента.
  • Встраивание исполняемых файлов, скриптов и других вредоносных вложений. Кроме того, сама вредоносная нагрузка может находиться на определенной глубине и быть не видна без полного анализа структуры.

3. Динамический обмен данными (DDE)

Dynamic Data Exchange (DDE) — это устаревший протокол для межпроцессного взаимодействия в Windows, который до сих пор поддерживается в Microsoft Office. Злоумышленники используют поля DDEAUTO и DDE для выполнения произвольных команд без предупреждений, характерных для макросов.
Принцип работы: DDE-команды могут быть внедрены непосредственно в документ и выполняются при его открытии. Например, поле DDEAUTO может запускать PowerShell для загрузки и выполнения вредоносного кода. Особенно опасно то, что для активации DDE не требуется включение макросов — команда выполняется автоматически.
Пример команды DDE (упрощённо):
DDEAUTO "C:\\Windows\\System32\\cmd.exe" "/c calc.exe"

4. Вредоносные ссылки и внешние ресурсы

Документы могут содержать внешние ссылки (External Relationships), которые ведут на фишинговые сайты или напрямую загружают вредоносное ПО. Особенно опасны ссылки с использованием схемы file://, указывающие на исполняемые файлы, или UNC-путей (вида \\server\shara). Последние, например, позволяют вызывать попытку аутентификации системой при открытии документа или "оказывать содействие" в утечке NTLM-хэшей.

Методы детектирования

1. Статический анализ

Статический анализ включает изучение структуры файла без его выполнения.
Для форматов OpenXML (.docx, .xlsx, .pptx):
  • Распакуйте файл как ZIP-архив.
  • Проверьте каталог word/embeddings/, xl/embeddings/, ppt/embeddings/ на наличие встроенных OLE-объектов (файлы oleObject*.bin).
  • Ищите файл vbaProject.bin, содержащий скомпилированный VBA-код.
  • Анализируйте XML-файлы на наличие полей DDEAUTO и DDE.
  • Проверяйте связи с внешними ресурсами (External Relationship).
Для старых OLE-форматов (.doc, .xls, .ppt):
Используйте специализированные инструменты для разбора структуры OLE2/CFB (Compound File Binary).
Рекомендуемые инструменты:
  • olevba (из пакета oletools) — для извлечения и анализа VBA-макросов, деобфускации кода и поиска подозрительных ключевых слов .
  • oleid — для быстрого определения индикаторов вредоносной активности в OLE-файлах.
  • oletools в целом — набор скриптов для анализа OLE и OpenXML.
Примечание:
На практике ключевым является не сам факт наличия описанных выше компонентов внутри документа, а именно их аномальность (например, несоответствие типов, необычные или избыточные связи, OLE-объекты в теоретически простых файлах и т.д.).

2. Динамический анализ (поведенческий)

Динамический анализ наблюдает за поведением файла при открытии в изолированной среде (песочнице).
Ключевые индикаторы:
  • Создание дочерних процессов из офисных приложений (например, WINWORD.EXE → cmd.exe или powershell.exe)
  • Прямые сетевые подключения, инициированные WINWORD.EXE или EXCEL.EXE
  • Запись в реестр, особенно в ключи, связанные с автозагрузкой или отключением защитных механизмов
  • Загрузка необычных DLL-библиотек процессами Office
  • Быстрое создание и выполнение файлов во временных каталогах
Платформы для анализа:
  • Microsoft Defender for Cloud Apps / Safe Attachments — для детонации документов в виртуальной среде (доступно в E5/ATP).
  • Sandbox-решения (Cuckoo, CAPE, ANY.RUN).
Примечание:
Современные вредоносные документы часто используют техники обхода песочниц (Sandbox Evasion): задержки выполнения, проверку окружения или необходимость действия пользователя.

3. Контентная фильтрация и политики

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

Практические рекомендации:

  • Блокировка по расширениям: рассмотрите возможность блокировки файлов с макросами (.docm, .xlsm, .pptm, .doc, .xls) для внешних отправителей, если это допустимо бизнес-процессами.
  • Фильтрация содержимого: сканируйте документы на наличие полей DDEAUTO, ключевых слов VBA (например, Shell, Run, CreateObject), подозрительных CLSID и URL.
  • Аналитика ссылок: используйте сервисы «Safe Links» (например, в Microsoft Defender), которые проверяют URL в документах на момент клика.

4. Сигнатурные методы (YARA)

Создание и использование YARA-правил — эффективный способ массового обнаружения известных угроз.
Пример сигнатуры для поиска DDE (концептуально):
Детектирование вредоносного содержимого в офисных файлах
Источники сигнатур:
  • Sublime Security публикует правила для обнаружения вредоносных OLE-объектов и вложений .
  • YARA-репозитории (например, YARAify от abuse.ch, Neo23x0/signature-base).
Примечание:
На практике сигнатурный анализ офисных документов всё чаще выносится за пределы классических антивирусных движков и применяется как отдельный слой обработки файловых потоков. Например, Система управления безопасностью файлов использует YARA-правила для анализа содержимого офисных документов на этапе их передачи - в виде почтовых вложений, веб-загрузки из внешней сети или в процессе обмена файлами внутри инфраструктуры. Такой подход позволяет централизованно применять детектирующую логику, быстрее адаптироваться под новые угрозы и дополнять поведенческие средства защиты за счёт выявления подозрительных артефактов ещё до исполнения документа.

5. Мониторинг на уровне хоста (EDR)

Современные EDR-решения (Microsoft Defender for Endpoint, CrowdStrike, SentinelOne) отслеживают события на конечных точках:
  • Создание процессов (Event ID 1 в Sysmon): аномальные цепочки родитель-потомок для приложений Office .
  • Загрузка модулей (Event ID 7): несвойственные для Office DLL (например, загрузка wscript.sys или cscript.dll).
  • Доступ к реестру (Event ID 4656/4663): попытки изменения ключей безопасности .

Практические рекомендации по защите

Для ИТ-администраторов:

  1. Используйте Protected View: Убедитесь, что для всех файлов из интернета и вложений почты включён режим «Защищённый просмотр».
  2. Отключите DDE через реестр (если это допустимо):Для Word: HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options\NoDDE = 1Для Excel: аналогичные ключи.
  3. Настройте Attack Surface Reduction (ASR) правила в Microsoft Defender для блокировки Office-процессов от создания дочерних процессов.
  4. Внедрите COM-блокировку («kill bit») для высокорисковых объектов, таких как Shell.Explorer.1.
  5. Применяйте политики файлов в Defender for Cloud Apps для автоматического карантина документов с подозрительными характеристиками.

Для аналитиков SOC и ИБ-специалистов:

  1. Всегда проверяйте хеши подозрительных документов в репутационных сервисах (VirusTotal, MetaDefender).
  2. Используйте oletools в ручном режиме для углублённого анализа целевых образцов.
  3. Обращайте внимание на контекст: от кого пришёл файл? Соответствует ли содержимое заявленной теме? Является ли файл неожиданным?
  4. Расследуйте цепочки атак: DDE и OLE-объекты — это лишь «дверь». Важно отследить дальнейшие действия вредоносного ПО (C2-соединения, латеральное перемещение).

Заключение

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