Если вы читаете это, скорее всего, вы или ваша компания столкнулись с подозрительной активностью в Office-документах — либо пытаетесь разобраться, как вообще распознать атаку через макросы до того, как стало слишком поздно. Макросы — один из самых старых и при этом до сих пор рабочих векторов атак. Злоумышленники используют их для проникновения в системы, кражи данных и закрепления в инфраструктуре. Разберёмся, на что реально обращать внимание.
- Почему макросы всё ещё опасны
- Первые признаки в самом документе
- Системные признаки: что происходит после открытия
- 1. Неожиданные дочерние процессы
- 2. Сетевая активность
- 3. Изменения в файловой системе
- 4. Изменения в реестре
- 5. Аномалии в производительности
- Сравнение признаков легитимных и вредоносных макросов
- Как искать следы: практический алгоритм
- Частые ошибки при расследовании
- Что делать в зависимости от ситуации
- Если вы получили подозрительный файл, но ещё не открыли
- Если открыли файл, но макросы не включали
- Если открыли и включили макросы
- Если вы ИБ-специалист и расследуете инцидент
- Как предотвратить атаку через макросы
- Итог
Почему макросы всё ещё опасны
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, использует нестандартные порты |
Как искать следы: практический алгоритм
Если есть подозрение, что документ с макросами скомпрометировал систему, действуйте по порядку:
- Отключите интернет на подозрительной машине — это остановит передачу данных, если она идёт.
- Сделайте дамп процессов — запишите список всех запущенных процессов с родительскими связями (Process Explorer или встроенные инструменты).
- Проверьте автозагрузку — просмотрите папку Startup, ключи Run в реестре, запланированные задачи.
- Проанализируйте сетевые соединения — netstat -ano покажет активные соединения с привязкой к процессам.
- Просмотрите журналы событий — Windows Event Logs, особенно Security и Sysmon, если он настроен.
- Проверьте файловую систему — ищите новые файлы в темпапках, автозагрузке, системных директориях за последние дни.
- Отправьте файл на анализ — 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-правила активны, а мониторинг покрывает ключевые индикаторы компрометации.
Макросы — мощный инструмент, и в злых руках они остаются одним из самых простых способов проникнуть в корпоративную сеть. Зная, что искать, вы можете поймать атаку до того, как данные утекут.
