Acesso PsExec negado

9

Estou usando psexec.exepara executar programas em um contexto de segurança diferente. No entanto, os programas iniciam, mas não parecem estar em execução no contexto de segurança especificado.

Em sua forma mínima:

psexec -u wsadmin -p password cmd

Inicia uma nova janela de cmd se eu digitar nessa janela whoami

C:\Windows\system32>whoami
win-k1r7g38nlkt\wsadmin

C:\Windows\system32>net localgroup administrators
Alias name     administrators
Comment        Administrators have complete and unrestricted access to the computer/domain

Members

-------------------------------------------------------------------------------
Administrator
wsadmin
The command completed successfully.

Como você pode ver, eu sou definitivamente o outro usuário. E posso confirmar que esse usuário é membro do "grupo de administradores"

C:\Windows\system32>mkdir test
Access is denied.

Se eu usar runas com o usuário especificado, ele funcionará como deveria. Mas preciso fornecer a senha na linha de comando.

Tuim
fonte

Respostas:

8

No Windows Vista e versões posteriores, se o UAC estiver ativado, um processo iniciado por psexec- mesmo quando executado a partir de uma conta de administrador - deve ter seu token de elevação definido para obter privilégios totais. Isso pode ser feito passando o -hatributo na psexeclinha de comando. Então, você alteraria seu comando para:

psexec -h -u wsadmin -p password cmd

Para mais informações, execute psexec /?:

    -h    If the target system is Vista or higher, has the process
          run with the account's elevated token, if available.
nhinkle
fonte
9
Infelizmente, isso dá-me "não foi possível instalar o acesso ao serviço PSExec é negado"
Tuim
Você também está executando o comando inicial em um prompt de comando elevado ou está usando-o como um run-as local?
Nhinkle
O comando original executa um contexto de segurança 'usuário'. Não posso usar run-as por razões específicas.
Tuim 28/01
1
Use "Prompt de comando elevado" ou "Prompt de PowerShell elevado" em "Iniciar> Digite" PowerShell "> Clique com o botão direito do mouse em" Windows PowerShell "> Selecione" Executar como administrador "e execute o comando psexec, incluindo a -hopção.
Underverse
@Underverse, É possível usar o psexec do usuário CMD, não do administrador PS? Eu quero uso psexec exatamente para a transição CMD em contexto de administração :)
Suncatcher
3

Levei horas para encontrar uma maneira trabalhando para PsExecentre dois computadores Windows 7 com usuário não-administrador começando PsExec... Desabilitar UAC ( EnableLUA=0, ConsentPromptBehaviorAdmin=0, LocalAccountTokenFilterPolicy=1) não funcionou, desligando os Firewalls não funcionou ...

Aqui encontrei a maneira de trabalhar - obrigado JelmerS: (as informações do PSexec não estão se conectando à máquina usando o nome de usuário e a senha fornecidos )

Isso ocorre porque psexecainda tenta acessar o ADMIN$compartilhamento com suas credenciais locais, antes de executar seu comando como outro usuário. De acordo com este segmento, você pode armazenar em cache credenciais antes de executar o psexec:

cmdkey.exe /add:MACHINE_NAME_HERE /user:MACHINE_NAME_HERE\Administrator /pass:PASSWORD_HERE 
psexec.exe \\MACHINE_NAME_HERE -i notepad
cmdkey.exe /delete:MACHINE_NAME_HERE
Peter Feldhammer
fonte
Nota - Se você não quiser sua senha no histórico da linha de comando, basta usar / passar sem senha e receberá uma solicitação para inserir uma.
Joe the Coder
0

Eu encontrei uma solução:

Acontece que, quando você tem o UAC ativado, o psexec não funciona como deveria.
Sempre que HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUAdefinido como 0psexec, funciona como esperado.

Tuim
fonte
3
A outra maneira de contornar isso que não requer alteração do registro é adicionar a -hsinalização ao psexeccomando. Isso diz para executar o comando com o token elevado, o que equivale a iniciar um processo "como administrador" no menu de contexto.
Nhinkle
4
Definir EnableLUAcomo 0desativado Admin Approval Mode, que é basicamente o núcleo do UAC. Como resultado, o UAC será desativado. Fonte .
Vlastimil Ovčáčík
0

Aqui está o que funcionou para mim: ele não se livra completamente do UAC, mas o desativa para os administradores

Configuração do Computador \ Configurações do Windows \ Configurações de Segurança \ Diretivas Locais \ Opções de Segurança \ Controle de Conta de Usuário: Executar Todos os Administradores no Modo de Aprovação de Administrador - Desabilitado

cristobalhernandez
fonte
O que não é realmente uma ótima ideia. Além disso, como isso é uma melhoria em comparação com as outras soluções disponíveis?
Seth