Какие способы закрепления впо в пространстве пользователя существуют windows

Обновлено: 04.07.2024

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

Теоретическая часть

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

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

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

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

Windows XP использует три типа учетных записей пользователей:

  1. Локальные учетные записи для регистрации пользователей локального компьютера. База локальных учетных записей хранится на каждом компьютере своя, и содержит информацию о пользователях только данного компьютера. Создаются учетные записи администратором этого компьютера.
  2. Встроенные учетные записи пользователей создаются автоматически при установке Windows XP. Встроенных учетных записей две — Администратор и Гость. Встроенные учетные записи хранятся в той же базе, что и локальные учетные записи.
  3. Учетные записи пользователей домена хранятся на выделенном сервере и содержат данные о пользователях локальной сети.

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

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

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

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

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

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

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

К стандартным группам Windows XP относятся следующие группы:

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

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

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

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

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

Группа "Гости" позволяет случайным или разовым пользователям войти в систему со встроенной учетной записью гостя рабочей станции и получить ограниченные возможности. Члены группы "Гости" могут только прекратить работу компьютера.

Управление учетными записями пользователей и группами осуществляется пользователями, входящими в группу Администраторы.

Разграничение прав доступа в Windows


Статья о разграничении прав доступа в операционных системах Windows: дискретном и мандатном. В статье рассматриваются разграничения прав доступа к папкам и файлам на уровне операционной системы Windows и с помощью Secret Net.

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

Для того, что бы настроить правила безопасности для папок нужно воспользоваться вкладкой «Безопасность». В Windows XP эта вкладка отключена по умолчанию. Для ее активации нужно зайти в свойства папки (Меню «Сервис» -> «Свойства папки» -> «Вид») и снять флажок «Использовать простой общий доступ к файлам».

Свойства папки

Основные права доступа к папкам

В файловой системе NTFS в Windows XP существует шесть стандартных разрешений:

  1. Полный доступ;
  2. Изменить;
  3. Чтение и выполнение;
  4. Список содержимого папки;
  5. Чтение;
  6. Запись.

Основные права доступа к папкам Windows XP

В Windows 10 нет стандартного разрешения «Список содержимого папки».

Основные права доступа к папкам Windows10

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

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

Создайте папки по названиям разрешений, всего у вас будет 6 папок для Windows XP и для Windows 10. Я рассмотрю на примере Windows XP, на «десятке» вам будет проще. Скачайте папки по ссылке и скопируйте в них содержимое (не сами папки, а то, что в них находится).

Каталоги для примера

Отройте вкладку «Безопасность» в свойствах папки «Список содержимого папки». У меня есть пользователь user, вы можете добавить своего. Для того, что бы изменить право на объект нужно выбрать пользователя и указать ему разрешение, в данном случае «Список содержимого папки». Затем нажмите «Применить» и «ОК».

Выбор пользователя Список содержимого

По аналогии установите права для соответствующих папок.

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

Смена пользователя

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

Элементы разрешений на доступ

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

Просмотреть элементы разрешений на доступ можно, нажав на кнопку «Дополнительно» во вкладке «Безопасность» и выбрав любой элемент разрешений.

Элементы разрешений на доступ

Поэкспериментируйте с элементами и проверьте, как они работаю.

Элементы разрешений на доступ для записи

Элементы разрешений на доступ для записи

Владелец файла

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

Узнать, какой пользователь является владельцем файла или папки можно на закладке «Владелец» в дополнительных параметрах безопасности.

Владелец файла в NTFS

Наследование прав доступа

В файловой системе NTFS поддерживается наследование разрешений. Если вы устанавливаете разрешение на папку, то оно наследуется для всех вложенных файлов и папок.

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

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

Отключение наследования разрешений

Запреты

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

Запреты на объекты в файловой системе NTFS

Запреты на объекты в файловой системе NTFS

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

Действующие разрешения

Разграничение прав доступа с помощью Secret Net (на примере версии 5.1)

При использовании Secret Net доступ к файлам осуществляется, в случае если пользователю присваивается соответствующий уровень допуска. В примере я использую Windows XP с установленным программным продуктом Secret Net 5.1.

Первым делом нужно запустить локальные параметры безопасности от имени Администратора: «Пуск –> Программы –> Secret Net 5 –> Локальная политика безопасности».

Локальная политика безопасности

Далее необходимо перейти в «Параметры Secret Net» –> «Настройка подсистем» –> «Полномочное управление доступом: название уровней конфиденциальности».

Полномочное управление доступом: название уровней конфиденциальности

Введите названия уровней. У меня это:

  • Низший – Общедоступно.
  • Средний – Конфиденциально.
  • Высший – Секретно.

Название уровней доступа

Настройка субъектов

Настройка субъектов в Secret Net производится в группе «Локальные пользователи и группы». Зайдите в меню «Пуск» –> «Программы» –> «Secret Net 5» –> «Управление компьютером» –> «Локальные пользователи и группы» –> «Пользователи».

Что бы настроить права администратора нужно выбрать учетную запись «Администратор» и перейти на вкладку Secret Net 5. Установим уровень доступа «секретно».

Настройка субъектов

Далее установите все флажки.

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

Уровни доступа пользователя

После установки всех флажков нажмите «Применить» и «ОК».

Создадим нового пользователя. Для этого нужно перейти «Локальные пользователи и Группы» –> «Пользователи». Создайте новых пользователей, я назову их «Конфиденциальный» и «Секретный». По аналогии с пользователем Администратор установите для новых пользователей аналогичные уровни доступа и настройки как на рисунках ниже.

Создание нового пользователя

Настройка объектов

Та или иная категория конфиденциальности является атрибутом папки или файла. Изменения этих атрибутов производятся уполномоченными пользователями (в данном случае Администратором). Категория конфиденциальности может присваиваться новым файлам или папкам автоматически или по запросу.

Автоматическое присваивание категории конфиденциальности можно включить или отключить в окне настройки свойств папки. Этот параметр может редактировать только пользователь, у которого есть права на «Редактирование категорий конфиденциальности».

Автоматическое присвоение категорий конфиденциальности

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

Попробуйте создать в паке новый файл или каталог, а после чего изменить ее уровень (повысить) и установить флажок «Автоматически присваивать новым файлам». У вас появиться окно «Изменение категорий конфиденциальности».

Выберите пункт «Присвоение категорий конфиденциальности всем файлам в каталоге» и нажмите «ОК» для присвоения категории конфиденциальности всем файлам кроме скрытых и системных файлов.

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

Если пользователь с категорией «Общедоступно» попробует прочитать или удалить документ, то он получит соответствующие ошибки.

Отказано в доступе

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

Если вы зайдете под пользователем «Секретный» то вы сможете повысить уровень конфиденциальности файлов и работать с ними.

Повышение уровня конфиденциальности

Не стоит забывать, что конфиденциальные файлы нельзя копировать в общедоступные папки, чтобы не допустить их утечки.

Контроль потоков данных

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

Для этого нужно запустить «Локальные параметры безопасности»: «Пуск» – «Программы» –> «Secret Net 5» –> «Локальная политика безопасности», затем перейти в группу «Параметры Secret Net» –> «Настройки подсистем» и выбрать параметр «Полномочное управление доступом: Режим работы» и включить контроль потоков. Изменения вступят в силу после перезагрузки компьютера.

Полномочное управление доступом: Режим работы

Если зайти (после перезагрузки) под пользователем «Секретный» появиться выбор уровня конфиденциальности для текущего сеанса. Выберите секретный уровень.

Выбор уровня конфиденциальности

Если вы откроете файл с уровнем «Конфиденциально», отредактируете его и попробуете сохранить под другим именем и в другую папку, то вы получите ошибку, так как уровень сеанса (секретный) выше, чем уровень файла (конфиденциальный) и включен контроль потоков данных.

На этом все, если у вас остались вопросы задавайте их в комментариях.

Анатолий Бузов

Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.

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

Введение

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

Варианты

Итак, какие у нас есть возможности приподняться в мире Windows? Прежде всего, в последнее время в ядре ОС было найдено достаточно уязвимостей, связанных с парсингом шрифтов, что делает процесс повышения привилегий достаточно простым, если на руках есть подходящий сплоит. Если ты используешь Metasploit, то достаточно всего лишь одной команды, чтобы получить системный шелл. Однако все это с большой вероятностью успешно сработает только в том случае, если система не полностью пропатчена. Если же на машине установлены все обновления, то, в отличие от Linux, здесь не получится найти SUID-бинарников, а переменные окружения обычно не передаются сервисам или процессам с более высокими привилегиями. Что же в результате нам остается?

От админа до системы, или то, что знают все

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

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

Третий способ заключается в подмене системной утилиты C:\windows\system32\sethc.exe на, например, cmd . Если после этого разлогиниться и нажать несколько раз клавишу Shift , то появится консоль с системными правами.

Что касается автоматизированных способов, то на ум сразу же приходит Metasploit и его getsystem . Альтернативным вариантом можно считать PsExec от Sysinternals ( psexec -i -s -d cmd.exe ).

Мы пойдем другим путем

У всех названных методов есть общий недостаток: необходимы администраторские привилегии. Это означает, что мы повышаем привилегии уже из-под привилегированного аккаунта. В большинстве случаев, когда ты получил админские права, у тебя на руках появляется куча вариантов, как подняться еще выше. Так что это не очень сложная задача. Мы же поговорим сегодня о методах повышения привилегий, не использующих какие-либо 0day-уязвимости, полагая, что у нас обычная система и на руках аккаунт обычного непривилегированного пользователя.

Охота за credentials

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

Unattended Installs

В случае автоматизированной установки на клиенте остается достаточно любопытный для нас файл Unattended.xml , который обычно находится либо в %WINDIR%\Panther\Unattend\ , либо в %WINDIR%\Panther\ и может хранить пароль администратора в открытом виде. С другой стороны, чтобы получить этот файл с сервера, не требуется даже никакой аутентификации. Надо найти лишь "Windows Deployment Services" сервер. Для этого можно воспользоваться скриптом auxiliary/scanner/dcerpc/windows_deployment _services из Metasploit. И хотя Windows Deployment Services не единственный способ выполнения автоматизированных инсталляций, файл Unattended.xml считается стандартом, так что его обнаружение можно приравнять к успеху.

Пример файла Unattended.xml с сохраненными данными

Пример файла Unattended.xml с сохраненными данными

XML-файлы настроек групповой политики безопасности (Group Policy Preference) довольно часто содержат в себе набор зашифрованных учетных данных, которые могут использоваться для добавления новых пользователей, создания шар и так далее. На счастье, метод шифрования документирован, таким образом, можно запросто получить пароли в чистом виде. Более того, команда Metasploit уже все сделала за тебя — достаточно воспользоваться модулем /post/windows/gather/credentials/gpp.rb . Если тебе интересны подробности, то вся необходимая информация доступна по этой ссылке.

Пользовательские права

Очень часто повышение привилегий оказывается следствием неправильно настроенных пользовательских прав. Например, когда пользователь домена является локальным администратором (или Power User’ом) на хосте. Или когда пользователи домена (или члены доменных групп) являются локальными админами на всех хостах. В таком случае тебе уже толком не придется ничего делать. Но такие варианты подворачиваются не так часто.

AlwaysInstallElevated

Иногда администраторы позволяют обычным пользователям самостоятельно устанавливать программы, обычно делается это через следующие ключи реестра:

Они указывают системе, что любой MSI-файл должен устанавливаться с повышенными привилегиями (NT AUTHORITY\SYSTEM). Соответственно, задействовав специальным образом созданный файл, можно опять же выполнить действия от имени системы и прокачать свои привилегии.

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

Пропавший автозапуск

После чего, как ты догадался, останется только как-то подсунуть на место пропавшего файла своего кандидата.

Магия кавычек

Да-да, кавычки могут не только сыграть злую шутку в SQL-запросах, позволив провести инъекцию, но и помочь поднять привилегии. Проблема довольно старая и известна со времен NT. Суть в том, что пути до исполняемых файлов некоторых сервисов оказываются не обрамленными кавычками (например, ImagePath=C:\Program Files\Common Files\Network Associates\McShield\McShield.exe ), при этом в пути присутствуют символы пробела. В таком случае, если атакующий создаст файл, который будет добавлять новых админов в систему или выполнять еще какие-то действия, и назовет его C:\Program Files\common.exe , то при последующем запуске сервиса запустится именно common.exe , а оставшаяся часть пути будет воспринята в качестве аргумента (аргументов). Понятно, что в Program Files непривилегированный пользователь положить ничего не сможет, но исполняемый файл сервиса может находиться и в другой директории, то есть у юзера будет возможность подсунуть свой файл.

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

Правда, на XP это потребует привилегий админа, поэтому там лучше воспользоваться следующим методом: получить список сервисов — sc query , далее смотреть информацию по каждому сервису — sc qc servicename .

Все по плану

Еще один механизм, который может помочь поднять права и про который обычно забывают, — планировщик задач. Утилита schtasks позволяет вешать задачи на определенные события. Наиболее интересные для нас — ONIDLE, ONLOGON и ONSTART. Как следует из названий, ONIDLE будет выполняться каждый раз при простое компьютера, ONLOGON и ONSTART — при входе пользователя и при запуске системы соответственно. Таким образом, на каждое из событий можно повесить отдельную задачу. Например, при запуске системы копировать куда-либо вредоносный бинарник/кейлоггер/. и запускать его. При входе пользователей в систему — запускать дампер кредитных карт. Короче, все ограничивается только твоей фантазией и поставленной задачей.

Фокусы с разрешениями

Разрешения на доступ к файлам — это обычно первое защитное средство, которое мешает поднять нам свои привилегии. Было бы заманчиво просто так переписать какой-либо системный файл (например, тот же самый sethc.exe, упомянутый в самом начале статьи) и получить сразу системные привилегии. Но все это лишь мечты, на деле у нас есть лишь разрешение на его чтение, которое нам ровным счетом ничего не дает. Однако не стоит вешать нос, ибо с разрешениями тоже не все так гладко — здесь, как и везде, существуют свои подводные камни, знание которых позволяет делать невозможное возможным.

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

Еще одно из ограничений — обычному смертному не позволяется писать в корень системного диска. Однако, например, на XP при создании новой директории в корне диска группа BUILTIN\Users получает FILE_APPEND_DATA и FILE_WRITE_DATA разрешения (даже если владельцем папки является администратор):

На «семерке» происходит почти то же самое, только разрешения получает группа AUTHENTICATED USERS. Каким образом такое поведение может превратиться в проблему? Просто некоторые приложения устанавливают себя вне защищенных директорий, что позволит легко подменить их исполняемые файлы. Например, такая оказия случилась с Metasploit Framework в случае ее многопользовательской установки. Данный баг был пофиксен в версии 3.5.2, а утилита переехала в Program Files.

Windows 7. Права на папку, созданную администратором

Windows 7. Права на папку, созданную администратором

Как искать такие директории/файлы

Обнаружение директории с некорректными разрешениями — это уже половина успеха. Однако ее нужно сначала найти. Для этого можно воспользоваться следующими двумя инструментами: AccessChk и Cacls/ICacls. Чтобы найти при помощи AccessChk «слабые» директории, понадобятся данные команды:

Для поиска файлов со «слабыми» разрешениями служат следующие:

То же самое можно выполнить и при помощи Cacls/ICacls:

Трюки с сервисами

Еще один вариант, как подняться в системе повыше, — это воспользоваться мисконфигурациями и ошибками сервисов. Как показывает практика, некорректными разрешениями могут обладать не только файлы и папки, но также и сервисы, работающие в системе. Чтобы обнаружить такие, можно воспользоваться утилитой AccessChk от небезызвестного тебе Марка Руссиновича:

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

  • SERVICE_CHANGE_CONFIG — можем изменять исполняемый файл службы;
  • WRITE_DAC — можно менять разрешения, что приводит к получению разрешения SERVICE_CHANGE_CONFIG ;
  • WRITE_OWNER — можно стать владельцем и изменить разрешения;
  • GENERIC_WRITE — наследует разрешения SERVICE_CHANGE_CONFIG ;
  • GENERIC_ALL — наследует разрешения SERVICE_CHANGE_CONFIG .

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

Как повысить?

Допустим, ты нашел подходящий сервис, настало время поработать над ним. В этом поможет консольная утилита sc. Для начала получаем полную информацию об интересующем нас сервисе, допустим, это upnphost:

С помощью этой же утилиты отконфигурируем его:

Как видишь, при следующем старте службы вместо ее исполняемого файла выполнится команда net user john hello /add && net localgroup Administrators john /add , добавив в систему нового пользователя john с паролем hello . Остается только вручную перезапустить сервис:

Вот и вся магия.

Что в итоге

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

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

Содержание

Запрет доступа к редактору реестра и командной строке

Иногда бывает крайне рационально запрет неопытному пользователю доступ к редактору реестра и командной строке. Для этого можно настроить два параметра.

  • Войти в систему под учетной записью администратора.
  • Запустить консоль с добавленными оснастками объектов групповой политики (описание можно посмотреть в статье Основы работы с редактором локальной групповой политики в ОС Windows 10).
  • Выбрать набор политик для определенного пользователя Политика «Локальный компьютер\Test». В данном примере Test – это учетная запись пользователя с ограниченными правами для которой будет применяться политика.


Рис.1 Окно консоли с добавленными оснастками объектов групповой политики

  • Последовательно развернуть элементы Конфигурация пользователя > Административные шаблоны > Система в окне Редактора локальной групповой политики.


Рис.2 Редактирование параметров политик узла Система

  • Дважды щелкнуть ЛКМ по параметру политики Запретить использование командной строки.
  • Выбрать значение Включено.
  • Нажать OK.


Рис.3 Редактирование параметра политики Запретить использование командной строки

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


Рис.4 Результат действия запрета при запуске командной строки


Рис.5 Результат действия запрета при запуске редактора реестра

Запрет определенных настроек узла Персонализация

С помощью узла Персонализация оснастки локальной групповой политики можно настроить для определенных пользователей запрет на изменение цветовой схемы, темы, фона рабочего стола. Можно запретить изменять заставку, стиль оформления окон и кнопок и многое другое. Все эти параметры доступны по следующему пути: Конфигурация пользователя > Административные шаблоны > Панель управления > Персонализация.

  • Войти в систему под учетной записью администратора.
  • Запустить консоль с добавленными оснастками объектов групповой политики
  • Выбрать набор политик для определенного пользователя Политика «Локальный компьютер\Test».
  • Последовательно развернуть элементы Конфигурация пользователя > Административные шаблоны > Панель управления > Персонализация.


Рис.6 Редактирование параметров политик узла Персонализация

  • Дважды щелкнуть ЛКМ по нужному параметру политики. Например, выбрать Запретить изменение фона рабочего стола.
  • Выбрать значение Включено.


Рис.7 Редактирование параметра политики Запрет изменения фона рабочего стола

  1. Нажать OK.
  2. Сохранить внесенные изменения, выбрав в главном меню консоли Файл > Сохранить
  3. Закрыть консоль
  4. Проверить результат под учетной записью, для которой был настроен параметр локальной групповой политики

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


Рис.8 Результат действия запрета на изменение фона рабочего стола

Запрет доступа к различным элементам меню Пуск и настройки панели задач

При администрировании рабочих станций рационально для неопытных пользователей запретить изменять параметры панели задач и меню Пуск, удалить не используемые элементы Windows из меню Пуск. Все эти параметры доступны в узле локальной групповой политики Конфигурация пользователя > Административные шаблоны > Меню Пуск и панель задач.


Рис. 9 Редактирование параметров политик узла Меню «Пуск» и панель задач

Ниже представлен лишь не полный перечень политик, который доступен в Меню Пуск и панель задач в операционной системе Windows 10 Pro:

  • Очистить уведомления на плитке при входе
  • Удалить раздел «Люди» с панели задач.
  • Закрепить панель задач
  • Макет начального экрана
  • Запретить пользователям настраивать начальный экран
  • Удалить ссылку Игры из меню Пуск (актуально для Windows Server 2008, Windows 7 и Windows Vista)
  • Удалить ссылку Программы по умолчанию из меню Пуск (актуально для Windows Server 2012 R2, Windows 8.1, Windows Server 2008, Windows Server 2003, Windows 7, Windows Vista, Windows XP, Windows 2000)
  • Удалить значок Музыка из меню Пуск (актуально для Windows Server 2008, Windows Server 2003, Windows 7, Windows Vista и Windows XP)
  • Удалить значок Изображения из меню Пуск (актуально для Windows Server 2008, Windows Server 2003, Windows 7, Windows Vista и Windows XP)
  • Запретить доступ к контекстному меню для панели задач
  • Запретить пользователям удалять приложения из меню Пуск
  • Показывать команду «Запуск от имени другого пользователя» при запуске
  • Запретить закрепление программ в панели задач
  • Запретить все параметры панели задач (в моем примере на рисунке показан неправильный перевод данной политики). В Windows 7 данная политика называлась "Блокировать все параметры панели задач".


  • Запретить добавление и удаление панелей инструментов
  • Запретить перемещение панелей инструментов
  • Запретить изменение размера панели задач

И другие политики.

В данном примере будет рассмотрена политика Запретить изменение размера панели задач.

  • Войти в систему под учетной записью администратора.
  • Запустить консоль с добавленными оснастками объектов групповой политики
  • Выбрать набор политик для определенного пользователя Политика «Локальный компьютер\Test».
  • Последовательно развернуть элементы Конфигурация пользователя > Административные шаблоны > Меню «Пуск» и панель задач.
  • Дважды щелкнуть ЛКМ по параметру политики Запретить изменение размера панели задач.


Рис.11 Редактирование параметра политики Запретить изменение размера панели задач

  • Выбрать значение Включено.
  • Нажать OK.
  • Сохранить внесенные изменения, выбрав в главном меню консоли Файл > Сохранить
  • Закрыть консоль
  • Проверить результат под учетной записью, для которой был настроен параметр локальной групповой политики. Для этого необходимо открыть Параметры панели задач и убедиться, что настройка Использовать маленькие кнопки панели задач не активна.


Рис.12 Открытие параметров панели задач


Рис.13 Результат действия запрета на редактирование размера панели задач

Скрытие определенных элементов панели управления

При администрировании рабочей станции иногда бывает целесообразно скрыть для неопытного пользователя определенные элементы панели управления. В статье Основы работы с редактором локальной групповой политики в ОС Windows 10 был рассмотрен механизм отображения только указанных элементов панели управления. В данном примере рассмотрен механизм скрытия определенных элементов из всего перечня апплетов панели управления. Для этого:

  • Войти в систему под учетной записью администратора.
  • Запустить консоль с добавленными оснастками объектов групповой политики
  • Выбрать набор политик для определенного пользователя Политика «Локальный компьютер\Test».
  • Последовательно развернуть элементы Конфигурация пользователя > Административные шаблоны > Панель управления в окне Редактора локальной групповой политики.


Рис.14 Редактирование параметра политики Скрыть указанные объекты панели управления

  • Дважды щелкнуть ЛКМ по параметру политики Скрыть указанные объекты панели управления.
  • Выбрать значение Включено.


Рис.15 Редактирование параметра политики Скрыть указанные объекты панели управления

  • Нажать кнопку Показать, чтобы вызвать диалоговое окно Вывод содержания.
  • Ввести имя апплета или апплетов, которые необходимо скрыть в Панели управления, и нажать Enter.


Рис.16 Список запрещенных элементов панели управления

  • Нажать OK.
  • Сохранить внесенные изменения, выбрав в главном меню консоли Файл > Сохранить
  • Закрыть консоль
  • Проверить результат под учетной записью, для которой был настроен параметр локальной групповой политики


Рис.17 Список элементов панели управления до изменения параметра локальной групповой политики


Рис.18 Список элементов панели управления после изменения параметра локальной групповой политики

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