T1574.012: Переменная окружения COR_PROFILER

Злоумышленники могут попытаться перехватить поток исполнения программ, загружающих среду Common Language Runtime (CLR) платформы .NET, с помощью переменной окружения COR_PROFILER. COR_PROFILER позволяет разработчикам указывать неуправляемую (или внешнюю относительно .NET) DLL-библиотеку профилировщика, которая будет загружаться в каждый процесс .NET, загружающий CLR. Эти профилировщики предназначены для мониторинга, устранения неполадок и отладки кода, выполняемого в среде CLR .NET.

Переменную среды COR_PROFILER можно установить на уровне системы, пользователя или процесса. Для переменных окружения уровня системы или пользователя профилировщики указываются в реестре, где в качестве DLL-библиотеки профилировщика можно зарегистрировать объект COM-модели. COR_PROFILER на уровне процесса также можно создать в памяти, не вмешиваясь в реестр. Начиная с .NET версии 4, DLL-библиотеку профилирования не нужно регистрировать, если ее расположение задано в переменной окружения COR_PROFILER_PATH.

Злоумышленники могут воспользоваться COR_PROFILER, чтобы закрепиться в системе и выполнять вредоносную DLL-библиотеку в контексте всех процессов .NET при каждом вызове CLR. COR_PROFILER также может использоваться для повышения привилегий (см. технику Обход контроля учетных записей), если целевой .NET-процесс выполняется с более высоким уровнем разрешений, а также для перехвата и ослабления защиты, заложенной в процессы .NET.

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

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

— Мониторинг событий запуска процессов wmic.exe, setx.exe и reg.exe, в командных строках которых выполняется изменение ключей реестра COR_ENABLE_PROFILING, COR_PROFILER и COR_PROFILER_PATH. — Мониторинг событий изменения ключей реестра COR_ENABLE_PROFILING, COR_PROFILER и COR_PROFILER_PATH в ветках реестра HKCU\Environment и HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Требуется эксперт. Техника обнаруживается только в связке «Продукт PT + эксперт»

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

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

Обращайте особое внимание на подозрительные изменения таких ключей реестра, как COR_ENABLE_PROFILING, COR_PROFILER и COR_PROFILER_PATH, выполняемые с помощью инструментов командной строки, например wmic.exe, setx.exe и reg. Для обнаружения угроз рекомендуется также отслеживать аргументы командной строки, указывающие на изменение переменных окружения COR_PROFILER.

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

Отслеживайте запуск новых процессов, таких как setx.exe, которые могут злоупотреблять переменной окружения COR_PROFILER. Отслеживайте загрузку новых подозрительных неуправляемых DLL-библиотек профилирования в процессы .NET сразу после CLR, что приводит к их аномальному поведению.

IDDS0024Источник и компонент данныхРеестр Windows: Изменение ключа реестра WindowsОписание

Для обнаружения использования переменной окружения COR_PROFILER на уровне системы и пользователей отслеживайте изменения в реестре переменных COR_ENABLE_PROFILING, COR_PROFILER и COR_PROFILER_PATH, не связанные с известными инструментами разработчиков.

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

Отслеживайте DLL-файлы, связанные с переменной окружения COR_PROFILER.

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

IDM1024НазваниеОграничение прав доступа к рееструОписание

Проследите, чтобы для кустов реестра были установлены надлежащие разрешения, которые не позволяют пользователям изменять ключи, связанные с COR_PROFILER.

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

Идентифицируйте и блокируйте потенциально вредоносные неуправляемые библиотеки для профилирования, указанные в COR_PROFILER, с помощью решений для контроля приложений, таких как AppLocker, способных проверять и (или) блокировать несанкционированные библиотеки DLL.

IDM1018НазваниеУправление учетными записямиОписание

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