Windows の重要なプロセスのメモ

Windows の重要なプロセスのメモ。

この記事はThe Art of MEMORY FORENSICS (Wiley出版) P.154 - 155の内容を自分なりにまとめたもの。

System

Systemは厳密にはプロセスではない。(Systemというファイルはディスク上に存在しない。)
Systemはカーネル・モードで動作するスレッドの大元である。カーネル・モジュールが使用しているソケットやファイルへのハンドルはSystem プロセス(PID: 4)の所有となる。

csrss.exe

Client / server runtime subsystemのプロセス。プロセス/スレッドの作成及び削除を担う。Windows 7 より前のシステムではcsrss.exeはcmd.exeによって実行されたコマンドの仲介も行っていた。そのためcsrss.exeのプロセス・メモリ領域からコマンドの履歴を抽出することが出来た。csrss.exeはセッション毎に生成されるため、システム上では大抵の場合、複数のcsrss.exeが実行されている。

conhost.exe

Console hostのプロセス。Windows 7から実装された。それまでcsrss.exeが担っていたcmd.exe経由のコマンドの仲介を代わりに受け持つ。そのためconhost.exeのプロセス・メモリ領域からコマンドの履歴を抽出することが可能。

services.exe

Service Control Manager (SCM)に関連するプロセス。Windows サービスの管理を担う。svchost.exe (service host)、spoolsv.exe (Windows OS print spooler service) 、SearchIndexer.exe (Microsoft Windows Search Indexer)の親プロセスである場合がほとんどである。

svchost.exe

Windows サービスに関連するプロセス。DLLをWindows サービスに登録した場合、svchost.exeによって読み込まれる。システム上では大抵の場合、複数のsvchost.exeが実行されている。先述したように親プロセスはservices.exeである。

lsass.exe

Local security authority subsystemのプロセス。セキュリティ・ポリシーの執行、パスワードの認証、access tokenの作成を担う。その役割上、lsass.exeのメモリ領域にはパスワードのハッシュ値などユーザー認証に関する情報が格納されている。lsass.exeのプロセスをダンプして、ダンプファイルに対してMimikatzなどのツールを実行すると、パスワードのハッシュ値など認証に関連する情報を抽出できる。システム上で実行されるlsass.exeは原則として1個だけである。Vistaより前のシステムではwinlogon.exeが親プロセスとなり、Vistaとそれ以降のシステムではwininit.exeが親プロセスとなる。

winlogon.exe

ログオン・プロンプトの生成・実行、スクリーンセーバーの実行、ユーザー・プロファイルのロードの支援、CTRL+ALT+DELなどのSecure Attention Sequence (SAS) キーボード・オペレーションへの応答を担う。また、システムにWindows File Protection (WFP) が実装されている場合、ファイルやディレクトリへの変更を監視する。

explorer.exe

Windows Explorerのプロセス。フォルダの閲覧、スタート・メニューの表示などGUIベースのユーザー操作への応答を担う。ユーザーの操作内容によってはセンシティブなデータにアクセスする場合もある。例えばユーザーがエクスプローラー経由で開いたドキュメントに関する情報や、ユーザーがエクスプローラー経由でFTPサイトにログインした際に使用した認証情報など。

smss.exe

Session Managerのプロセス。システムのブート時に一番最初に実行されるユーザーモード・プロセスである。ユーザー・セッションの生成を担う。

参考
The Art of MEMORY FORENSICS (Wiley出版) P.154 - 155, P.524 - 525

Leave a Reply

Your email address will not be published. Required fields are marked *