Как понять, что через макросы Microsoft Office пытаются украсть данные: практические признаки

Если вы читаете это, скорее всего, вы или ваша компания столкнулись с подозрительной активностью в Office-документах — либо пытаетесь разобраться, как вообще распознать атаку через макросы до того, как стало слишком поздно. Макросы — один из самых старых и при этом до сих пор рабочих векторов атак. Злоумышленники используют их для проникновения в системы, кражи данных и закрепления в инфраструктуре. Разберёмся, на что реально обращать внимание.

Почему макросы всё ещё опасны

Microsoft Office по умолчанию блокирует макросы в файлах, скачанных из интернета — это появилось в Office 2016 и стало обязательным с 2022 года для файлов с меткой Mark of the Web. Но злоумышленники адаптируются: они используют социальную инженерию, подменяют расширения, применяют вложенные файлы и альтернативные форматы. Поэтому знание признаков эксплуатации остаётся критически важным.

Макрос — это по сути сценарий на VBA (Visual Basic for Applications), который запускается внутри документа. В руках атакующего он может запускать процессы, обращаться к файловой системе, отправлять данные на внешние серверы и многое другое.

Первые признаки в самом документе

Прежде чем переходить к системным индикаторам, посмотрите на сам файл. Вот что должно насторожить:

  • Файл просит включить макросы, хотя содержимое документа этого не предполагает. Обычный счёт, договор или отчёт не нуждается в макросах. Если документ выглядит как обычный текст, но требует включить макросы для «корректного отображения» — это красный флаг.
  • Макросы содержат обфусцированный код — нечитаемые строки, случайные имена переменных, избыточные операции кодирования. Это признак того, что автор намеренно скрывает логику.
  • Код ссылается на внешние ресурсы: обращение к URL-адресам, загрузка дополнительных компонентов, вызов PowerShell или cmd.exe из макроса.
  • Документ содержит скрытые листы или объекты, которые создаются при открытии и заполнены данными, не связанными с видимым содержимым.
  • Файл имеет необычный размер для своего типа. Документ на двух страницах текста весит несколько мегабайт — там может быть встроенный исполняемый файл или скрипт.

Системные признаки: что происходит после открытия

Это самая важная часть. Если документ уже был открыт и макросы были включены, нужно искать следы активности в системе.

1. Неожиданные дочерние процессы

Классический признак — из-под Excel или Word запускаются внешние процессы. Наблюдайте за цочками в диспетчере задач или через Process Monitor:

  • WINWORD.EXE или EXCEL.EXE запускают powershell.exe, cmd.exe, wscript.exe, cscript.exe
  • Появляются процессы с необычными именами в пользовательских директориях
  • Процессы mshta.exe или rundll32.exe запускаются из Office-приложений

Это практически стопроцентный индикатор эксплуатации. Нормальный документ с макросами не запускает внешние shell-процессы.

2. Сетевая активность

Макрос может отправить данные наружу. На что смотреть:

  • Соединения с внешними IP-адресами из процесса Office-приложения
  • DNS-запросы к подозрительным доменам — особенно недавно зарегистрированным или с подозрительными именами
  • Обтрафик, характерный для передачи файлов: объёмные POST-запросы, соединения на нестандартных портах
  • Соединения с известными вредоносными IP — проверьте через VirusTotal или ваши Threat Intelligence-источники

3. Изменения в файловой системе

После открытия документа с вредоносным макросом в системе могут появиться новые файлы:

  • Исполняемые файлы в папках %TEMP%, %APPDATA%, %LOCALAPPDATA%
  • Файлы с двойными расширениями (например, .docx.exe) или без расширений в необычных местах
  • Новые файлы в автозагрузке: папка Startup, ключи Run в реестре
  • Файлы с случайными именами в системных директориях

4. Изменения в реестре

Макросы часто модифицируют реестр для закрепления и настройки своей работы:

  • Новые или изменённые ключи в ветках Run / RunOnce
  • Изменения в настройках безопасности Office (DisableMacroWarnings, VBAWarnings)
  • Модификация ключей, отвечающих за настройки Internet Explorer / WebView (используются для сетевых запросов)
  • Изменения ассоциаций файлов или настроек WScript

5. Аномалии в производительности

Менее очевидный, но иногда полезный индикатор:

  • Office-приложение «зависает» при закрытии — возможно, макрос запускает длительные операции
  • Необычно высокая загрузка CPU от процесса Office без видимых причин
  • Появление неожиданных диалоговых окон или ошибок после закрытия документа

Сравнение признаков легитимных и вредоносных макросов

Не все макросы — зло. В компаниях часто используются легитимные макросы для автоматизации. Вот как отличить:

Характеристика Легитимный макрос Вредоносный макрос
Источник файла Внутренний портал, проверенный поставщик, корпоративный шаблон Email-вложение, скачан из интернета, получен от неизвестного отправителя
Подпись Подписан корпоративным сертификатом Без подписи или с подозрительной подписью
Поведение Работает с данными документа, форматирует, формирует отчёты Запускает внешние процессы, обращается к сети, создаёт файлы
Код Читаемый, с комментариями, понятными именами переменных Обфусцированный, зашифрованный, с бессмысленными именами
Требования Выполняет заявленную функцию Требует повышенных привилегий, отключает защиту, меняет настройки
Сетевые запросы Отсутствуют или идут к известным корпоративным серверам Обращается к внешним IP, использует нестандартные порты

Как искать следы: практический алгоритм

Если есть подозрение, что документ с макросами скомпрометировал систему, действуйте по порядку:

  1. Отключите интернет на подозрительной машине — это остановит передачу данных, если она идёт.
  2. Сделайте дамп процессов — запишите список всех запущенных процессов с родительскими связями (Process Explorer или встроенные инструменты).
  3. Проверьте автозагрузку — просмотрите папку Startup, ключи Run в реестре, запланированные задачи.
  4. Проанализируйте сетевые соединения — netstat -ano покажет активные соединения с привязкой к процессам.
  5. Просмотрите журналы событий — Windows Event Logs, особенно Security и Sysmon, если он настроен.
  6. Проверьте файловую систему — ищите новые файлы в темпапках, автозагрузке, системных директориях за последние дни.
  7. Отправьте файл на анализ — VirusTotal, Any.Run или корпоративную песочницу для детального анализа поведения.

Частые ошибки при расследовании

Когда люди сталкиваются с подозрительным макросом, они часто совершают одни и те же ошибки:

  • Открывают файл повторно, чтобы «проверить» — это повторно запускает вредоносный код и может усугубить ситуацию. Работайте только с копией в изолированной среде.
  • Игнорируют файлы без макросов — атака может использовать DDE-атаки, встроенные объекты OLE, формулы Excel 4.0 (XLM) или внешние ссылки без макросов вообще.
  • Очищают только видимые следы — удаляют файл, но не проверяют реестр, автозагрузку, запланированные задачи. Закрепление остаётся.
  • Не проверяют соседние системы — если один пользователь открыл вредоносный документ, возможно, другие тоже получили письмо.
  • Не сохраняют доказательства — удаляют файл до того, как ИБ-специалисты его проанализируют. Всегда сохраняйте оригинал для расследования.

Что делать в зависимости от ситуации

Если вы получили подозрительный файл, но ещё не открыли

Проверьте файл в песочнице (Any.Run, Hybrid Analysis) или хотя бы на VirusTotal. Посмотрите свойства файла — есть ли макросы, кто автор, когда создан. Если файл не от известного источника — не открывайте. Сообщите в ИБ-отдел.

Если открыли файл, но макросы не включали

Риск минимален, но не нулевой — упомянутые выше DDE и OLE-атаки не требуют включения макросов. Просмотрите журнал событий на предмет необычной активности за время пока файл был открыт.

Если открыли и включили макросы

Действуйте как при подтверждённом инциденте: отключите сеть, зафиксируйте состояние системы, вызовите ИБ-специалистов. Меняйте пароли с этой машины — особенно если вводили их после открытия документа. Проверьте, не было ли доступа к корпоративным ресурсам с этого компьютера.

Если вы ИБ-специалист и расследуете инцидент

Соберите артефакты: оригинальный файл, логи Sysmon (если есть), дамп памяти, сетевые логи. Проанализируйте макрос в изолированной среде — обратите внимание на автозапускающиеся события (AutoOpen, Document_Open, Workbook_Open). Проверьте Indicators of Compromise по всем системам компании.

Как предотвратить атаку через макросы

Лучшее расследование — это когда атака не удалась. Ключевые меры:

  • Политика блокировки макросов — через GPO или Intune запретите выполнение макросов для файлов из интернета. Разрешайте только подписанные макросы от доверенных издателей.
  • ASR-правила в Defender — включите правила Office: блокировка создания дочерних процессов, блокировка выполнения скриптов, обфусцированных в Office.
  • Mark of the Web — убедитесь, что Office распознаёт файлы из интернета и применяет заблокировку VBA.
  • Обучение пользователей — люди должны понимать, что кнопка «Включить макросы» в письме от неизвестного отправителя — это не помощь, а потенциальная дыра.
  • Мониторинг — настройте алерты на запуск shell-процессов из Office-приложений, на изменения в автозагрузке, на подозрительную сетевую активность.

Итог

Эксплуатация макросов Microsoft Office — это не теория из 2010 года, а реальный и активно используемый вектор атак. Главные признаки, которые стоит запомнить: запуск внешних процессов из Office, сетевая активность от офисных приложений, появление новых файлов в автозагрузке и изменения в реестре.

Если видите хотя бы один из этих признаков — не ждите. Отключайте сеть, фиксируйте состояние и вызывайте специалистов. Если вы отвечаете за безопасность в компании — убедитесь, что политики блокировки макросов настроены, ASR-правила активны, а мониторинг покрывает ключевые индикаторы компрометации.

Макросы — мощный инструмент, и в злых руках они остаются одним из самых простых способов проникнуть в корпоративную сеть. Зная, что искать, вы можете поймать атаку до того, как данные утекут.

Оцените статью
PEFile — Безопасность и технологии простым языком