Детектирование вредоносного содержимого в офисных файлах
Офисные документы давно перестали быть просто "контейнерами с текстом". На сегодняшний день они представляют из себя полноценные исполняемые среды, внутри которых могут находиться скрипты, бинарники, ссылки на внешние ресурсы и прочая логика взаимодействия с операционной системой.
Форматы вроде .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 не требуется включение макросов — команда выполняется автоматически.
Документы могут содержать внешние ссылки (External Relationships), которые ведут на фишинговые сайты или напрямую загружают вредоносное ПО. Особенно опасны ссылки с использованием схемы file://, указывающие на исполняемые файлы, или UNC-путей (вида \\server\shara). Последние, например, позволяют вызывать попытку аутентификации системой при открытии документа или "оказывать содействие" в утечке NTLM-хэшей.
Методы детектирования
1. Статический анализ
Статический анализ включает изучение структуры файла без его выполнения.
Для форматов OpenXML (.docx, .xlsx, .pptx):
Распакуйте файл как ZIP-архив.
Проверьте каталог word/embeddings/, xl/embeddings/, ppt/embeddings/ на наличие встроенных OLE-объектов (файлы oleObject*.bin).
Анализируйте 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
Запись в реестр, особенно в ключи, связанные с автозагрузкой или отключением защитных механизмов
Быстрое создание и выполнение файлов во временных каталогах
Платформы для анализа:
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): попытки изменения ключей безопасности .
Практические рекомендации по защите
Для ИТ-администраторов:
Используйте Protected View: Убедитесь, что для всех файлов из интернета и вложений почты включён режим «Защищённый просмотр».
Отключите DDE через реестр (если это допустимо):Для Word: HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options\NoDDE = 1Для Excel: аналогичные ключи.
Настройте Attack Surface Reduction (ASR) правила в Microsoft Defender для блокировки Office-процессов от создания дочерних процессов.
Внедрите COM-блокировку («kill bit») для высокорисковых объектов, таких как Shell.Explorer.1.
Применяйте политики файлов в Defender for Cloud Apps для автоматического карантина документов с подозрительными характеристиками.
Для аналитиков SOC и ИБ-специалистов:
Всегда проверяйте хеши подозрительных документов в репутационных сервисах (VirusTotal, MetaDefender).
Используйте oletools в ручном режиме для углублённого анализа целевых образцов.
Обращайте внимание на контекст: от кого пришёл файл? Соответствует ли содержимое заявленной теме? Является ли файл неожиданным?
Расследуйте цепочки атак: DDE и OLE-объекты — это лишь «дверь». Важно отследить дальнейшие действия вредоносного ПО (C2-соединения, латеральное перемещение).
Заключение
Детектирование вредоносного содержимого в офисных файлах требует комплексного подхода, сочетающего статический анализ структуры документа, динамическую проверку в песочнице и поведенческий мониторинг на конечных точках. Злоумышленники активно эксплуатируют "архитектурный долг" Microsoft Office, используя такие технологии, как DDE и OLE, которые существуют десятилетиями. Понимание этих механизмов и применение описанных методов позволит вашей организации значительно повысить устойчивость к фишинговым атакам и атакам через документы.