1. Главная страница » Компьютеры » Nt authority system что за пользователь

Nt authority system что за пользователь

Автор: | 16.12.2019

Запуск PowerShell от имени СИСТЕМА (NT AUTHORITYSYSTEM)

Запуск PowerShell от имени СИСТЕМА (NT AUTHORITYSYSTEM)

Добрый день! Уважаемые читатели и гости одного из популярнейших блогов по системному администрированию Pyatilistnik.org. В прошлый раз мы с вами подробно рассмотрели командлет Restart-Computer и научились с его помощью производить локальную или удаленную перезагрузку компьютера или сервера, это полезный навык. В сегодняшней публикации я бы хотел вас научить запускать оболочку PowerShell с максимальными правами от имени системной учетной записи "СИСТЕМА (NT AUTHORITYSYSTEM)" или ее еще иногда называют Local System. Это то же полезный скил, который вас может сильно выручить в разных обстоятельствах. Давайте от слов к практике.

Что можно делать с PowerShell от имени SYSTEM

Я не буду расписывать, что из себя представляет локальная, системная учетная запись, напомню лишь, что из под нее работает подавляющее количество сервисов Windows и она имеет максимальные права на все в вашей ОС (Папки, файлы, кусты реестра, тома). Имея запущенное окно PowerShell от системной учетной записи вы можете абсолютно все в этой системе, например можете отключать службы, которые были ограничены, или подключаться к чужой RDP сессии, поправить защищенные ветки реестра, например, как в случае с ошибкой 10016.

Методы запуска PowerShell от имени системной учетной записи

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

  1. Классический метод использование утилиты PSexec
  2. Через планировщик событий
  3. Через скрипт choco

Запуск PowerShell от учетной записи NT AUTHORITYSYSTEM из PSexec

PSexec — это одна из утилит легендарного набора SysInternals Марка Руссиновича. Я ее уже использовал при открытии CMD от имени системы, тут принцип будет такой же. Первое, что вы должны сделать, это скачать PSexec либо у меня, либо по ссылке ниже:

Далее вам необходимо ваш архив извлечь, дабы получить папку с утилитами. У вас есть два варианта запуска PSexec, из командной строки или же из свой PowerShell. Давайте опробуем командную строку, которую вы должны ОБЯЗАТЕЛЬНО открыть от имени администратора, далее вы должны перейти в cmd в расположение с утилитой PSexec. Делается это командой:

После чего вы пишите команду, которая запустит окно PowerShell от имени системы:

В результате у вас откроется дополнительное окно PowerShell в режиме администратора и от имени "nt authorityсистема". Проверить, это можно командой whoami.

То же самое можно сделать и из самой PowerShell(), тут вам нужно будет так же открыть PowerShell от имени администратора и ввести команды:

Чтобы удаленно получить окно PowerShell через PSexec, вам необходимо выполнить:

Где svt2019s01, это имя моего сервера с Windows Server 2019. Как видим идет попытка подключения, где на удаленном компьютере запускается служба PSexec, вам будут необходимы права локального администратора там. Если подключение не проходит, то у вас блокируется брандмауэром, убедитесь, что порт WinRM (TCP 5985) у вас разрешен.

После успешного подключения можно ввести команду hostname, чтобы посмотреть, правильно ли вы подключились, ну и посмотреть командой whoami, из под кого запущен PowerShell, как видно из скриншота, это учетная запись nt authorityсистема.

Так же вы можете из оболочки запустить команду:

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

Запуск PowerShell от учетной записи NT AUTHORITYSYSTEM из планировщика заданий

Данный метод более изощренный нежели использование внешней утилиты PSexec, но я уверен, что его так же полезно знать. В окне выполнить введите команду taskschd.msc.

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

Задаем ее имя у меня оно будет "Запуск PowerShell NT".

В настройках тригера выставим запуск задачи "Однократно".

Задаем время запуска.

Оставляем пункт "Запустить программу" и нажимаем далее.

Тут нам необходимо заполнить два пункта:

  1. Поле программы или сценария
  2. Аргумент
Читайте также:  Amp error pioneer что делать

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

  • x86 : %SystemRoot%system32WindowsPowerShellv1.0powershell.exe
  • x64 : %SystemRoot%syswow64WindowsPowerShellv1.0powershell.exe

В качестве аргумента, вам необходимо указать путь до нашего скрипта, расположенного по пути C:ScriptsGet-CurrentUser.ps1

ExecutionPolicy, это команда позволяющая выполнять не подписанные скрипты.

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

заканчиваем создание простого задания, обязательно выставите галку "открыть окно "Свойств" для этой задачи после нажатия кнопки "Готово". Далее у вас откроется окно свойств данной задачи, вы можете заметить, что она по умолчанию выполняется от того пользователя, кто ее создал, в моем примере, это ROOTАдминистратор, это нужно поменять. Нажмите кнопку изменить.

Если у вас русская Windows, то в окне поиска введите "СИСТЕМА", если английская версия, то введите SYSTEM.

В результате вы увидите, что задача запускается от системной учетной записи (nt authorityсистема).

NT AUTHORITYSYSTEM — вредный червь!

Недавно, точнее недельку назад хватанул червя, причем сроду такого не было за все мое чайничество! Время ночь — мастера не вызовешь, да и деньги только на карточке — в кормане рублей 200. Что делать, комп нужен до зарезу!

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

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

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

1) Баннер отключает комп на перезагрузку через 60 секунд — значит надо это время увеличить и я по совету одного форумчанина успеваю перевести часы на год назад !

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

3) ничего не поняв там, я запускаю полное сканирование AVASTом, предварительно установив в настройках все расширения.

через 3,5 часа он выдал мне 6 зараженных файлов — вот они

win32 malware-gen(2 штуки)

Этих вредителей я просто удаляю, даже не пытаясь лечить.

4)Затем иду в Revo Unystailer и удаляю все что устанавливал за последние несколько дней, вместе с AnvirTaskManager и Reg Organizier.

5) Гружу AVZ и запускаю.

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

Проверяю Н в on-line режиме. Чисто! Открываю Н, пытаюсь выделить папку — опять комп зависает намертво! После нескольких попыток открыть, сканирую еще раз AVASTом и не найдя ничего решаю — копировать все на С.

После копирования на С очищаю весь Н и лезу в копию — все работает.

Час назад скачал и обновил Мозилу теперь Радуюсь жизни. Проверил все и теперь обновлю доктора W curellt и поставлю на ночь -уже для успокоения совести! Так что имейте ввиду дорогие коллеги — не все так страшно. Для безопасности ваших компов сделайте как указано в прикрепленном файле.

Да будет здоровье у наших PCюков.

С уважением ко всем читателям Алексей!

Вступите в группу, и вы сможете просматривать изображения в полном размере

Содержание статьи

Буквально за несколько дней перед сдачей номера в печать Metasploit обзавелся
свеженьким модулем, про который мы просто не могли не рассказать. Благодаря
новой команде getsystem, на скомпрометированной системе стало возможно перейти
из User Level в ring0, получив права NT AUTHORITYSYSTEM! И это — в любых
версиях винды.

Читайте также:  0Xc0000142 что это за ошибка как исправить

19 января 2010 года стала публичной 0-day уязвимость, позволяющая выполнить
повышение привилегий в любой версии Windows, начиная от NT 3.1, выпущенной в еще
в 1993 году, и заканчивая новомодной "семеркой". На exploit-db.com хакером Tavis
Ormandy были опубликованы как исходники сплоита KiTrap0d, так и скомпилированный
бинарник, готовый к применению. Опробовать оригинальный сплоит может любой
желающий. Для этого нужно лишь извлечь из архива vdmexploit.dll и vdmallowed.exe,
каким-либо образом передать на машину-жертву, и там запустить exe-шник. В
результате, независимо от того, под аккаунтом какого пользователя выполнен
запуск, появится консоль с привилегиями системного пользователя, то есть NT
AUTHORITYSYSTEM. Проверки ради можно запустить сплоит на своей машине,
предварительно залогинившись в систему под обычным пользователем. После запуска
сплоита откроется новое окно cmd.exe с максимальными привилегиями.

Что это дает? Представь ситуацию, что сплоит пробивает некоторое приложение и
получает шелл на удаленном компьютере. Пускай это будет сплоит для Internet
Explorer — в этом случае у взломщика на руках будет доступ к системе с правами
того пользователя, под учеткой которого был запущен браузер. Не спорю, очень
часто это будет аккаунт с правами администратора (пользователь сам виноват), но
если нет? Вот здесь-то и можно заюзать KiTrap0d, чтобы поднять свои привилегии
до NT AUTHORITYSYSTEM! Мало того, даже те пользователи, которые входят в группу
администратора, не могут обращаться к некоторым участкам системы, например, для
чтения хешей паролей пользователей (об этом ниже). А NT системный акаунт —
может! При всем этом, на момент публикации статьи ни одного патча со стороны
Microsoft, закрывающего уязвимость, выпущено не было.

Операция "Захват системы"

Демонстрировать в действии оригинальный сплоит мы не будем, потому как 25
января в Metasploit был добавлен новый скрипт, благодаря которому использовать
KiTrap0d стало еще удобнее. Первоначально попавший в базы модулей вариант был
нестабилен и срабатывал не всегда, но не прошло и полдня, как все ошибки были
устранены. Сейчас модуль закачивается вместе со всеми остальными обновлениями,
так что для установки достаточно выбрать пункт в меню "Metasploit update".
Теперь, имея доступ к удаленной системе, можно набрать "run kitrap0d" и привести
сплоит в действие. "Но раз пошла такая пьянка, реализуем-ка мы для этого дела
специальную команду", — подумали разработчики Metasploit. В результате
получилась замечательная такая команда "повысить привилегии", доступная через
расширение meterpreter, — нам она очень нравится :).

Итак, у нас есть доступ к удаленной системе (наглядный пример
эксплуатирования приведен в статье "Операция "Аврора") и мы находимся в консоли
метасплоита. Посмотрим, как у нас обстоят дела с правами:

meterpreter > getuid
Server username: WINXPSP3user

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

meterpreter > use priv
Loading extension priv. success.
meterpreter > getsystem -h
Usage: getsystem [options]
Attempt to elevate your privilege to that of local system.
OPTIONS:

-h Help Banner.
-t The technique to use. (Default to ‘0’).
0 : All techniques available
1 : Service — Named Pipe Impersonation (In Memory/Admin)
2 : Service — Named Pipe Impersonation (Dropper/Admin)
3 : Service — Token Duplication (In Memory/Admin)
4 : Exploit — KiTrap0D (In Memory/User)

Как видно, сплоит KiTrap0D реализует лишь часть функциональности команды.
Если тебе удалось отхватить шелл с пользователем, у которого уже есть права
администратора, то для поднятия до уровня NT AUTHORITYSYSTEM можно использовать
три другие техники (выбрать нужную позволяет ключ -t). Так или иначе, не указав
вообще никаких параметров, мы укажем метасплоиту, что тот может использовать
любой из подходов. В том числе и KiTrap0D, что повысит наши привилегии до уровня
"Система", какими бы правами мы сейчас ни обладали.

meterpreter > getsystem
. got system (via technique 4).

Ага, получили сообщение об успешном повышении привилегий, причем для атаки
использовался именно KiTrap0D — видимо, у него приоритет. Действительно ли мы
поднялись в системе? Проверим наш текущий UID (идентификатор пользователя):

meterpreter > getuid
Server username: NT AUTHORITYSYSTEM

Есть! Всего одна команда в консоли метасплоита и права NT AUTHORITYSYSTEM у
нас в кармане. Далее, вообще говоря, можно все. При этом напомню, ни одного
патча от Microsoft на момент выхода журнала еще не было.

Читайте также:  External exception e06d7363 что за ошибка

Дампим пароли

Раз уж на руках есть доступ к системному аккаунту, то надо извлечь из этого
что-нибудь полезное. В арсенале Metasploit есть замечательная команда hashdump —
более продвинутая версия известной утилиты pwdump. Более того, в последней
версии метасплоита включен переработанный вариант скрипта, который использует
модернизированный принцип извлечения LANMAN/NTLM хешей и пока не детектируется
антивирусами. Но смысл не в этом. Важно, что для выполнения команды hashdump
необходимы права NT AUTHORITYSYSTEM. В противном случае программа выдаст ошибку
"[-] priv_passwd_get_sam_hashes: Operation failed: 87". Происходит это потому,
что LANMAN/NTLM-хеши паролей пользователей хранит в специальных ветвях реестра
HKEY_LOCAL_MACHINESAM и HKEY_LOCAL_MACHINESECURITY, которые недоступны даже
администраторам. Их можно прочитать только с привилегиями системного аккаунта.
Вообще говоря, использовать сплоит и затем команду hashdump для того, чтобы
локально извлечь из реестра хеша, совсем не обязательно. Но если такая
возможность есть, почему бы и нет?

meterpreter > getuid
Server username: NT AUTHORITYSYSTEM

meterpreter > run hashdump
[*] Obtaining the boot key.
[*] Calculating the hboot key using SYSKEY 3ed7[. ]
[*] Obtaining the user list and keys.
[*] Decrypting user keys.
[*] Dumping password hashes.

Administrator:500:aad3b435b51404eeaad3b435b51404ee.
Guest:501:aad3b435b51404eeaad3b435b51404ee.
HelpAssistant:1000:ce909bd50f46021bf4aa40680422f646.

Хеши получены. Остается скормить их какому-нибудь из брутфорсеров, например,
l0phtcrack.

Как вернуть привилегии?

Забавная ситуация произошла, когда я попытался вернуть права обычного
пользователя обратно. Найденная команда rev2self не срабатывала, и я по-прежнему
оставался "NT AUTHORITYSYSTEM": видимо, она предназначена для работы с тремя
другими подходами, реализованными в getsystem. Оказалось, чтобы вернуть
привилегии, необходимо "украсть" токен процесса, запущенного тем пользователем,
который нам нужен. Поэтому отображаем все процессы командой ps и выбираем из них
подходящий:

meterpreter > ps
Process list
============
PID Name Arch User Path
— —- —- —- —-
0 [System Process]
4 System x86 NT AUTHORITYSYSTEM
370 smss.exe x86 NT AUTHORITYSYSTEM SystemRootSystem32smss.exe
.
1558 explorer.exe x86 WINXPSP3user C:WINDOWSExplorer.EXE
.

Как мы видим, explorer.exe запущен как раз под обычным пользовательским
аккаунтом и имеет P , заюзав
команду steal_token. В качестве единственного параметра ей передается PID
нужного процесса:

meterpreter > steal_token 1558
Stolen token with username: WINXPSP3user
meterpreter > getuid
Server username: WINXPSP3user

Судя по полю "Server username", операция выполнилась успешно.

Как это работает?

Напоследок стоит рассказать о природе уязвимости, приведшей к появлению
сплоита. Брешь в защите возникает по вине ошибки в обработчике системного
прерывания #GP (который называется, nt!KiTrap). Из-за нее с привилегиями ядра
может быть выполнен произвольный код. Это происходит, потому что система
неправильно проверяет некоторые вызовы BIOS’а, когда на 32-битной x86-платформе
выполняется 16-битное приложение. Для эксплуатации уязвимости сплоит создает
16-битное приложение (%windir% wunk_16.exe), манипулирует с некоторыми
системными структурами и вызывает функцию NtVdmControl(), чтобы стартовать
Windows Virtual DOS Machine (aka подсистма NTVDM), что в результате предыдущих
манипуляций приводит к вызову обработчика системного прерывания #GP и
срабатыванию сплоита. Кстати говоря, отсюда вытекает и единственное ограничение
сплоита, который срабатывает только на 32-битных системах. В 64-битных
операционках банально нет эмулятора для запуска 16-битных приложений.

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

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

Поскольку полноценного обновления для решения уязвимости пока нет,
придется воспользоваться обходными путями. Самый надежный вариант —
отключить MSDOS и WOWEXEC подсистемы, что сразу лишит сплоит
функциональности, т.к. он больше не сможет вызывать функцию NtVdmControl()
для запуска NTVDM-системы. В старых версиях Windows это реализуется через
реестр, в котором нужно найти ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlWOW
и добавить какой-нибудь символ к ее названию. Для современных ОС
устанавливать ограничение на запуск 16-битных приложений надо через
групповые политики. Для этого вызываем GPEDIT.MSC, далее переходим в раздел
"Конфигурация пользователя/Административные шаблоны/Компоненты Windows/Совместимость
приложений" и активируем опцию "Запрещение доступа к 16-разрядным
приложениям".

Временное решение для устранения проблемы от Microsoft:

http://support.microsoft.com/kb/979682

WARNING

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code