Переключить пользователя в командной строке Windows

789
f4d0

Есть ли подобная команда Linux su в командной строке Windows? Если нет, то как насчет:

  • в Powershell ?;
  • обходной путь со скриптом * .vbs ?;
  • обходной путь с некоторыми инструментами sysinternals, такими как "psexec.exe"?

Примечание. Я использую соединение с удаленной оболочкой Netcat, поэтому не могу ввести пароль при запросе командой «runas».

Примечание 2: команды "sudo" и "su" - это разные команды. «sudo» выполняет команды от имени другого пользователя. «su» меняет действующего пользователя.

Примечание 3: Несмотря на то, что я нашел ответ на мою конкретную проблему, ответ на этот вопрос, как упомянуто @Ramhound, "невозможен"

0
Попробуйте команду `runas`. Sandeep 6 лет назад 1
Вы имеете в виду командную строку? MS-DOS давно умер. gronostaj 6 лет назад 1
В этом отношении у MS-DOS даже не было учетных записей пользователей ... grawity 6 лет назад 1
@gronostaj и grawity, я изменяю это ... f4d0 6 лет назад 0
Возможный дубликат [Есть ли какая-либо команда 'sudo' для Windows?] (Https://superuser.com/questions/42537/is-there-any-sudo-command-for-windows) Ramhound 6 лет назад 1
Команды @Ramhound "sudo" и "su" - это разные команды. «sudo» выполняет команды от имени другого пользователя. «su» меняет действующего пользователя. Люди пытаются показать мне работу с "runas", которая будет "sudo" из linux. Но мой главный вопрос о "su", который будет переключать пользователя. f4d0 6 лет назад 0
@ f4d0 - Если вы не можете использовать `runas`, то то, что вы хотите, не возможно. Ramhound 6 лет назад 2
Если вы хотите, чтобы SU использовал runas, чтобы запустить командную строку от имени другого пользователя. каждая команда там запускается от имени этого другого пользователя. LPChip 6 лет назад 1
@LPChip Я не использую окна напрямую. Я подключен к Windows с помощью обратной оболочки Netcat. Я попал в эту оболочку с помощью эксплойта, который воспользовался уязвимостью от программы, выполняемой другим пользователем, чем та, которую я хочу сейчас авторизовать. Но это уже слишком далеко от нашего обсуждения. Это не возможно, это приемлемый ответ, я буду искать другое решение. Большое спасибо за Вашу помощь. f4d0 6 лет назад 0
Как насчет инструмента sysinternals psExec? Вы уже упоминали об этом в своих вопросах, и он также поддерживает передачу пароля через командную строку. Вы уже пробовали это? Sandeep 6 лет назад 2
@Sandeep незадолго до того, как я прочитал ваш ответ, я решил свою проблему с помощью psexec.exe. Мне удалось выполнить локально набор команд с именем пользователя и паролем и получить оболочку с нужным пользователем :) f4d0 6 лет назад 0
Попробуйте добавить свой собственный ответ с подробными сведениями о том, что именно вы сделали, чтобы решить, чтобы этот пост был полезным для других, которые могут искать подобное решение, как вы описываете. Pimp Juice IT 6 лет назад 0

1 ответ на вопрос

-1
Lukas Germerott

В Windows у вас есть runasкоманда. Попробуй это:

  1. Перейдите к c: \ windows \ system32.

  2. Введите следующую команду: runas / user: имя_компьютера \ account_name explorer.exe

Мне также нужно использовать пароль ... Я использую сеанс netcat, который не позволяет мне вводить пароль. f4d0 6 лет назад 0
@ f4d0 runas также может позволить вам установить пароль. LPChip 6 лет назад 0
@ LPChip я не могу узнать как! Можете ли вы опубликовать ответ с этим решением? f4d0 6 лет назад 0
Разве это не спрашивает у вас пароль? Lukas Germerott 6 лет назад 0
@ f4d0 см. ответ на этот вопрос: https://stackoverflow.com/questions/10811209/how-to-supply-password-to-runas-command-when-executing-it-from-java LPChip 6 лет назад 0
@LukasGermerott да, это так, но из-за оболочки, в которой я нахожусь, выполнение заканчивается до того, как я смогу ввести пароль. Другими словами, это не мешает мне ввести пароль, оно просто мигает через него и завершает выполнение. f4d0 6 лет назад 0
@LPChip echo с каналами или перенаправление с файлами не работает с командой «runas»: https://blogs.msdn.microsoft.com/oldnewthing/20041129-00/?p=37183/ f4d0 6 лет назад 0
@ f4d0 это сообщение от 2004 года, а мое от 2012 года. Вы действительно пробовали это так же, как это было упомянуто в этом ответе? LPChip 6 лет назад 0
@LPChip точно нет, потому что я пытаюсь из командной строки, а не из выполнения Java. :) Но, взяв java, включая escape-символы, я делаю это, как обычное эхо, чтобы передать его следующей команде. Я изучаю тестирование на проникновение, я делаю эхо по крайней мере 50 раз в день :))) f4d0 6 лет назад 0
есть огромная разница в выполнении "echo" вещи "| runas` vs `cmd / C эхо" вещи "| runas` LPChip 6 лет назад 0
@ LPChip Я не знал об этом, была разница. Спасибо за внимание. Во всяком случае, я стараюсь, и до сих пор не работает. Я очень ценю ваши усилия, пытаясь помочь мне. f4d0 6 лет назад 0