Уязвимость макросов: как Office используется в кибератаках
Макросы на языке VBA (Visual Basic for Applications) появились в Microsoft Excel 5.0 в 1993 году. Они быстро распространились, позволяя легко автоматизировать типовые задачи без программирования.
В 1995 году был зафиксирован первый случай недобросовестного использования VBA-скрипта – вирус Concept, распространявшийся через файлы Office. С тех пор этот инструмент остается распространенным вектором атак. Чаще всего компрометации начинаются с отправки электронного письма с вредоносным файлом, открытие которого запускает встроенный код.
В статье Дмитрий Калинин, руководитель департамента по работе с уязвимостями и инцидентами ИБ Бастион, расскажет, как обычные функции Microsoft Office превратились в устойчивый инструмент кибератак, и какие методы защиты помогают снизить вероятность компрометации системы и утечки данных.
Как макросы стали инструментом атак
Макросы представляют собой встроенный в документы программный код, автоматизирующий задачи, однако этот функционал может применяться не только для легитимных целей. Программные модули часто запускаются автоматически при открытии файла через механизм AutoOpen() – стандартную процедуру VBA. Злоумышленники пользуются этим и заражают системы, рассчитывая на невнимательность пользователя.
Одной из первых известных вредоносных программ стал вирус Melissa, обнаруженный в 1999 году. Скрипт, встроенный в документ Word, обращался к адресной книге почтового клиента и рассылал свои копии всем контактам. За несколько дней Melissa заразила более 100 тысяч компьютеров, показав, как быстро опасные компоненты распространяются через доверенные каналы коммуникации.
В настоящее время Office остается широко используемым продуктом в корпоративной среде, а в большинстве организаций запуск встроенных модулей VBA не отключен в настройках групповых политик безопасности. Кроме того, макросы поддерживаются и другими офисными пакетами – LibreOffice, OpenOffice, а также некоторыми графическими редакторами, например, CorelDRAW. В системах типа «Мой офис» скрипты пишутся на другом языке – Lua, но выполняют похожие функции.
Типовые приемы манипуляции пользователем
Вероятность успешной атаки напрямую связана с действиями пользователя. Злоумышленники применяют техники социальной инженерии, чтобы спровоцировать включение вредоносного кода, воздействуя на человеческий фактор: любопытство, страх или профессиональную ответственность. Для активации VBA-скриптов хакеры ссылаются на ошибки отображения данных, устаревшую версию Office или необходимость срочно распечатать документ по просьбе руководства.
В корпоративной практике встречались кейсы, когда макрос внедрялся в резюме кандидатов. Так, чтобы просмотреть размытые фотографии, пользователю предлагалось включить встроенный код. Другой пример – Excel-файл с финансовыми данными, часть которых скрыта и становится видимой только после активации модуля, загружающего нежелательное ПО.
Как злоумышленники используют макросы на практике
VBA-скрипты ищут файлы с ключевыми словами, например, «пароль» или «логин» и передают их злоумышленникам. Чтобы не вызывать тревогу антивирусов, угрожающая активность часто минимальна – макросы не запускают сторонние процессы напрямую. Вместо этого используется многоступенчатая схема: сначала выполняется загрузка дополнительного вредоносного кода, например, DLL или исполняемых файлов, которые запускаются прямо в оперативной памяти. Такие файлы не сохраняются на диск, поэтому их сложнее обнаружить.
Для маскировки опасного сценария атакующие осуществляют методы упаковки, вроде Base64-кодирования, и размещают основные функции в спрятанном тексте в Word или скрытых ячейках Excel, например, на 500-й строке.
Пентестеры часто используют макросы во время тестов на проникновение в качестве точки входа, при этом они содержат минимальную логику и активны только при открытии вложения. Также распространен внутренний фишинг –– рассылка нежелательных документов с корпоративных доменов. Сотрудники обычно более доверчиво относятся к письмам от коллег, что увеличивает вероятность успешного заражения, особенно при недостаточной настройке спам-фильтров.
Как Microsoft борется с макросами
Microsoft развивает защиту от таких атак уже более 25 лет. Один из ключевых механизмов – технология Mark of the Web (MOTW). Она помечает все вложения, загруженные из интернета или полученные по электронной почте. При наличии такой метки документ открывается в режиме ограниченного доступа, без возможности запуска встроенного кода или других активных модулей. Это снижает риск автоматического выполнения вредоносного скрипта из ненадежных источников.
Дополнительный уровень безопасности обеспечивает политика блокировки встроенных элементов. Администраторы могут разрешать запуск только доверенных компонентов с цифровой подписью или полностью запрещать их использование. Это позволяет централизованно управлять поведением подобных систем в корпоративной инфраструктуре.
Мессенджеры как канал обхода систем защиты
Несмотря на наличие технических ограничений, макросы продолжают использоваться в попытках взлома. Угрозы связаны с двумя факторами: широким распространением Microsoft Office и аналогичных программных продуктов, а также уязвимостью человеческого поведения в рабочих процессах.
Случай из практики: в одном из тестов мы направили сотруднику компании-заказчика фишинговое письмо с вредоносным компонентом. Почтовый сервер заблокировал отправку – сработали средства защиты. Мы обратили эту ситуацию в свою пользу: связались с сотрудником, представились технической поддержкой и сослались на сбой доставки, после чего предложили получить файл через мессенджер. Документ был успешно передан, минуя большинство стандартных механизмов безопасности.
Хотя папка с загрузками из мессенджера по умолчанию расположена в директории Downloads, она считается недоверенной и попадает под действие соответствующих политик. Тем не менее такие приложения по-прежнему служат эффективным каналом распространения вредоносных материалов. Причина – высокий уровень доверия пользователей к личной переписке и меньшая чувствительность систем защиты к их трафику.
Макросы в Microsoft Office наглядно показывают, как изначально полезный инструмент может превратиться в устойчивый вектор кибератак. Даже с использованием механизмов MOTW, ASR и политиками управления скриптами злоумышленники находят обходные пути: социальную инженерию, сложные схемы доставки или использование мессенджеров.
Для анализа подозрительных документов можно использовать Oletools и OfficeMalScanner, но эффективная защита требует комплексного подхода: настройки политик безопасности, обучения сотрудников принципам распознавания фишинга, внедрения многоуровневого анализа и контроля каналов получения файлов.