Accesso a PsExec negato


11

Sto usando psexec.exeper eseguire programmi in un diverso contesto di sicurezza. Tuttavia, i programmi si avviano ma non sembra essere in esecuzione nel contesto di sicurezza specificato.

Nella sua forma minima:

psexec -u wsadmin -p password cmd

Avvia una nuova finestra cmd se inserisco quella finestra 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.

Come puoi vedere, sono sicuramente l'altro utente. E posso confermare che questo utente è membro del "gruppo amministratori"

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

Se uso runas con l'utente specificato, funziona come previsto. Ma devo fornire la password dalla riga di comando.

Risposte:


10

Su Windows Vista e versioni successive, se UAC è abilitato, un processo avviato da psexec- anche quando eseguito da un account amministratore - deve avere il proprio token di elevazione impostato per ottenere i privilegi completi. Questo può essere fatto passando l' -hattributo nella psexecriga di comando. Quindi, cambieresti il ​​tuo comando in:

psexec -h -u wsadmin -p password cmd

Per maggiori informazioni, esegui psexec /?:

    -h    If the target system is Vista or higher, has the process
          run with the account's elevated token, if available.

9
Purtroppo questo mi dà "Impossibile installare l'accesso al servizio PSExec negato"
Tuim

Stai anche eseguendo il comando iniziale da un prompt dei comandi con privilegi elevati o lo stai usando come run-as locale?
Pensa al

Il comando originale esegue un contesto di sicurezza "utente". Non posso usare run-as per motivi specifici.
Martedì

1
Usa "Prompt dei comandi con privilegi elevati" o "Prompt di PowerShell con privilegi elevati" tramite "Start> Digita" PowerShell "> Fai clic con il pulsante destro del mouse su" Windows PowerShell "> Seleziona" Esegui come amministratore ", quindi esegui il comando psexec includendo l' -hopzione
Underverse

@Underverse, è possibile utilizzare psexec dall'utente CMD, non dall'amministratore PS? Voglio usare psexec esattamente per la transizione di CMD nel contesto di amministrazione :)
Suncatcher,

5

Mi ci sono voluti ore per trovare un modo per lavorare PsExectra due computer Windows 7 con l'utente non amministratore di partenza PsExec... disabilitazione UAC ( EnableLUA=0, ConsentPromptBehaviorAdmin=0, LocalAccountTokenFilterPolicy=1) non ha funzionato, spegnendo le pareti refrattarie non ha funzionato ...

Qui ho trovato il modo di lavorare - grazie JelmerS: (Le informazioni di PSexec non si collegano alla macchina utilizzando il nome utente e la password forniti )

Questo perché psexectenta ancora di accedere alla ADMIN$condivisione con le credenziali locali, prima di eseguire il comando come un altro utente. Secondo questo thread, è possibile memorizzare nella cache le credenziali prima di eseguire 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

Nota: se non si desidera la password nella cronologia della riga di comando, è possibile utilizzare / passare senza password e verrà richiesto di immetterne una.
Joe the Coder,

1

Ho trovato una soluzione:

Si scopre che quando hai abilitato UAC psexec non funziona come previsto.
Ogni volta che HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUAè impostato su 0psexec funziona come previsto.


4
Al contrario, ciò che non richiede la modifica del registro è semplicemente aggiungere il -hflag al psexeccomando. Questo gli dice di eseguire il comando con il token elevato, che equivale ad avviare un processo "come amministratore" dal menu contestuale.
Pensa al

5
L'impostazione EnableLUAsu 0disabilita Admin Approval Mode, che è fondamentalmente il nucleo di Controllo dell'account utente. Di conseguenza l'UAC verrà disabilitato. Fonte .
Vlastimil Ovčáčík,

Per me il flag -h non funzionava e la disabilitazione di UAC era preoccupante, ma ho trovato un'alternativa migliore
mTorres

0

Ecco cosa ha funzionato per me, non elimina completamente UAC ma lo disattiva per gli amministratori

Configurazione computer \ Impostazioni di Windows \ Impostazioni di sicurezza \ Criteri locali \ Opzioni di sicurezza \ Controllo account utente: Esegui tutti gli amministratori in modalità Approvazione amministratore - Disabilitato


Che non è davvero una grande idea. Inoltre, come è un miglioramento rispetto alle altre soluzioni disponibili?
Seth,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.