92

別のアカウントとしてプロセスを実行しようとしています。私はコマンドを持っています:

runas "/user:WIN-CLR8YU96CL5\network service" "abwsx1.exe"

しかし、これはパスワードを要求します。ただし、ネットワーク サービスにはパスワードが設定されていません。

私がやろうとしていることは可能ですか?

4

5 に答える 5

140

管理者特権でのコマンド プロンプトから実行する SysInternals のPsExec.exeを使用します。

たとえば、これにより、NETWORK SERVICE として実行される新しいコマンド プロンプトが開きます。

psexec -i -u "nt authority\network service" cmd.exe 

これにより、LOCAL SYSTEM として実行されます。

psexec -i -s cmd.exe 

whoamiこれらは、cmd プロンプトから実行することで確認できます。

以下も参照してください。

于 2013-07-31T14:52:36.050 に答える
6

通常、この投稿で言及されているように、Windows サービスからのサービス アカウントとしてのみ偽装できます。

秘訣は、ローカル システムとしてコードを実行することです。そこから、パスワードなしで適切なユーザー名を使用して、サービス アカウントを偽装できます。ローカル システム アカウントとしてコードを実行する 1 つの方法は、以下に示す手法 (この元の投稿から抜粋) を使用してコマンド ライン シェルを作成し、そこからアセンブリを実行することです。コードを呼び出すSystem.Diagnostics.Debugger.Break()と、デバッグできます。

ローカル システム アカウントで実行されるコマンド ライン シェルを作成するには、新しいコマンド ライン ウィンドウを開き、次のように入力します。

c:\sc create testsvc binpath= "cmd /K start" type= own type= interact

に続く:

c:\sc start testsvc

新しいコマンド ウィンドウが開いているはずです。そのウィンドウで application.exe を実行します。ビルトイン システム ユーザー アカウントとして実行していることがわかります。テストが終了したら、次のように入力して、作成したテスト サービスを削除できます。

c:\sc delete testsvc

独自のユーザー コンテキストでそれを行おうとすると、そのような試みは失敗するはずです。

于 2011-08-02T12:12:34.593 に答える