T1059.005: Visual Basic

Злоумышленники могут использовать для выполнения вредоносного кода Visual Basic (VB). VB — язык программирования, созданный компанией Microsoft и способный взаимодействовать со многими технологиями Windows, такими как COM-модель и нативный API, через API Windows. VB считается устаревшим, и его развитие в дальнейшем не планируется; тем не менее он интегрирован в платформу .NET и ее кросс-платформенную реализацию .NET Core.

На базе VB были также созданы производные языки, такие как Visual Basic for Applications (VBA) и VBScript. VBA — событийно-ориентированный язык, встроенный в Microsoft Office, а также в некоторые приложения сторонних разработчиков. VBA позволяет использовать в документах макросы для автоматизации выполнения задач и реализации других функций на хосте. VBScript — сценарный язык по умолчанию на Windows-хостах, который может использоваться вместо JavaScript на страницах HTML-приложений (HTA), запускаемых в Internet Explorer (большинство современных браузеров не поддерживают VBScript).

Злоумышленники могут использовать полезные нагрузки на базе VB для выполнения вредоносных команд. Типовое вредоносное использование включает автоматическое выполнение сценариев с помощью VBScript или включение VBA-контента в полезные нагрузки при использовании целевого фишинга с вложением (который также может включать обход ограничений веб-меток безопасности (MOTW) для обеспечения выполнения).

Какие продукты Positive Technologies покрывают технику

Экспертиза MaxPatrol SIEM

mitre_attck_execution: PT-CR-2664: Outlook_VBA_Addin_Load: Процесс Outlook загрузил библиотеку "Microsoft VBA for Outlook Addin" (OUTLVBA.DLL). Это может свидетельствовать об использовании макросов VBA с целью выполнить произвольный код mitre_attck_execution: PT-CR-605: Office_File_With_Macros: Пользователь открыл документ Microsoft Offiсe с макросом mitre_attck_execution: PT-CR-1089: DotNetToJScript_Usage: Обнаружено возможное использование утилиты DotNetToJscript mitre_attck_execution: PT-CR-339: Script_Files_Execution: Пользователь попытался запустить скрипт hacking_tools: PT-CR-373: SharpWMI_Usage: Обнаружено возможное использование программного обеспечения SharpWMI

Способы обнаружения

IDDS0011Источник и компонент данныхМодуль: Загрузка модуляОписание

Отслеживайте загрузку модулей, написанных на Visual Basic (например, vbscript.dll).

Примечание. Для мониторинга загрузки в память процессов Windows DLL-модулей, написанных на Visual Basic (таких как vbscript.dll), можно отслеживать события Sysmon с идентификатором 7 (загрузка образа). В системе выполняется множество операций, связанных с загрузкой образов, что может приводить к большому количеству событий с этим идентификатором. Для снижения числа ложных срабатываний рекомендуется изменить файл конфигурации Sysmon, исключив события загрузки стандартных, безопасных образов.

IDDS0012Источник и компонент данныхСценарий: Выполнение сценарияОписание

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

Примечание. Запуск сценариев VBScript или каталогов временных файлов и нестандартных расположений может быть признаком вредоносной активности.

Аналитика 1. Запуск сценария из каталога временных файлов

(source=WinEventLog:"Microsoft-Windows-PowerShell/Operational" EventID="4103") | WHERE CommandLine LIKE "AppData.vbs" OR CommandLine LIKE "AppData.vbe*" OR CommandLine LIKE "AppData.vba*"

IDDS0017Источник и компонент данныхКоманда: Выполнение командОписание

Отслеживайте команды с аргументами, которые могут использоваться для выполнения вредоносного кода через сценарии Visual Basic.

IDDS0009Источник и компонент данныхПроцесс: Создание процессаОписание

Отслеживайте события, связанные с выполнением сценариев Visual Basic, в частности порождение процессов приложениями Office или использование сервера сценариев Windows (как правило, cscript.exe или wscript.exe). Действия, выполняемые посредством сценариев Visual Basic, могут по-разному воздействовать на систему и генерировать события, отслеживаемые используемыми механизмами мониторинга.

Меры противодействия

IDM1021НазваниеОграничения для веб-контентаОписание

Расширения, блокирующие сценарии, могут предотвратить выполнение сценариев и HTA-файлов, которые часто используются при эксплуатации уязвимостей. В случаях, когда вредоносный код содержится в рекламе, блокировщики рекламы могут предотвратить его выполнение.

IDM1038НазваниеЗащита от выполненияОписание

По мере необходимости используйте контроль приложений. Макросы VBA, полученные из интернета, могут быть по умолчанию заблокированы от выполнения в приложениях Office (например, Access, Excel, PowerPoint, Visio и Word) на основании атрибута Mark of the Web (MOTW) файла, начиная с версии Windows 2203.

IDM1040НазваниеПредотвращение некорректного поведенияОписание

Включите правила Attack Surface Reduction (ASR) в Windows 10, чтобы предотвратить выполнение сценариев Visual Basic с потенциально вредоносным загруженным содержимым.

IDM1042НазваниеОтключение или удаление компонента или программыОписание

Отключите или ограничьте доступ к ненужным компонентам VB.

IDM1049НазваниеАнтивирус или ПО для защиты от вредоносных программОписание

Антивирус может использоваться для автоматического помещения подозрительных файлов в карантин.