T1548.002: Обход контроля учетных записей

Злоумышленники могут обходить механизмы контроля учетных записей с целью повышения уровня привилегий в системе. Контроль учетных записей в Windows (UAC) позволяет программе повысить уровень привилегий (соответствующий уровню целостности — от низкого до высокого), чтобы выполнить задачу с правами администратора, возможно запросив подтверждение у пользователя. В зависимости от настроек UAC, пользователю может быть либо запрещено выполнять такую задачу, либо предложено подтвердить ее выполнение (если он состоит в локальной группе администраторов), либо предложено ввести пароль администратора, чтобы выполнить ее.

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

Для обхода UAC используется множество методов. Описание инструмента UACME на GitHub содержит внушительный, но не исчерпывающий перечень методов обхода защиты, используемых злоумышленниками. Новые методы обхода появляются регулярно, и некоторые из них используются в реальных атаках, например:

  • eventvwr.exe может запускаться со всеми правами администратора и выполнять указанный бинарный файл или сценарий.

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

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

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

mitre_attck_privilege_escalation: PT-CR-2656: Changing_UAC_Flags: Изменены критически важные атрибуты контроля учетных записей (userAccountControl) пользователя или узла mitre_attck_privilege_escalation: PT-CR-2461: UAC_Bypass_Via_Registry_Hijacking: Пользователь повысил привилегии с помощью одной из системных утилит, в манифесте которых прописано поднятие привилегий без запроса контроля учетных записей пользователей (UAC) (элемент "autoElevate"). Чтобы получить токен локального администратора с повышенными привилегиями (Integrity Level: High), злоумышленники создают в реестре ключ "DelegateExecute" и записывают полезную нагрузку в ту же ветку, в ключ "(Default)". После этого они запускают системную утилиту, которая обращается к этому ключу и всегда выполняется с повышенными привилегиями, что позволяет запустить ранее записанную полезную нагрузку с максимальными привилегиями. Для этих целей могут использоваться следующие системные утилиты: eventvwr.exe, fodhelper.exe, ComputerDefaults.exe, slui.exe и control.exe mitre_attck_privilege_escalation: PT-CR-856: Subrule_AutoElevate_Process_Run: Запущен процесс, для которого выставлен флаг AutoElevate mitre_attck_privilege_escalation: PT-CR-1853: Byeintegrity_UAC_Bypass: Запуск процесса с повышенными привилегиями в обход UAC через оснастку MMC WF mitre_attck_privilege_escalation: PT-CR-1931: ICMLuaUtil_UAC_Bypass: Запуск процесса с повышенными привилегиями в обход UAC через COM-интерфейс ICMLuaUtil mitre_attck_privilege_escalation: PT-CR-843: AutoElevate_UAC_Bypass: Запущен дочерний процесс утилиты AutoElevate для обхода контроля учетных записей (UAC). UAC позволяет программе повышать привилегии для выполнения задачи с разрешениями уровня администратора, возможно, запрашивая у пользователя подтверждение mitre_attck_privilege_escalation: PT-CR-854: RPC_Abuse_UAC_Bypass: Выполнен обход UAC с помощью уязвимости в RPC mitre_attck_privilege_escalation: PT-CR-858: Subrule_Full_Elevation_Token_Steal: Использован токен High Integrity другого процесса mitre_attck_privilege_escalation: PT-CR-2460: Registry_Modification_For_UAC_Bypass: Изменение реестра, которое может быть признаком попытки повысить привилегии. Чтобы получить токен локального администратора с повышенными привилегиями (Integrity Level: High), злоумышленники создают в реестре ключ "DelegateExecute" и записывают полезную нагрузку в ту же ветку, в ключ "(Default)". После этого они запускают системную утилиту, которая обращается к этому ключу и всегда выполняется с повышенными привилегиями, что позволяет запустить ранее записанную полезную нагрузку с максимальными привилегиями mitre_attck_privilege_escalation: PT-CR-844: DelegateExecute_UAC_Bypass: Пользователь повысил привилегии с помощью одной из системных утилит, в манифесте которых прописано поднятие привилегий без запроса контроля учетных записей пользователей (UAC) (элемент "autoElevate"). Чтобы получить токен локального администратора с повышенными привилегиями (Integrity Level: High), злоумышленники создают в реестре ключ "DelegateExecute" и записывают полезную нагрузку в ту же ветку, в ключ "(Default)". После этого они запускают системную утилиту, которая обращается к этому ключу и всегда выполняется с повышенными привилегиями, что позволяет запустить ранее записанную полезную нагрузку с максимальными привилегиями. Чаще всего для этих целей используются системные утилиты fodhelper.exe и ComputerDefaults.exe mitre_attck_privilege_escalation: PT-CR-1910: Subrule_AutoElevate_Process_Parent_Run: Через процесс-посредник запущен процесс, для которого выставлен флаг AutoElevate active_directory_attacks: PT-CR-838: ShadowCred_Used: Атрибут msds-keycredentiallink использован для авторизации учетной записи компьютера в домене без использования пароля. Это может быть признаком использования KrbRelayUp для локального повышения привилегий с помощью Shadow Credentials. Злоумышленник может использовать эту технику для получения учетных данных других пользователей и горизонтального перемещения на другие узлы инфраструктуры hacking_tools: PT-CR-753: Cobalt_Strike_RunAs_Escalate: С помощью Cobalt Strike выполнена команда "RunAs" для повышения привилегий

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

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

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

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

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

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

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

Часто после компрометации системы злоумышленники пытаются отключить контроль учетных записей с целью повышения уровня привилегий. Для этого злоумышленники могут изменять ключи реестра, отвечающие за системные политики, с помощью reg.exe — легитимного инструмента Microsoft для работы с реестром через командную строку или сценарии. Таким образом злоумышленники смогут обойти контроль учетных записей, а затем повысить привилегии в скомпрометированной системе и продолжить ее эксплуатацию.

Аналитика 1. Обход механизмов контроля учетных записей

(source="WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode="1") OR (source="WinEventLog:Security" EventCode="4688") IntegrityLevel=High|search (ParentCommandLine=""c:\windows\system32\dism.exe""".xml" AND Image!="c:\users\\appdata\local\temp\\dismhost.exe") OR ParentImage=c:\windows\system32\fodhelper.exe OR (CommandLine=""c:\windows\system32\wusa.exe"/quiet" AND User!=NOT_TRANSLATED AND CurrentDirectory=c:\windows\system32\ AND ParentImage!=c:\windows\explorer.exe) OR CommandLine="*.exe"cleanmgr.exe /autoclean" OR (ParentImage="c:\windows\*dccw.exe" AND Image!="c:\windows\system32\cttune.exe") OR Image="c:\program files\windows media player\osk.exe" OR ParentImage="c:\windows\system32\slui.exe"|eval PossibleTechniques=case(like(lower(ParentCommandLine),"%c:\windows\system32\dism.exe%"), "UACME #23", like(lower(Image),"c:\program files\windows media player\osk.exe"), "UACME #32", like(lower(ParentImage),"c:\windows\system32\fodhelper.exe"), "UACME #33", like(lower(CommandLine),"%.exe"%cleanmgr.exe /autoclean%"), "UACME #34", like(lower(Image),"c:\windows\system32\wusa.exe"), "UACME #36", like(lower(ParentImage),"c:\windows\%dccw.exe"), "UACME #37", like(lower(ParentImage),"c:\windows\system32\slui.exe"), "UACME #45")

Аналитика 2. Отключение контроля учетных записей

(source="WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode="1") OR (source="WinEventLog:Security" EventCode="4688") ParentImage="C:\Windows\System32\cmd.exe" CommandLine="reg.exeHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\SystemREG_DWORD /d 0*""

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

Некоторые методы обхода UAC полагаются на модификацию конкретных настроек реестра, доступных пользователю. Например:

  • Метод обхода eventvwr.exe использует ключ реестра [HKEY_CURRENT_USER]\Software\Classes\mscfile\shell\open\command.
  • Метод обхода sdclt.exe использует ключи реестра [HKEY_CURRENT_USER]\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe и [HKEY_CURRENT_USER]\Software\Classes\exefile\shell\runas\command\isolatedCommand. При анализе рекомендуется отслеживать несанкционированные изменения настроек реестра.

Техника обхода UAC интересна тем, что время от времени появляются новые методы ее применения, а старые реализации могут устраняться Microsoft (например, в обновлениях) в новых сборках Windows. Поэтому важно проверять, что способы обнаружения методов обхода UAC по-прежнему актуальны и отслеживают еще не устраненные методы.

Примечание. События Sysmon с идентификаторами 12 (создание/удаление ключа реестра), 13 (установка значения в реестре) и 14 (переименование ключа реестра и значения) можно использовать для создания методов обнаружения модификаций ключей реестра с целью обхода UAC.

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

IDM1051НазваниеОбновление ПООписание

Обновите Windows до последней версии и уровня исправлений, чтобы использовать новейшие меры защиты от обхода UAC.

IDM1047НазваниеАудитОписание

Проверьте системы Windows на предмет распространенных уязвимостей, связанных с обходом UAC, чтобы знать о степени риска и устранить проблемы в случае необходимости.

IDM1052НазваниеКонтроль учетных записейОписание

Несмотря на существование техник обхода UAC, разумно использовать самый высокий уровень применения UAC, когда это возможно, и уменьшать возможности обхода, которые существуют за счет таких техник, как Перехват поиска DLL-библиотек.

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

Удалите пользователей из группы локальных администраторов в системах.