Windows

Повышение привилегий в Windows

В этой статье мы расскажем, как красная команда Mandiant исследует и использует уязвимости нулевого дня в сторонних установщиках Windows, что должны делать разработчики программного обеспечения, чтобы снизить риск использования, а также представим новый инструмент для упрощения подсчета кэшированных установщиков программного обеспечения Microsoft. (MSI) файлы: msi_search. Мы рассмотрим как осуществлять повышение привилегий с помощью сторонних установщиков Windows

Фон установщика программного обеспечения Microsoft

Файлы MSI — это файлы базы данных, содержащие данные и инструкции по установке и удалению программного обеспечения в операционных системах Windows. Организации обычно используют файлы MSI в своем стандартизированном формате, что упрощает управление установкой, обслуживанием и удалением программного обеспечения. Файлы MSI также обеспечивают гибкость разработчикам программного обеспечения, позволяя им выполнять дополнительный код во время установки, удаления или ремонта с помощью настраиваемых действий. Эти действия позволяют разработчикам настраивать процесс установки и выполнять конкретные задачи по мере необходимости.

При установке программного обеспечения с файлами MSI Windows кэширует их в папке C:\Windows\Installer, используя случайные имена файлов, состоящие из буквенно-цифровых символов, за которыми следует расширение «.msi». Это позволяет обычным пользователям получать доступ и использовать функцию «восстановления», которая предназначена для решения различных проблем, таких как отсутствующие файлы, неработающие ярлыки, неправильные записи реестра и другие сбои программного обеспечения. Во время восстановления MSI некоторые операции, такие как создание или выполнение файла, могут быть запущены из контекста NT AUTHORITY\SYSTEM, даже если они инициированы обычным пользователем.

Потенциальные злоупотребления

Возможность инициировать операцию из контекста NT AUTHORITY\SYSTEM может представлять потенциальную угрозу безопасности, если ею не управлять должным образом. Например, неправильно настроенные пользовательские действия, выполняемые как NT AUTHORITY\SYSTEM, могут быть использованы злоумышленниками для выполнения локальных атак с целью повышения привилегий. Одна конкретная неправильная конфигурация предполагает выполнение файловых операций в папке, в которой обычные пользователи имеют права записи. Это позволяет злоумышленникам изменять файлы, используемые NT AUTHORITY\SYSTEM, позволяя им запускать произвольный код и повышать свои привилегии.

Microsoft Process Monitor (ProcMon) можно использовать для анализа и мониторинга файловых операций в системе Windows. Чтобы отфильтровать результаты и сосредоточиться только на файловых операциях процесса NT AUTHORITY\SYSTEM, выполняемых в папке, где стандартные пользователи имеют права записи, мы настраиваем фильтры ProcMon, перечисленные на рисунке 1. Важно отметить, что стандартные пользователи имеют права записи для системные папки C:\Windows\Temp и C:\ProgramData и иногда могут иметь чрезмерные привилегии для своих подпапок из-за наследования разрешений. Поэтому эти пути также следует учитывать при настройке фильтров.

Рисунок 1:Фильтры ProcMon для анализа небезопасных файловых операций из NT AUTHORITY\System

После настройки восстановление MSI можно запустить с помощью API установщика Windows или запустив «msiexec.exe /fa C:\Windows\Installer\[XXXXX].msi».

Анализ CVE-2023-26077

В этом примере мы проанализируем установщик MSI для агента Atera 1.8.3.6 с использованием вышеупомянутых фильтров ProcMon. При запуске функции восстановления MSI мы видим, что файл AgentPackageUpgradeAgent.exe выполняется как NT AUTHORITY\SYSTEM из папки C:\Windows\Temp\AteraUpgradeAgentPackage, как показано на рисунке 2. Кроме того, мы можем видеть попытки процесса загрузиться. отсутствуют файлы библиотеки динамической компоновки (DLL) из той же папки. Из-за того, что обычные пользователи имеют права на запись в C:\Windows\Temp\AteraUpgradeAgentPackage, который содержит разрешения, унаследованные от C:\Windows\Temp, функция восстановления установщика MSI уязвима для локальной атаки с повышением привилегий, которую можно использовать посредством перехвата DLL.

Рисунок 2: Процесс пытается загрузить отсутствующие библиотеки DLL

Рисунок 3:Разрешения папки AteraUpgradeAgentPackage

Чтобы воспользоваться уязвимостью, мы просто помещаем полезную нагрузку в качестве одной из недостающих библиотек DLL в C:\Windows\Temp\AteraUpgradeAgentPackage, например CRYPTSP.dll, а затем запускаем восстановление MSI, чтобы получить командную строку с именем NT AUTHORITY\SYSTEM.

Рисунок 4:Локальное повышение привилегий посредством перехвата DLL

Анализ CVE-2023-26078

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

В случае установщика Atera для Windows функция восстановления запускает net.exe и Taskkill.exe как NT AUTHORITY\SYSTEM, оба из которых порождают conhost.exe как дочерний процесс. Это действие вызывает кратковременное появление командного окна, которое можно заморозить, быстро выбрав часть окна мышью, как показано на рисунке 6.

Рисунок 5. Отношения родительского и дочернего процессов net.exe.

Рис. 6. Приостановка выполнения net.exe путем выделения части командного окна мышью.

Получив доступ к «Свойствам» командного окна, злоумышленник может получить доступ к нескольким гиперссылкам, которые можно использовать для открытия веб-браузера под именем NT AUTHORITY\SYSTEM. Важно отметить, что для учетной записи NT AUTHORITY\SYSTEM нет веб-браузера, настроенного для открытия гиперссылок по умолчанию. Таким образом, злоумышленнику предоставляется возможность выбрать веб-браузер, как показано на рисунке 7. После выбора веб-браузера оставшиеся шаги для локальной атаки с повышением привилегий включают открытие меню «Печать»; печать веб-страницы в формате PDF для запуска Проводника; и, наконец, выполнение командной строки как NT AUTHORITY\SYSTEM.

Рисунок 7. Открытие гиперссылок с помощью выбранного веб-браузера.

Рисунок 8. Открытие командной строки через веб-браузер.

Программный поиск файлов MSI

Красная команда Mandiant обнаружила множество подобных уязвимостей в сторонних установщиках Windows, которые впоследствии были использованы во время оценок красной команды. Однако определение того, какие файлы MSI соответствуют какому программному обеспечению, может оказаться утомительной задачей, поскольку Windows кэширует файлы MSI со случайными буквенно-цифровыми символами. Чтобы упростить эту задачу, красная команда Mandiant создала объектный файл маяка (BOF) и сценарий PowerShell, найденный в msi_search, для чтения и вывода соответствующих метаданных для всех файлов MSI, кэшированных в C:\Windows\Installer. Использование этого инструмента позволит операторам красной команды и группам безопасности загружать соответствующие файлы для исследования локальных уязвимостей повышения привилегий посредством ремонта MSI.

Рисунок 9: Фрагмент msi_search BOF

Оборонительные соображения

Неправильно настроенные пользовательские действия легко обнаружить и использовать, что представляет собой серьезную угрозу безопасности для организаций. Разработчикам программного обеспечения важно тщательно проверять свои пользовательские действия, чтобы не допустить перехвата злоумышленниками операций NT AUTHORITY\SYSTEM, вызванных восстановлением MSI.

При настройке дополнительных действий важно помнить, что в Windows стандартные пользователи имеют разрешения на запись в следующие папки, а также могут иметь разрешения на запись в их подпапки из-за наследования разрешений:

      • C:\Windows\Temp
      • C:\ProgramData
      • C:\ (ability to create folders)
      • C:\Users\XXXX\*

Следовательно, разработчики программного обеспечения должны помнить об этом и обеспечивать должную защиту любого привилегированного процесса, использующего эти папки. Альтернативно, использование папок C:\Program Files или C:\Program Files (x86) может помешать злоумышленнику перехватить выполнение, поскольку эти папки по умолчанию защищены административными привилегиями.

Atera исправила CVE-2023-26077 в версии 1.8.3.7, усилив защиту папки C:\Windows\Temp\AteraUpgradeAgent, чтобы запретить обычным пользователям записывать в нее файлы, тем самым заблокировав возможность злоумышленника выполнить атаку перехвата DLL.

Рис. 10. Исправление CVE-2023-26077 в агенте Atera 1.8.3.7.

Разработчикам программного обеспечения также важно проявлять осторожность при использовании системных команд, которые запускают conhost.exe в качестве дочернего процесса. Как показано в CVE-2023-26078, выполнение net.exe в качестве настраиваемого действия может временно открыть командное окно, которое злоумышленники могут использовать для повышения своих привилегий. Чтобы снизить этот потенциальный риск безопасности, разработчики программного обеспечения должны использовать WixQuietExec для автоматического запуска системных команд в фоновом режиме. WixQuietExec позволяет выполнять команды без отображения командного окна, что значительно снижает вероятность взлома. Atera обратилась к CVE-2023-26078 в версии 1.8.4.9.

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

Рисунок 11. Идентификатор события 11728

Заключение

Представьте себе: вы наконец-то преодолели периметр строго охраняемой организации. Вы чувствуете себя вполне довольным, пока не осознаете, что у вас есть только привилегии Active Directory только что нанятого стажера, и волнение улетучивается. Однако, применив некоторые хитрые уловки и немного удачи, вы, возможно, сможете подняться по корпоративной лестнице и получить повышение до СИСТЕМЫ. Добро пожаловать в игру с высокими ставками по повышению привилегий!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click to rate this post!
[Total: 0 Average: 0]
faza

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

10 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

11 месяцев ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

11 месяцев ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

11 месяцев ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

11 месяцев ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

11 месяцев ago