2016-11-12 21 views
0

ネットワーク上の唯一のドメインコントローラであるWindows Server 2008 R2では、標準ユーザー "Joe" SeImpersonatePrivilegeを提供しました。 Joeは管理者グループのメンバーではありません。 Joeがプロセスを開始すると、Medium Integrity Levelで実行されます。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 

SeShutdownPrivilege 
SeChangeNotifyPrivilege 
SeUndockPrivilege 
SeIncreaseWorkingSetPrivilege 
SeTimeZonePrivilege 

Press any key to continue 

及びこれら:

Integrity level : Medium Process 

SeChangeNotifyPrivilege 
SeIncreaseWorkingSetPrivilege 

Press any key to continue 

私はJoeがメディアプロセスを実行中にSeImpersontatePrivilegeを持つことが可能かどうか、もしあればそれを達成する方法を知りたいと思います。私の目標は、Get/AcceptSecurityContextを使用して、ワークステーションまたはサーバー上で実行しているかどうかにかかわらず、Joeに "偽装"レベルで他のユーザーを偽装させることです。私はその話題のバックグラウンド読解のための提案を感謝します。

+1

ジョーは分割トークンを取得しています。[このスーパーユーザーからの以前の回答](http://superuser.com/a/610253/96662)を参照してください。残念ながら、このシナリオではGUIはうまく対処できません。Joeが偽装特権を持つプロセスを実行するための非常に賢明な方法を認識していません。あなたはプログラム的に[ここに記載されている](http://stackoverflow.com/a/39403260/886887)それを行うことができますが、ユーザ名とパスワードが必要です。 –

+0

一方、最初のことは非常に賢明なことではありません。特権が検閲されている*理由があります。シナリオについてはあまり言及していませんが、偽装を必要とするコードがシステムサービスに含まれるように、正しいソリューションが再設計されている可能性があります。 (サービスは管理者権限で実行する必要はなく、UACはサービスには適用されません) –

+0

(ちなみに、サーバーから特権のリストを取得しましたが、ワークステーションからの特権のリストが混在していましたか?ワークステーションでもっと多くの特権を持っています。) –

答えて

0

this articleによると、Joeはフィルタリングされたトークンを取得しています。 Joeは特別な権限を持つグループのメンバーではないため、Joeのトークンから権限が削除されます。トークンに特権を追加することはできないので、これを実行する唯一の方法は、プログラムをサービス(HTからHarry Johnston)として実行するか、特別な特権を持つグループにJoeを追加することです。

関連する問題