PowerRunAsSystem

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Источник: https://github.com/PhrozenIO/PowerRunAsSystem
Перевёл: Эрмано
Специально для XSS.IS

Привет, я снова решил покопипастить перевести пару статей, на этот раз перевожу про PowerRunAsSystem - это сценарий PowerShell, также доступный в виде устанавливаемого модуля через галерею PowerShell, предназначенный для выдачи себя за пользователя NT AUTHORITY/SYSTEM и выполнения команд или запуска интерактивных процессов без использования сторонних инструментов. Для этого используются только встроенные функции Windows.
Традиционно повышение привилегий до пользователя SYSTEM из учетной записи администратора требует использования таких инструментов, как PsExec от Sysinternals, или создания собственной службы. С помощью PowerRunAsSystem вы можете достичь той же цели, используя встроенный планировщик задач Windows, избавившись от необходимости использовать внешние утилиты.

Этот инструмент позволяет:

  • Выдать себя за пользователя SYSTEM в текущей сессии
  • Исполнять неинтерактивные команды от имени SYSTEM
  • Запустите новый интерактивный процесс от имени SYSTEM (привязанный к активной сессии).
В случаях, когда нет графического доступа к машине, вы можете перенаправить ввод/вывод порожденного процесса SYSTEM на приемник для взаимодействия(например, приемник Netcat).
Важно отметить, что для запуска процесса SYSTEM в стандартной конфигурации требуются привилегии администратора. Убедитесь, что вы либо получили доступ к удаленному терминалу (например, SSH или WinRM) с правами администратора, либо открыли новый терминал с повышенными привилегиями (Run as Administrator).
Нажмите, чтобы раскрыть...

Представленные функции
  • Invoke-SystemCommand
  • Invoke-InteractiveSystemProcess
  • Invoke-ImpersonateSystem
  • Invoke-RevertToSelf
Установка

PowerShell Gallery(Рекомендуется)

Для выполнения следующих команд в процессе установки могут потребоваться привилегии (например, права администратора, соответствующие настройки политики выполнения). Убедитесь, что вы понимаете и выполняете эти требования, прежде чем приступать к работе.
Код: Скопировать в буфер обмена
Код:
Install-Module -Name PowerRunAsSystem
Import-Module -Name PowerRunAsSystem

Импортировать как скрипт
IEX(Get-Content .\PowerRunAsSystem.ps1 -Raw -Encoding UTF8)

Использованиевание

Invoke-SystemCommand:
  • Запустите новый процесс от имени пользователя SYSTEM через планировщик задач. Обратите внимание, что процесс SYSTEM не будет привязан к активной терминальной сессии, то есть он не будет интерактивным. Это удобно для быстрого выполнения команд от имени SYSTEM без необходимости прямого взаимодействия с процессом.
Доступные аргументы:
ПараметрТипПо умолчаниюОписание
ПриложениеСтроковыйПрограмма для исполнения
АргументСтроковый-Command "whoami | Out-File C:\result.txt"Аргументы программы(опционально)

Invoke-InteractiveSystemProcess​

Создайте новый интерактивный процесс от имени пользователя SYSTEM, который будет привязан к активной терминальной сессии.
Это может быть особенно полезно в сценариях, где требуется интерактивный процесс SYSTEM. Например, при использовании Arcane Server запуск его как интерактивного процесса SYSTEM позволяет захватить как рабочий стол, так и подсказки LogonUI/UAC.
1728844356895.png


Доступные аргументы:
ПараметрТипПо умолчаниюОписание
CommandLineStringpowershell.exeThe complete command line to execute.
HideSwitchNoneIf present, the process is not visible.
RedirectKindChoiceNoneIf the process input/output needs to be redirected to an external source (as discussed below)…
AddressStringNoneUsed if the RedirectKind is set (as described below).
PortInt (R: 0-65535)NoneUsed if the RedirectKind is set (as described below).
Расширенное использование : Флаг RedirectKind

None (по умолчанию)​

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

Reverse​

  • Stdout, stderr и stdin процесса перенаправляются на сетевой сокет в обратном режиме (клиент -> сервер). Такая настройка позволяет взаимодействовать с порожденным процессом, не требуя доступа к рабочему столу, что особенно полезно, когда процесс инициируется из SSH или WinRM-сессии.
Пример:
Создайте новый слушатель Netcat (адаптируйте команду в зависимости от операционной системы и версии Netcat):
nc -l 4444

Затем запустите интерактивный процесс SYSTEM:
Invoke-InteractiveSystemProcess -RedirectKind "Reverse" -Address "127.0.0.1" -Port 4444

Наслаждайтесь оболлочкой от имени SYSTEM!

Invoke-ImpersonateSystem​

Выдать себя за пользователя SYSTEM в текущей терминальной сессии.
1728844821671.png


Invoke-RevertToSelf​

Остановка выдачи себя за другого пользователя
1728844870372.png



Итог:
В этом переводе мы изучили набор скриптов - PowerRunAsSystem, который может очень сильно помочь, при проведении пентестов.

С вами был Эрмано, спасибо за внимание.
 
Сверху Снизу