네트워크의 유일한 도메인 컨트롤러 인 Windows Server 2008 R2에서 표준 사용자 "Joe"SeImpersonatePrivilege를 제공했습니다. Joe는 관리자 그룹의 구성원이 아닙니다. Joe가 프로세스를 시작하면 중간 무결성 레벨에서 실행됩니다.SeImpersonatePrivilege 및 일반 사용자
관리자는 내가이 일부 목록을 참조 서버에서 "Gpresult를/Z"를 실행하면 : 조가에서 이러한 결과를 조의 권한을 표시 GetTokenInformation 및 LookupPrivilegeName를 사용하는 프로그램을 실행할 때
User Rights
-----------
GPO: Default Domain Controllers Policy
Policy: ImpersonatePrivilege
Computer Setting: Administrators
Joe
LOCAL SERVICE
NETWORK SERVICE
SERVICE
을 서버 :
Integrity level : Medium Process
SeChangeNotifyPrivilege
SeIncreaseWorkingSetPrivilege
Press any key to continue
: 워크 스테이션에
Integrity level : Medium Process
SeShutdownPrivilege
SeChangeNotifyPrivilege
SeUndockPrivilege
SeIncreaseWorkingSetPrivilege
SeTimeZonePrivilege
Press any key to continue
이러한
Joe가 중간 프로세스를 실행하는 동안 SeImpersontatePrivilege를 가질 수 있는지 여부와이를 수행하는 방법에 대해 알고 싶습니다. 내 목표는 Joe가 Get/AcceptSecurityContext를 사용하여 워크 스테이션이나 서버에서 실행 중인지 "식별"과 달리 "가장"수준에서 다른 사용자를 가장하도록하는 것입니다. 내가 주제에 대한 배경을 읽는 것에 대한 제안을 해주시면 감사하겠습니다.
Joe가 분할 토큰을 얻고 있습니다. [이 초 기 사용자 답변] (http://superuser.com/a/610253/96662)을 참조하십시오. 유감스럽게도 GUI는이 시나리오에 잘 대처할 수 없으며 Joe가 가장 (impersonation) 권한을 가진 프로세스를 실행하는 데 매우 합리적인 방법을 알지 못합니다. 프로그래밍 방식으로 (여기에 설명 된대로) 할 수 있지만 (http://stackoverflow.com/a/39403260/886887) 사용자 이름과 암호가 필요합니다. –
한편, 처음에는 아주 현명한 일이 아닙니다. 특권이 검열되는 * 이유가 있습니다. 시나리오에 대해 많이 말하지는 않았지만, 가장 올바른 솔루션은 재 설계가 필요하여 가장을 요구하는 코드가 시스템 서비스에있는 것일 수 있습니다. (서비스는 관리자 권한으로 실행될 필요가 없으며 UAC는 서비스에는 적용되지 않습니다.) –
(덧붙여서, 서버에서 권한 목록을 얻었으며 워크 스테이션의 권한 목록이 섞여 있습니까? 워크 스테이션에 대한 권한이 더 적지는 않습니다.) –