2016-11-12 3 views
0

네트워크의 유일한 도메인 컨트롤러 인 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를 사용하여 워크 스테이션이나 서버에서 실행 중인지 "식별"과 달리 "가장"수준에서 다른 사용자를 가장하도록하는 것입니다. 내가 주제에 대한 배경을 읽는 것에 대한 제안을 해주시면 감사하겠습니다.

+1

Joe가 분할 토큰을 얻고 있습니다. [이 초 기 사용자 답변] (http://superuser.com/a/610253/96662)을 참조하십시오. 유감스럽게도 GUI는이 시나리오에 잘 대처할 수 없으며 Joe가 가장 (impersonation) 권한을 가진 프로세스를 실행하는 데 매우 합리적인 방법을 알지 못합니다. 프로그래밍 방식으로 (여기에 설명 된대로) 할 수 있지만 (http://stackoverflow.com/a/39403260/886887) 사용자 이름과 암호가 필요합니다. –

+0

한편, 처음에는 아주 현명한 일이 아닙니다. 특권이 검열되는 * 이유가 있습니다. 시나리오에 대해 많이 말하지는 않았지만, 가장 올바른 솔루션은 재 설계가 필요하여 가장을 요구하는 코드가 시스템 서비스에있는 것일 수 있습니다. (서비스는 관리자 권한으로 실행될 필요가 없으며 UAC는 서비스에는 적용되지 않습니다.) –

+0

(덧붙여서, 서버에서 권한 목록을 얻었으며 워크 스테이션의 권한 목록이 섞여 있습니까? 워크 스테이션에 대한 권한이 더 적지는 않습니다.) –

답변

0

this article에 따르면 Joe는 필터링 된 토큰을 얻습니다. Joe는 특별한 권한이있는 그룹의 구성원이 아니기 때문에 Joe의 토큰에서 권한이 제거됩니다. 토큰에 권한을 추가 할 수 없으므로이를 수행하는 유일한 방법은 프로그램을 서비스 (HT는 Harry Johnston)로 실행하거나 특수 권한이있는 그룹에 Joe를 추가하는 것입니다.