Привилегии пользователя windows это

Обновлено: 02.07.2024

Права пользователей позволяют пользователям и группам в компьютерной среде пользоваться особыми привилегиями и правами на вход в систему. Администраторы могут назначать права учетным записям группы или отдельных пользователей. Эти права позволяют пользователям выполнять конкретные действия, такие как интерактивный вход в систему или архивирование файлов и каталогов.

Для упрощения администрирования учетных записей пользователя назначить привилегии следует в первую очередь учетным записям группы, а не отдельным учетным записям пользователя. При назначении привилегий учетной записи групп пользователи автоматически получают эти привилегии, когда становятся членами этой группы. Этот метод администрирования привилегий значительно проще назначения отдельных привилегий каждой учетной записи пользователя в момент создания учетной записи.

В следующей таблице перечислены и описаны предоставляемые пользователю привилегии.

Функционирование в виде части операционной системы

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

Процессы, требующие эту привилегию, вместо использования отдельной учетной записи пользователя со специально назначенной привилегией должны применять учетную запись «Локальная система», которая уже содержит эту привилегию. Эта привилегия назначается пользователям, только если на серверах организации запущены Windows 2000 или Windows NT 4.0 и используются приложения с паролями в виде обычного текста.

Добавление рабочих станций в домен

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

Это право пользователя используется только для контроллеров доменов. По умолчанию это право имеет любой прошедший проверки подлинности пользователь; он также может создавать до 10 учетных записей компьютера в домене.

Благодаря добавлению учетной записи в домен, компьютер распознает учетные записи и группы, существующие в доменной службе Active Directory (AD DS).

Контроллеры домена. «Прошедшие проверку»

Настройка квот памяти для процесса

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

Это право пользователя определено в объекте групповой политики «Контроллер домена по умолчанию» и локальной политике безопасности рабочих станций и серверов.

Архивирование файлов и каталогов

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

«Администраторы» и «Операторы архива»

Обход перекрестной проверки

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

Это право пользователя определено в объекте групповой политики «Контроллер домена по умолчанию» и локальной политике безопасности рабочих станций и серверов.

Рабочие станции и серверы. «Администраторы», «Операторы архива», «Опытные пользователи», «Пользователи», «Все»

Контроллеры домена. «Администраторы» и «Прошедшие проверку»

Изменение системного времени

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

Это право пользователя определено в объекте групповой политики «Контроллер домена по умолчанию» и локальной политике безопасности рабочих станций и серверов.

Рабочие станции и серверы. «Администраторы« и «Опытные пользователи»

Контроллеры домена. «Администраторы» и «Операторы сервера»

Создание файла подкачки

Позволяет создавать файл подкачки и изменять его размер. Для этого в группе Параметры быстродействия на вкладке Дополнительно диалогового окнаСвойства системы следует указать размер файла подкачки для определенного диска.

Создание объекта типа токен

Позволяет процессу создавать токен, который затем может использоваться для доступа к любому локальному ресурсу при применении NtCreateToken() или других API, создающих токен.

Процессы, требующие эту учетную запись, вместо использования отдельной учетной записи пользователя со специально назначенной привилегией должны применять учетную запись «Локальная система», которая уже содержит эту привилегию.

Создание глобальных объектов

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

«Администраторы» и «Локальная система»

Создание постоянных общих объектов

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

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

«Администраторы» и «Локальная система»

Разрешение доверия к учетным записям компьютеров и пользователей при делегировании

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

Пользователь или объект, получившие это право, должны иметь доступ на запись к управляющим флагам учетной записи объекта пользователя или компьютера. Серверный процесс, выполняемый на компьютере (или в пользовательском контексте), которому разрешено делегирование, может получить доступ к ресурсам другого компьютера, используя делегированные учетные данные клиента, пока в учетной записи клиента не будет установлен управляющий флаг Учетная запись не может быть делегирована.

Это право пользователя определено в объекте групповой политики «Контроллер домена по умолчанию» и локальной политике безопасности рабочих станций и серверов.

Контроллеры домена. «Администраторы»

Принудительное удаленное завершение работы

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

Это право пользователя определено в объекте групповой политики «Контроллер домена по умолчанию» и локальной политике безопасности рабочих станций и серверов.

Рабочие станции и серверы. «Администраторы»

Контроллеры домена. «Администраторы» и «Операторы сервера»

Создание аудитов безопасности

Олицетворение клиента после проверки подлинности

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

«Администраторы» и «Служба»

Увеличение приоритета выполнения

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

Загрузка и выгрузка драйверов устройств

Определяет, кто из пользователей может динамически загружать и выгружать драйверы устройств или другой код в режиме ядра. Данное пользовательское право не применяется к драйверам устройств Plug and Play. Поскольку драйверы устройств выполняются как доверенные (или с высокими привилегиями) программы, не назначайте эту привилегию другим пользователям. Вместо этого используйте API StartService().

Блокировка страниц в памяти

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

Нет; некоторые системные процессы имеют эту привилегию изначально

Управление аудитом и журналом безопасности

Определяет, кто из пользователей может указывать параметры аудита доступа к объектам для отдельных ресурсов, таких как файлы, объекты Active Directory и разделы реестра.

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

Изменение значения параметров аппаратной среды

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

    На компьютерах архитектуры x86 единственное значение аппаратной среды, которое можно изменить назначением данного права пользователя, - это параметр Последняя удачная конфигурация, который должен изменяться только системой.

«Администраторы» и «Локальная система»

Профилирование одного процесса

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

«Администраторы», «Опытные пользователи» и «Локальная система»

Профилирование производительности системы

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

«Администраторы» и «Локальная система»

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

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

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

Замена токена уровня процесса

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

Это право пользователя определено в объекте групповой политики «Контроллер домена по умолчанию» и локальной политике безопасности рабочих станций и серверов.

«Локальная служба» и «Сетевая служба»

Восстановление файлов и каталогов

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

В частности, это право пользователя подобно предоставлению следующих разрешений пользователю или группе для всех папок и файлов в системе:

    Обзор папок/Выполнение файлов

Рабочие станции и серверы. «Администраторы» и «Операторы архива»

Контроллеры домена. «Администраторы», «Операторы архива» и «Операторы сервера»

Завершение работы системы

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

Рабочие станции. «Администраторы», «Операторы архива», «Опытные пользователи», «Пользователи»

Серверы. «Администраторы», «Операторы архива», «Опытные пользователи»

Контроллеры домена. «Операторы учетных записей», «Администраторы», «Операторы архива», «Операторы сервера», «Операторы печати»

Синхронизация данных службы каталогов

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

Смена владельцев файлов или иных объектов

Определяет пользователей, которые могут стать владельцем любого защищаемого объекта системы, в том числе: объектов Active Directory, файлов и папок, принтеров, разделов реестра, процессов и потоков.

Чтобы просмотреть свои привилегии, в командной строке введите whoami /priv.

В этой статье рассмотрим права и привилегии пользователей в системе. Вы узнаете где они устанавливаются и чем права отличаются от привилегий.

Назначение прав и привилегий

Привилегии – это возможность выполнять связанные с системой операции, например выключение компьютера или изменение системного времени.

Право – разрешает или запрещает выполнять конкретный тип входа в систему, например локальный или вход по сети.

Для того чтобы управлять привилегиями и правами, нужно использовать ММС-оснастку “Локальная политика безопасности” (secpol.msc). В этой оснастке можно настроить и права и привилегии для пользователей или групп. Вы можете различить права от привилегий тем, что права связаны со входом в систему, а привилегии не связаны.

Назначение прав пользователей через редактор локальной политики безопасности

Права учетной записи

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

Возможные права:

  • право локального входа в систему (logon locally);
  • возможность входить в систему по сети (logon over the network);
  • право входить в систему через службу терминалов (logon through Terminal Services);
  • возможность входить в систему в качестве службы (logon as a service);
  • возможность входить в систему в качестве пакетного задания (logon as a batch job).

Привилегии

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

  • Резервное копирование файлов и каталогов. Заставляет NTFS предоставлять некоторый доступ к файлам, даже если дескриптор безопасности не дает таких разрешений.
  • Восстановление файлов и каталогов. Заставляет NTFS предоставлять некоторый доступ к файлам, даже если дескриптор безопасности не дает таких разрешений.
  • Повышение приоритета планирования. Требуется для повышения приоритета процесса.
  • Загрузка и выгрузка драйверов устройств.
  • Добавление рабочих станций в домен.
  • Выполнение операций сопровождения с томом. Например, выполнение дефрагментации или проверка диска.
  • Изменение маркера объекта. Например, разрешает запуск программ от имени администратора.
  • Управление аудитом и журналом безопасности. Необходимо для обращения к списку SACL.
  • Выключение системы.
  • Изменение системного времени.
  • Получение прав владения. Для файлов и других объектов.

Включение привилегий по требованию

Привилегии включаются по требованию, чтобы понять это, проведем эксперимент.

Запустите Process Explorer с повышенными привилегиями. А затем щелкните правой кнопкой мыши на часах в области уведомлений и выберите команду “Настройка даты и времени“. После чего найдите и откройте свойства процесса “SystemSettings.exe” в “Process Explorer“.

Далее, перейдите на вкладку “Security” и там вы увидите, что привилегия “SeTimeZonePrivilege” отключена:

Внутреннее устройство Windows. Права доступа и привилегии, изображение №2

Затем измените часовой пояс, закройте и снова откройте окно свойств процесса ” SystemSettings.exe “. И вы увидите, что привилегия “SeTimeZonePrivilege” включилась:

Внутреннее устройство Windows. Права доступа и привилегии, изображение №3

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

Привилегия обхода промежуточных проверок NTFS

А теперь разберём ещё одну интересную привилегию. Она позволяет получить доступ к файлу, даже если у вас нет доступа к папке в которой этот файл находится. Такая привилегия называется SeNotifyPrivilege.

Во-первых создайте папку, а внутри этой папки создайте новый текстовый документ. Затем перейдите в Проводнике к этому файлу, откройте его свойства и перейдите на вкладку “Безопасность“. Там щелкните на кнопке “Дополнительно” и снимите флажок “Наследование“. А затем примените изменения. Когда появится предложение удалить или скопировать права наследования, выберите “Копировать“.

Теперь измените безопасность новой папки, чтобы у вашей учетной записи не было никакого доступа к ней. Для этого выберите свою учетную запись, а затем выберите все флажки “Запретить” в списке разрешений.

Запустите программу “Блокнот“. В меню “Файл” выберите команду “Открыть” и перейдите к новому каталогу. Вы не сможете открыть его, так как доступ быть запрещен. Но вы можете в поле “Имя файла” диалогового окна “Открыть” набрать полный путь к новому файлу. После чего файл должен открыться.

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

Супер привилегии

Это очень серьёзные привилегии и при включенной системе UAC они будут предоставляться только приложениям запущенным на высоком уровне целостности ( high или выше). Ну и конечно учетная запись должна обладать этими привилегиями.

Вот список таких супер привилегий:

  • Проводить отладку программ. Пользователь с этой привилегией может открывать любой процесс в системе, не обращая внимания на имеющийся у процесса дескриптор безопасности. И может не только смотреть содержимое памяти процесса, но и выполнить свой код от имени этого процесса.
  • Приобретать права владения. Эта привилегия позволяет приобретать права владения любым объектом в системе.
  • Восстанавливать файлы и каталоги. Пользователь, получивший эту привилегию, может заменять любые файлы в системе своими собственными файлами.
  • Загружать и выгружать драйверы устройств. Такая привилегия позволит загрузить в систему любой драйвер, который будет работать в режиме ядра.
  • Создавать объект маркера. Эта привилегия может использоваться, чтобы запустить приложение с любым маркером доступа.
  • Действовать в качестве части операционной системы. Эта привилегия позволяет устанавливать доверенное подключение к LSASS, что даст возможность создавать новые сеансы входа в систему.

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

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

  • Привилегии управляют доступом к системным ресурсам и задачам, связанным с системой, в то время как права доступа управляют доступом к защищаемым объектам.
  • Системный администратор назначает привилегии учетным записям пользователей и групп, в то время как система предоставляет или запрещает доступ к защищаемому объекту на основе прав доступа, предоставленных ACE в списке DACL объекта.

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

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

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

Windows API определяет набор строковых констант, например SE _ ассигнпримаритокен _ NAME, для определения различных привилегий. Эти константы одинаковы для всех систем и определяются в Winnt. h. таблицу привилегий, определенных Windows, см. в разделе константы прав доступа. Однако функции, которые получают и корректируют привилегии в маркере доступа, используют тип LUID для распознавания привилегий. Значения LUID для привилегий могут отличаться от одного компьютера к другому и от одной загрузки к другому на том же компьютере. Чтобы получить текущий LUID , соответствующий одной из строковых констант, используйте функцию LookupPrivilegeValue . Используйте функцию лукуппривилеженаме для преобразования LUID в соответствующую строковую константу.

Система предоставляет набор отображаемых имен, описывающих каждый из привилегий. Они полезны, когда необходимо отобразить описание привилегий для пользователя. Используйте функцию лукуппривилежедисплайнаме для получения строки описания, которая соответствует строковой константе для привилегии. например, в системах, использующих английский язык (сша), отображаемое имя для _ _ привилегии SE SYSTEMTIME name — изменить системное время.

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

Системный администратор может использовать средства администрирования, такие как диспетчер пользователей, для добавления или удаления привилегий для учетных записей пользователей и групп. Администраторы могут программно использовать функции локального центра безопасности (LSA) для работы с привилегиями. Функции лсааддаккаунтригхтс и лсаремовеаккаунтригхтс добавляют или удаляют привилегии из учетной записи. Функция лсаенумератеаккаунтригхтс перечисляет привилегии, удерживаемые указанной учетной записью. Функция лсаенумератеаккаунтсвисусерригхт перечисляет учетные записи, которые содержат указанные привилегии.

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

Я вольно перевел и добавил немного от себя, того, что насобирал и узнал из других источников.

В общем, тут представлены способы, которые помогут нам достигнуть цели повышения привилегий.

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

В принципе, в начальный момент времени мы не понимаем машину: что она делает, к чему она подключена, какой уровень привилегий у нас есть или даже какая это операционная система.

Сначала нам нужно получить нужную нам информацию, чтобы понять, где мы вообще находимся и что имеем:


Эта команда позволяет определить, как из нее видно, Название и версию ОС. Можно выполнить ее и без параметров, тогда вывод команды будет более полным, но нам достаточно и этого.

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

  • hostname — имя пользователя.
  • echo %username% — имя пользователя.
  • net users — другие пользователи
  • net user user1 — детальная информация по пользователю, где user1 — имя вашего пользователя.

Сначала глянем на имеющиеся интерфейсы и таблицу маршрутизации.

  • ipconfig /all — информация об имеющихся интерфейсах.
  • route print — таблица маршрутизации
  • arp -A — таблица arp записей
  • netsh firewall show state — статус брандмауэра
  • netsh firewall show config — конфигурация брандмауэра


где
/query — Вывод данных о всех запланированных задачах,
/fo LIST — Вывод в список.
/v — Вывод подробных сведений о задании.

Следующая команда связывает запущенные процессы с запущенными службами.


где,
/SVC — Отображение служб для каждого процесса.

Также посмотрим список запущенных служб Windows.


Полезно также посмотреть информацию о драйверах скомпрометированной системы.


Далее хочется упомянуть о, наверное, самой полезной команде Windows — wmic. Команда WMIC (Windows Management Instrumentation Command) используется для получения сведений об оборудовании и системе, управления процессами и их компонентами, а также изменения настроек с использованием возможностей инструментария управления Windows (Windows Management Instrumentation или WMI). Хорошее описание.

К сожалению, некоторые конфигурации Windows по умолчанию не разрешают доступ к WMIC, если пользователь не входит в группу Администраторов (что действительно хорошая идея). Любая версия XP не позволяла доступ к WMIC с непривилегированной учетной записи.

Напротив, Windows 7 Professional и Windows 8 Enterprise по умолчанию позволяли пользователям с низкими привилегиями использовать WMIC.

По обычаю — параметры программы:

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

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

Как правило, это следующие каталоги:

  • c:\sysprep.inf
  • c:\sysprep\sysprep.xml
  • %WINDIR%\Panther\Unattend\Unattended.xml
  • %WINDIR%\Panther\Unattended.xml

Данные файлы содержат пароли в открытом виде или кодировке BASE64.
Примеры:

Sysprep.inf — пароль в открытом виде.


"

Sysprep.xml — пароль в кодировке base64.


"

Unattended.xml — пароль в кодировке base64.


Например, у меня лежит тут:


Открыв его, ищем параметр “cpassword”.


Далее нужно расшифровать данную последовательность. Используем, например, CrypTool. Сначала раскодируем Base64.
Особенности Base64 в том, что его длина должна быть кратна 4. Поэтому считаем блоки по 4, и если в последнем блоке не хватает символов, то недостающие дописываем символами «=».
У меня вышло 2 «=».


Далее расшифруем. Применяя тот ключ, что выше.


Убираем лишние точки, разделяющие знаки и получаем пароль.

В дополнение к Group.xml вот несколько других файлов предпочтений политики, которые могут иметь дополнительный набор атрибутов «cPassword”:

  • Services\Services.xml
  • ScheduledTasks\ScheduledTasks.xml
  • Printers\Printers.xml
  • Drives\Drives.xml
  • DataSources\DataSources.xml

Ладно, дальше. Будем искать странный параметр реестра „AlwaysInstallElevated“. Данный параметр разрешает непривилегированным пользователям устанавливать .msi файлы из-под NT AUTHORITY\SYSTEM.

Для того, чтобы иметь возможность использовать это, мы должны проверить, что оба раздела реестра установлены, и если это так, мы можем получить SYSTEM shell. Проверим:

В состав Metasploit входит специальный модуль exploit/windows/local/always_install_elevated, который создает MSI-файл со встроенным в него специальным исполняемым файлом, который извлекается и выполняется установщиком с привилегиями системы. После его выполнения msi-файл прекращает установку, чтобы предотвратить регистрацию действия в системе. К тому же если запустить установку с ключом /quiet, то даже не выведется ошибка.

Ну и немного полезных команд по поиску по системе:

Команда ниже будет искать в файловой системе имена файлов, содержащие определенные ключевые слова. Вы можете указать любое количество ключевых слов.


Поиск определенных типов файлов по ключевому слову, эта команда может генерировать много выходных данных.


Аналогично две команды ниже могут быть использованы для grep реестра по ключевым словам, в данном случае „password“.

На данный момент у нас уже есть достаточно, чтобы получить системный шел. Но есть еще пара направленbй атаки для получения желаемого результата: мы рассмотрим службы Windows и разрешения для файлов и папок. Наша цель здесь — использовать слабые разрешения для повышения привилегий сеанса.

Мы можем проверить необходимый уровень привилегий для каждой службы с помощью accesschk.

Мы можем видеть разрешения, которые имеет каждый уровень пользователя.


Accesschk может автоматически проверять, есть ли у нас доступ на запись к службе Windows с определенным уровнем пользователя. Как правило, как пользователь с низкими привилегиями, мы хотим проверить „Пользователей“. Удостоверьтесь, что проверили, к каким группам пользователей вы принадлежите.

-c В качестве имени указана служба Windows, например ssdpsrv (укажите “*” для вывода на экран всех служб)
-d Обрабатывать только каталоги
-e Выводить только явным образом заданные уровни целостности (только для ОС Windows Vista)
-k В качестве имени указан раздел реестра, например hklm\software
-n Выводить только объекты, не имеющие правил доступа
-p В качестве имени указано имя или идентификатор процесса (PID), например cmd.exe (укажите в качестве имени “*”, чтобы вывести на экран все процессы)
-q Опустить заголовок
-r Выводить только объекты, к которым есть право доступа на чтение
-s Рекурсивная обработка
-v Выводить подробную информацию
-w Выводить только объекты, к которым есть право доступа на запись


Также есть еще одна интересная команда:


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

Далее рассмотрим две уязвимости:

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

Как правило, приложение Windows будет использовать предопределенные пути поиска, чтобы найти dll, и он будет проверять эти пути в определенном порядке. Dll угон обычно происходит путем размещения вредоносных dll по одному из этих путей. Эта проблема может быть устранена путем указания приложению абсолютных путей к необходимой dll.

Порядок поиска dll:

  1. Директория с которой запущено приложение
  2. 32-bit System directory (C:\Windows\System32)
  3. 16-bit System directory (C:\Windows\System)
  4. Windows directory (C:\Windows)
  5. Действующая рабочая директория (CWD)
  6. Directories in the PATH environment variable (system then user)

Так как dll не существует, мы в конечном итоге прохождения всех путей поиска. Как пользователь с низким уровнем привилегий у нас немного шансов положить вредоносный dll в п. 1-4, 5. Но если у нас есть доступ на запись в любой из каталогов, то наши шансы на победу велики.

Давайте посмотрим, как это работает на практике, для нашего примера мы будем использовать IKEEXT (модули ключей IPSec IKE и AuthIP) сервис, который пытается загрузить wlbsctrl.dll.

Любой каталог в „C:\“ даст доступ на запись для аутентифицированных пользователей, это дает нам шанс.

F — полный доступ.
(OI) — наследование объектами.
(CI) — наследование контейнерами.
(IO) — только наследование.
(NP) — запрет на распространение наследования.
(I)- наследование разрешений от родительского контейнера.

Прежде чем перейти к действию, необходимо проверить состояние службы IKEEXT. В этом случае мы можем увидеть, что он установлен на „AUTO_START“!

Теперь мы знаем, что у нас есть необходимые условия, и мы можем создать вредоносную dll и перехвата оболочки!

Используем Metasploit -> msfvenom, это например.


После передачи evil.dll на наш целевой компьютер все, что нам нужно сделать, это переименовать его в wlbsctrl.dll и переместить в „C:\Python27“. Как только это будет сделано, нам нужно терпеливо ждать перезагрузки машины (или мы можем попытаться принудительно перезагрузить), и мы получим системную оболочку.


После этого осталось только дождаться перезагрузки системы.

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

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


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

Можно закодировать дополнительно.


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

Эти два примера должны дать нам представление об уязвимостях, которые необходимо искать при рассмотрении разрешений для файлов и папок. Потребуется время, чтобы изучить все пути binpath для служб windows, запланированные задачи и задачи автозапуска.

В данной лекции будут рассмотрены вопросы структуры системы безопасности, особенности ролевого доступа и декларируемая политика безопасности системы.

Система контроля дискреционного доступа - центральная концепция защиты ОС Windows , однако перечень задач, решаемых для обеспечения безопасности, этим не исчерпывается. В данном разделе будут проанализированы структура, политика безопасности и API системы защиты.

Изучение структуры системы защиты помогает понять особенности ее функционирования. Несмотря на слабую документированность ОС Windows по косвенным источникам можно судить об особенностях ее функционирования.

Структура системы безопасности ОС Windows


Рис. 14.1. Структура системы безопасности ОС Windows

Система защиты ОС Windows состоит из следующих компонентов (см. рис. 14.1).

Все компоненты активно используют базу данных Lsass, содержащую параметры политики безопасности локальной системы, которая хранится в разделе HKLM\SECURITY реестра.

Как уже говорилось во введении, реализация модели дискреционного контроля доступа связана с наличием в системе одного из ее важнейших компонентов - монитора безопасности. Это особый вид субъекта, который активизируется при каждом доступе и в состоянии отличить легальный доступ от нелегального и не допустить последний. Монитор безопасности входит в состав диспетчера доступа ( SRM ), который, согласно описанию, обеспечивает также управление ролевым и привилегированным доступом.

Политика безопасности

При оценке степени защищенности операционных систем действует нормативный подход, в соответствии с которым совокупность задач, решаемых системой безопасности, должна удовлетворять определенным требованиям - их перечень определяется общепринятыми стандартами. Система безопасности ОС Windows отвечает требованиям класса C2 "оранжевой" книги [ DoD ] и требованиям стандарта Common Criteria , которые составляют основу политики безопасности системы. Политика безопасности подразумевает ответы на следующие вопросы: какую информацию защищать, какого рода атаки на безопасность системы могут быть предприняты, какие средства использовать для защиты каждого вида информации.

Требования, предъявляемые к системе защиты, таковы

  1. Каждый пользователь должен быть идентифицирован уникальным входным именем и паролем для входа в систему. Доступ к компьютеру предоставляется лишь после аутентификации. Должны быть предприняты меры предосторожности против попытки применения фальшивой программы регистрации (механизм безопасной регистрации).
  2. Система должна быть в состоянии использовать уникальные идентификаторы пользователей, чтобы следить за их действиями (управление избирательным или дискреционным доступом). Владелец ресурса (например, файла) должен иметь возможность контролировать доступ к этому ресурсу.
  3. Управление доверительными отношениями. Необходима поддержка наборов ролей (различных типов учетных записей). Кроме того, в системе должны быть средства для управления привилегированным доступом.
  4. ОС должна защищать объекты от повторного использования. Перед выделением новому пользователю все объекты, включая память и файлы, должны быть проинициализированы.
  5. Системный администратор должен иметь возможность учета всех событий, относящихся к безопасности ( аудит безопасности ).
  6. Система должна защищать себя от внешнего влияния или навязывания, такого, как модификация загруженной системы или системных файлов, хранимых на диске.

Надо отметить, что, в отличие от большинства операционных систем, ОС Windows была изначально спроектирована с учетом требований безопасности, и это является ее несомненным достоинством. Посмотрим теперь, как в рамках данной архитектуры обеспечивается выполнение требований политики безопасности.

Ролевой доступ. Привилегии

Понятие привилегии

С целью гибкого управления системной безопасностью в ОС Windows реализовано управление доверительными отношениями (trusted facility management), которое требует поддержки набора ролей (различных типов учетных записей) для разных уровней работы в системе. Надо сказать, что эта особенность системы отвечает требованиям защиты уровня B "оранжевой" книги, то есть более жестким требованиям, нежели перечисленные в разделе "Политика безопасности". В системе имеется управление привилегированным доступом, то есть функции администрирования доступны только одной группе учетных записей - Administrators (Администраторы.).

В соответствии со своей ролью каждый пользователь обладает определенными привилегиями и правами на выполнение различных операций в отношении системы в целом, например, право на изменение системного времени или право на создание страничного файла. Аналогичные права в отношении конкретных объектов называются разрешениями. И права, и привилегии назначаются администраторами отдельным пользователям или группам как часть настроек безопасности. Многие системные функции (например, LogonUser и InitiateSystemShutdown ) требуют, чтобы вызывающее приложение обладало соответствующими привилегиями.

Каждая привилегия имеет два текстовых представления: дружественное имя, отображаемое в пользовательском интерфейсе Windows, и программное имя, используемое приложениями, а также Luid - внутренний номер привилегии в конкретной системе. Помимо привилегий в Windows имеются близкие к ним права учетных записей. Привилегии перечислены в файле WinNT.h, а права - в файле NTSecAPI.h из MS Platform SDK. Чаще всего работа с назначением привилегий и прав происходит одинаково, хотя и не всегда. Например, функция LookupPrivelegeDisplayName , преобразующая программное имя в дружественное, работает только с привилегиями.

Ниже приведен перечень программных и отображаемых имен привилегий (права в отношении системы в данном списке отсутствуют) учетной записи группы с административными правами в ОС Windows 2000.

  1. SeBackupPrivilege (Архивирование файлов и каталогов)
  2. SeChangeNotifyPrivilege (Обход перекрестной проверки)
  3. SeCreatePagefilePrivilege (Создание страничного файла)
  4. SeDebugPrivilege (Отладка программ)
  5. SeIncreaseBasePriorityPrivilege (Увеличение приоритета диспетчирования)
  6. SeIncreaseQuotaPrivilege (Увеличение квот)
  7. SeLoadDriverPrivilege (Загрузка и выгрузка драйверов устройств)
  8. SeProfileSingleProcessPrivilege (Профилирование одного процесса)
  9. SeRemoteShutdownPrivilege (Принудительное удаленное завершение)
  10. SeRestorePrivilege (Восстановление файлов и каталогов)
  11. SeSecurityPrivilege (Управление аудитом и журналом безопасности)
  12. SeShutdownPrivilege (Завершение работы системы)
  13. SeSystemEnvironmentPrivilege (Изменение параметров среды оборудования)
  14. SeSystemProfilePrivilege (Профилирование загруженности системы)
  15. SeSystemtimePrivilege (Изменение системного времени)
  16. SeTakeOwnershipPrivilege (Овладение файлами или иными объектами)
  17. SeUndockPrivilege (Извлечение компьютера из стыковочного узла)

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

Внутренний номер привилегии используется для специфицирования привилегий, назначаемых субъекту, и однозначно связан с именами привилегии. Например, в файле WinNT.h это выглядит так:

Читайте также: