誰もログインしていないときに使用されるWindowsアカウントは何ですか?


25

Windowsに誰もログインしていない場合(ログイン画面が表示されます)、現在実行中のプロセスはどのユーザーですか?(ビデオ/サウンドドライバー、ログインセッション、サーバーソフトウェア、アクセシビリティコントロールなど。誰もログインしていないため、ユーザーまたは前のユーザーにはなれません。ユーザーによって開始されたが、ログオフ後に実行しますか?(たとえば、HTTP、FTPサーバー、その他のネットワーク関連のもの)SYSTEMアカウントに切り替えますか?ユーザーが開始したプロセスがSYSTEMに切り替わった場合、それは非常に深刻な脆弱性を示します。ログオフした後もそのユーザーとして実行し続けますか?

これがSETHCハックによりCMDをSYSTEMとして使用できるようになったのですか?


「ユーザーの切り替え」は、実際にはWindows上の白黒操作ではありません。サービスは同時に複数のユーザーになりすますことができ、それでも元のアカウントを使用しています。これは、特定のユーザー、たとえば認証済みのWebサイト訪問者に代わって行動する必要があるサービスに役立ちます。
–MSalters

3
Windowsはマルチユーザーオペレーティングシステムです。つまり、異なるプロセスが同時に異なるユーザーに属する場合があります。コンピュータ全体にログインすると、アカウントに「切り替わり」ます。
el.pescado

回答:


40

Windowsに誰もログインしていない場合(ログイン画面が表示されます)、現在実行中のプロセスはどのユーザーですか?(ビデオ/サウンドドライバー、ログインセッション、サーバーソフトウェア、アクセシビリティコントロールなど。

ほとんどすべてのドライバーはカーネルモードで実行されます。ユーザー空間プロセスを開始しない限り、アカウントは必要ありません。SYSTEMの下で実行されるいくつかのユーザー空間ドライバー。

ログインセッション、今すぐ確認することはできませんが、SYSTEMも使用していると確信しています。logonui.exeは、Process HackerまたはSysInternals ProcExpで確認できます。実際、すべてをそのように見ることができます。

「サーバーソフトウェア」、以下のWindowsサービスを参照してください。

ユーザーによって開始されたが、ログオフ後も引き続き実行されるプロセスについてはどうですか?(たとえば、HTTP、FTPサーバー、およびその他のネットワーク関連のもの)。SYSTEMアカウントに切り替えますか?

ここには3つの種類があります。

  1. 単純な古い「バックグラウンド」プロセス。それらは、それらを開始した人と同じアカウントで実行され、ログオフ後に実行されません。ログオフプロセスは、それらすべてを強制終了します。

    「HTTP、FTPサーバー、およびその他のネットワーク関連のもの」、通常のバックグラウンドプロセスとして実行されません。それらはサービスとして実行されます。

  2. Windowsの「サービス」プロセス。これらは直接起動されるのではなく、Service Managerを介して起動されます。デフォルトでは、サービスはLocalSystem(isanaeはSYSTEMと等しい)として実行されますが、専用のアカウントを構成できます。

    (もちろん、実際にはだれも気にしません。彼らはXAMPPまたはWampServerまたはその他のがらくたをインストールし、それをSYSTEMとして実行し、永遠にパッチを当てません。)

    最近のWindowsシステムでは、サービスにも独自の SIDを持たせることができると思いますが、これについてはまだ詳しく調査していません。

  3. スケジュールされたタスク。これらは「タスクスケジューラ」サービスによって「バックグラウンドで」起動され、常にタスクで設定されたアカウント(通常はタスクを作成した人)で実行されます。

ユーザーが開始したプロセスがSYSTEMに切り替わった場合、それは非常に深刻な脆弱性を示しています

あなたがしなければならないので、それは脆弱性ではありませんすでにサービスをインストールするには、管理者権限を持っています。管理者権限をすでに持っていると、実質的にすべてを行うことができます。

(同じ種類の他のさまざまな非脆弱性も参照してください)



2
IISの多くは、IISプロセス用に特別に作成された、より低い特権のアカウントで実行されることに注意してください。(これは、多くのWindows HTTP、FTPなどのサーバーに対応します。)詳細については、こちらを参照してください。そのため、多くの場合、使用しているプログラムのデフォルトに依存します。
jpmc26

1
SYSTEMとローカル管理者は本質的に同一です。片方を手に入れると、もう片方を手に入れることができ、OSは主にミスを防ぐためのロードブロッキングを設定します。(注:The Old New ThingはMicrosoftの公式ドキュメントではありません。)
CVn

3
最近では、多くのサービスがLocalSystemではなくNetworkServiceまたはLocalServiceとして実行されます。
ベンフォークト

2
Windows 7および2008 R2以降、マネージドサービスアカウントと仮想アカウントでは、独自のIDでサービスを実行できるため、LocalService / NetworkService / LocalSystemを共有する多数のサービスがなく、1つのサービスに脆弱性がある場合はアクセスが制限されます。
-afrazier

2

ログインおよび事前ログインプロセスはすべてSYSTEM(LocalSystemとも呼ばれます)として実行されます。実際、一部のWindowsバージョンでSYSTEMとして実行されているシェル(CMDプロンプトなど)を取得する1つの方法は、スクリーンリーダー、拡大鏡、オンスクリーンキーボードなどのアクセシビリティプログラムを(またはへのリンク)CMD.EXE、ショートカットを使用して、ログインする前にそのアクセシビリティ機能を有効にします。ログインしているユーザーがいなくても、コマンドプロンプトが表示され、CMDSYSTEMとして実行されます。

(注:Windowsログインプロセスをバイパスできるため、これは明らかに危険です。このようにコンピューターを構成して、そのままにしておくことはできません。)


1
Windows 7で動作し、C:\ Windows \ System32 \のsethc.exeをcmd.exeに置き換えました

1

彼らは何にも「切り替え」ません。そのようなプロセス、現在のユーザーコンテキストでは実行されません
それらはSYSTEMユーザーが所有しています。

個々のユーザーが所有するプロセスとサービスは、ログアウト時に終了します。
それがログアウトの意味です。


よくわからない...まず、MS Technetの投稿を見つけました。ここでは(これはあまり意味がありませんが)、スタッフが回答を受け入れ、ログアウト時にサービスが終了しないと述べました。私はどちらかわからこれは、より一般的にログアウトの正確な定義はありませんよ。私はその後、一人のユーザーをログアウトした後、周りのLinux滞在にいくつかのデーモンを見たps別として
underscore_d

1
それは正しくありません。サービスは別のユーザーとして開始することができ、そのユーザーが「ログイン」しなくても開始および実行を継続できます。ユーザー資格情報を使用して独自のセッションを開始するため、実際にはサービスの実行中にユーザーはログインしますが、デスクトップ/自動起動プログラムなどは実行されません。これが通常のユーザーが「ログイン」と理解するものです。それでも、サービスはそのユーザー資格情報で実行され、そのユーザーファイルにアクセスできます。
ジョセフ

@Josef:あなたの議論は、「一部の人々は「ログイン」という用語を誤用している」と要約されるようです。コメントの実際の内容は私の答えに同意します。そのユーザーは、アカウントに対してサービス/プロセスが実行されている限り、ログインしているとみなさます。
モニカとの軽さのレース

@LightnessRacesinOrbitいいえ、実際の違いがあります。アカウントでサービスを作成し、それがブート時に実行される場合、デスクトップを表示するプロセスが開始されないため(dwm.exeまたはexplorer.exeが実行されていない)、すべての自動起動プログラムは実行されません。実行中などです。したがって、対話型ログインセッションがある場合は、サービスセッションのみが実行されている場合よりも多くのものがアクティブになります。正確に「ログイン」することは議論の余地があります。資格情報でサービスが実行されている場合でも、Windowsを使用するにはログインする必要があります!
ジョセフ

1
「そのようなプロセスは現在のユーザーコンテキストで実行されることはありません」というのはまだ間違っています。サービスは、それらに設定されたユーザーコンテキストで実行されます。ビルトインWindowsサービスの場合、それはシステムアカウントの1つです。他のサービスの場合、どのアカウントでもかまいません。特に、サーバーソフトウェアは新しいユーザーアカウントを作成し、その資格情報を使用して実行する必要があります。
ジョセフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.