T1564.007: Сокрытие в скомпилированном VBA-коде
Злоумышленники могут скрыть полезную нагрузку в формате Visual Basic for Applications (VBA), встроенную в документы Microsoft Office, подменив исходный код на языке VBA безопасными на вид данными.
Документы Microsoft Office со встроенным содержимым в формате VBA хранят исходный код внутри потоков модулей. Каждый поток модулей содержит раздел PerformanceCache
, в котором хранится отдельная скомпилированная версия исходного кода на VBA, называемая пи-кодом (p-code). Этот пи-код выполняется в том случае, если версия Microsoft Office, указанная в потоке _VBA_PROJECT
(который содержит зависимое от версии описание проекта VBA), соответствует версии хост-приложения Microsoft Office.
Злоумышленник может замаскировать вредоносный код на VBA, перезаписав его исходный код нулями, безопасным кодом или случайными байтами, не затронув при этом ранее скомпилированный вредоносный пи-код. Таким образом можно обойти средства, сканирующие документы на наличие вредоносного кода на VBA, поскольку нежелательный код скрыт в скомпилированном пи-коде. Если исходный код на VBA удален, некоторые средства защиты могут даже не обнаружить наличие макросов. Если версии потока _VBA_PROJECT
и хост-приложения Microsoft Office совпадут, пи-код будет выполнен. В противном случае безопасный исходный код VBA будет распакован и перекомпилирован в пи-код — таким образом вредоносный пи-код будет перезаписан, что потенциально позволит обойти динамический анализ кода.
Какие продукты Positive Technologies покрывают технику
Описание методов обнаружения техники пока недоступно
Способы обнаружения
ID | DS0012 | Источник и компонент данных | Сценарий: Выполнение сценария | Описание | Detection efforts should be placed finding differences between VBA source code and p-code. VBA code can be extracted from p-code before execution with tools such as the pcodedmp disassembler. The oletools toolkit leverages the pcodedmp disassembler to detect VBA stomping by comparing keywords present in the VBA source code and p-code. |
---|
ID | DS0022 | Источник и компонент данных | Файл: Метаданные файла | Описание | If the document is opened with a Graphical User Interface (GUI) the malicious p-code is decompiled and may be viewed. However, if the |
---|
Меры противодействия
ID | M1042 | Название | Отключение или удаление компонента или программы | Описание | Turn off or restrict access to unneeded VB components. |
---|