T1546.011: Подсистема обратной совместимости приложений
Злоумышленники могут закрепиться в системе и (или) повысить свои привилегии путем запуска вредоносного содержимого, активируемого исправлениями совместимости приложений. Инфраструктура совместимости приложений Microsoft Windows была создана для обеспечения обратной совместимости ПО в связи с тем, что кодовая база операционной системы меняется с течением времени. Например, исправления совместимости приложений позволяют разработчикам, не переписывая код, вносить исправления в приложения, разработанные для Windows XP, чтобы они работали в Windows 10 .
В рамках этой инфраструктуры создаются исправления совместимости, которые выступают в качестве буфера между программой (точнее, ее таблицей адресов импорта) и ОС Windows. При запуске программы происходит обращение к кэшу исправлений совместимости, чтобы определить, нужно ли для этой программы использовать базу данных исправлений совместимости (SDB). Если да, то база данных исправлений совместимости перехватывает вызовы функций таким образом, чтобы код мог взаимодействовать с ОС.
Список всех исправлений совместимости, установленных стандартной программой установки Windows (sdbinst.exe) к настоящему моменту, хранится в следующих файлах:
%WINDIR%\AppPatch\sysmain.sdb
hklm\software\microsoft\windows nt\currentversion\appcompatflags\installedsdb
Пользовательские базы данных хранятся в следующих файлах:
%WINDIR%\AppPatch\custom & %WINDIR%\AppPatch\AppPatch64\Custom
hklm\software\microsoft\windows nt\currentversion\appcompatflags\custom
Для обеспечения безопасности исправлений совместимости в Windows они работают в пользовательском режиме и не могут изменять ядро, а для их установки требуются привилегии администратора. Тем не менее некоторые исправления совместимости могут использоваться для обхода контроля учетных записей (UAC и RedirectEXE), внедрения DLL в процессы (InjectDLL), отключения запрета на выполнение данных (DisableNX) и структурной обработки исключений (DisableSEH), а также для перехвата адресов памяти (GetProcAddress).
Используя исправления совместимости, злоумышленник может совершить различные вредоносные действия — например, повысить свои привилегии, установить бэкдоры или отключить системы защиты, такие как Защитник Windows . Исправления совместимости также могут использоваться для закрепления в системе, поскольку к ним постоянно обращаются программы, для которых действуют эти исправления.
Какие продукты Positive Technologies покрывают технику
Экспертиза MaxPatrol SIEM
— Мониторинг событий запуска процесса sdbinst.exe (команда «sdbinst <путь_к_файлу_sdb>»). — Мониторинг событий создания файлов .sdb (идентификатор события 11 в Sysmon) в директориях %WINDIR%\AppPatch\Custom и %WINDIR%\AppPatch\AppPatch64\Custom. — Мониторинг изменения ключей разделов реестра HKLM\Software\Microsoft\windows nt\Currentversion\Appcompatflags\installedsdb и HKLM\Software\Microsoft\windows nt\Currentversion\Appcompatflags\Custom
Требуется эксперт. Техника обнаруживается только в связке «Продукт PT + эксперт»
Способы обнаружения
ID | DS0022 | Источник и компонент данных | Файл: Изменение файла | Описание | Отслеживайте изменения в файлах, с помощью которых злоумышленники могут закрепиться в системе и (или) повысить свои привилегии путем запуска вредоносного содержимого, активируемого исправлениями совместимости приложений. |
---|
ID | DS0024 | Источник и компонент данных | Реестр Windows: Изменение ключа реестра Windows | Описание | Отслеживайте изменения в ключах и (или) значениях реестра Windows, с помощью которых злоумышленники могут закрепиться в системе и (или) повысить свои привилегии путем запуска вредоносного содержимого, активируемого исправлениями совместимости приложений. |
---|
ID | DS0017 | Источник и компонент данных | Команда: Выполнение команд | Описание | Отслеживайте выполнение команды sdbinst.exe и ее аргументы на предмет злонамеренного использования исправлений совместимости приложений. |
---|
ID | DS0011 | Источник и компонент данных | Модуль: Загрузка модуля | Описание | Отслеживайте загрузку DLL процессами, которые загружают библиотеку user32.dll, обращая особое внимание на незнакомые DLL и те, которые обычно не загружаются в память процессов. |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Создание процесса | Описание | Отслеживайте запуск новых процессов sdbinst.exe на предмет злонамеренного использования исправлений совместимости приложений. Для обнаружения доступных исправлений совместимости могут использоваться следующие общедоступные инструменты:
|
---|
Меры противодействия
ID | M1052 | Название | Контроль учетных записей | Описание | Изменение настроек UAC на "Всегда уведомлять" даст пользователю больше видимости, когда запрашивается повышение UAC, однако эта опция не будет популярна среди пользователей из-за постоянных прерываний UAC. |
---|
ID | M1051 | Название | Обновление ПО | Описание | Microsoft выпустила необязательное исправление KB3045645, которое убирает флаг автоповышения в файле sdbinst.exe. Оно предотвращает использование подсистемы обратной совместимости приложений для обхода UAC. |
---|