Назад | Перейти на главную страницу

psexec: «Доступ запрещен»?

Вдохновленный моим предыдущим вопросом Вот, Я экспериментировал с PSExec.

Цель состоит в том, чтобы отключить несколько довольно простых скриптов / программ на одной машине WindowsXP от другой, и поскольку PowerShell 2 еще не поддерживает удаленное взаимодействие на XP, PSexec, похоже, решит мои проблемы хорошо.

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

Вот что я пробовал до сих пор:

У меня есть пара машин WindowsXP MCE, объединенных в сеть в рабочую группу без сервера или контроллера домена.

Я отключил "простой обмен файлами" на обеих машинах.

В соответствии с политикой безопасности для модели доступа к сети: общий доступ и безопасность для локальных учетных записей установлено значение «Классическая», а не «Гость» для обеих машин.

На каждом компьютере, к которому я знаю пароли, есть административный пользователь. :)

При этом такая команда, как "> psexec \\otherComputer -u adminUser cmd"запрашивает пароль (как и должно), а затем закрывается с помощью:

Couldn't access otherComputer:
Access is denied.

Итак, теперь я обращаюсь к сообществу. Какой шаг мне здесь не хватает?

Добавьте следующий DWORD реестра на удаленный компьютер, и это должно решить проблему.

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Задача решена.

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

Однако это вызвало еще одно расследование - если кто-то хочет использовать PSExec с пустым паролем, вот что вам нужно сделать (во всяком случае, под Windows XP MCE):

  • В Панели управления откройте Администрирование.
  • Откройте локальную политику безопасности.
  • Перейдите в Локальные политики -> Параметры безопасности.
  • Измените "Учетные записи: ограничить использование пустых паролей локальной учетной записью только для входа в консоль" на "Отключено"

Я думаю, что PSEXEC полагается на возможность открыть общий ресурс ADMIN $, поэтому проверьте это с теми же учетными данными,

net use \\otherComputer\ADMIN$ /user:otherComputer\adminUser *

Если вы напечатаете

\\Имя компьютера

в мой компьютер и аутентифицирован как adminUser, это работает?

Я предполагаю, что вы использовали двойную косую черту, и система удалила ее.

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

Я столкнулся с этой ошибкой при запуске PSExec из командной строки без повышенных прав (в Windows 7). Это исправлено при запуске команды из командной строки с повышенными привилегиями.

Я нашел еще одну причину сбоя PSEXEC (и других инструментов PS) - если что-то (... скажем, вирус или троян) скрывает папку Windows и / или ее файлы, то PSEXEC выйдет из строя с ошибкой «Доступ запрещен», PSLIST выдаст ошибку «Не найден объект производительности процессора», и вы останетесь в неведении относительно причины.

Вы можете использовать RDP; Вы можете получить доступ к доле администратора $; Вы можете просматривать содержимое диска удаленно и т. Д. И т. Д., Но нет никаких указаний на то, что причиной является скрытие файла (ов) или папки (ов).

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

Работает ли Защитник Windows или другое средство защиты от вредоносных программ? Это блокировка? Я знаю, что Защитник Windows способен на это.

Захват трафика с помощью Wireshark часто может помочь отследить проблему в таких ситуациях. Вы можете посмотреть на трафик SMB и увидеть, как Windows пытается пройти аутентификацию или даже заходит так далеко, в первую очередь, в случае блокировки трафика межсетевыми экранами и т. Д.

Еще нужно проверить, блокирует ли ваш антивирус psexecsvc.exe. Я только что столкнулся с этим с Sophos. Я получал отказ в доступе и увидел, что Sophos блокирует PSEXEC из журнала приложений.