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

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

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

0

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

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


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