PsExec 액세스가 거부되었습니다


11

psexec.exe다른 보안 컨텍스트에서 프로그램을 실행 하는 데 사용 하고 있습니다. 그러나 프로그램이 시작되었지만 지정된 보안 컨텍스트에서 실행되지 않는 것 같습니다.

최소한의 형태로 :

psexec -u wsadmin -p password cmd

해당 창에 입력하면 새 cmd 창을 시작합니다 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.

보시다시피 나는 다른 사용자입니다. 이 사용자가 "Administrators 그룹"의 구성원임을 확인할 수 있습니다

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

지정된 사용자와 함께 runas를 사용하면 예상대로 작동합니다. 그러나 명령 줄에 암호를 제공해야합니다.

답변:


10

Windows Vista 이상에서 UAC가 활성화 psexec된 경우 관리자 계정에서 실행할 때조차 프로세스가 시작한 프로세스는 전체 권한을 얻기 위해 상승 토큰을 설정해야합니다. 명령 행에 -h속성 을 전달하면 psexec됩니다. 따라서 명령을 다음과 같이 변경하십시오.

psexec -h -u wsadmin -p password cmd

자세한 내용을 보려면 다음을 실행하십시오 psexec /?.

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

9
불행히도 이것은 "PSExec 서비스 액세스를 설치할 수 없습니다"라는 메시지를 표시합니다
Tuim

또한 관리자 권한 명령 프롬프트에서 초기 명령을 실행 중입니까, 아니면 로컬 실행 도구로 사용 중입니까?
Nhinkle

원래 명령은 '사용자'보안 컨텍스트를 실행합니다. 특정 이유로 run-as를 사용할 수 없습니다.
Tuim

1
"시작> 유형"PowerShell을 통해 "상승 PowerShell을 프롬프트"사용 "상승 명령 프롬프트"또는 다음을 포함하여 psexec에 명령을 실행하여 Windows PowerShell을 관리자로 "> 선택"실행 "을"> 마우스 오른쪽 버튼으로 클릭 " -h옵션을 선택합니다.
언더 벌스

@Underverse, 관리자 PS가 아닌 사용자 CMD에서 psexec를 사용할 수 있습니까? CMD를 관리자 컨텍스트로 전환하기 위해 psexec를 정확하게 사용하고 싶습니다. :)
Suncatcher

5

그것은에 대한 작업 방법을 찾기 위해 나에게 시간이 걸렸다 PsExec관리자가 아닌 사용자가 시작하는 두 사람 사이 윈도우 7 컴퓨터를 PsExec... 비활성화 UAC ( EnableLUA=0, ConsentPromptBehaviorAdmin=0, LocalAccountTokenFilterPolicy=1)를 방화벽이 작동하지 않았다 해제, 작동하지 않았다 ...

JelmerS 덕분에 작동하는 방법을 찾았습니다. ( PSexec의 정보가 제공된 사용자 이름과 비밀번호를 사용하여 컴퓨터에 연결되지 않았습니다 )

다른 사용자로 명령을 실행하기 전에 psexec여전히 ADMIN$로컬 자격 증명으로 공유 에 액세스하려고하기 때문 입니다. 이 스레드에 따르면 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

주 – 명령 행 기록에서 비밀번호를 원하지 않으면 비밀번호없이 / pass를 사용하면 비밀번호를 입력하라는 프롬프트가 표시됩니다.
코더 조

1

해결책을 찾았습니다.

UAC를 활성화하면 psexec가 예상대로 작동하지 않는 것으로 나타났습니다. psexec 로 설정
될 때마다 예상대로 작동합니다.HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA0


4
레지스트리를 변경할 필요가없는 다른 방법 -hpsexec명령에 플래그를 추가하는 것 입니다. 이것은 상승 된 토큰으로 명령을 실행하도록 지시합니다. 이는 상황에 맞는 메뉴에서 "관리자로"프로세스를 시작하는 것과 같습니다.
nhinkle

5
설정 EnableLUA0비활성화 Admin Approval Mode기본적으로 UAC의 핵심이다. 결과적으로 UAC는 비활성화됩니다. 소스 .
Vlastimil Ovčáčík

나를 위해 -h 플래그가 작동하고 UAC가 고생 한 불가능하지만은 발견되지 않았다 더 나은 대안
mTorres

0

여기 나를 위해 일한 것이 있습니다. UAC를 완전히 제거하지는 않지만 관리자를 위해 끕니다.

컴퓨터 구성 \ Windows 설정 \ 보안 설정 \ 로컬 정책 \ 보안 옵션 \ 사용자 계정 컨트롤 : 관리자 승인 모드에서 모든 관리자 실행-비활성화


정말 좋은 생각이 아닙니다. 또한 다른 사용 가능한 솔루션과 비교하여 어떻게 개선 되었습니까?
세스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.