Windowsアーキテクチャ
プロセスとサービス
「Windowsアーキテクチャ」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。
Windowsの内部構造を学ぶ理由
ほとんどのエンタープライズ環境ではWindowsが使われています。プロセス、サービス、権限の境界など、その内部の仕組みを理解することは、攻撃と防御の両方に不可欠です。
このレッスンでは、エンゲージメント中に推論することになる中核アーキテクチャを扱います。
ユーザーモードとカーネルモード
Windowsでは、実行環境が2つのリングに分かれています。
- ユーザーモード - アプリケーションが、制限されたアクセス権で実行されます。
- カーネルモード - OSの中核とドライバーが、ハードウェアへの完全なアクセス権で実行されます。
カーネルモードに到達するエクスプロイト(脆弱なドライバーを介するものなど)によって、完全な制御が可能になります。
プロセスとスレッド
プロセスは独自のメモリを持つ実行中のプログラムで、スレッドはその内部で実行される単位です。各プロセスには一意のPIDがあります。
コマンドプロンプトまたはPowerShellからプロセスを一覧表示できます。
tasklist
Get-Process | Sort-Object CPU -Descending主要なシステムプロセス
常に実行されているプロセスがいくつかあります。これらを装ったプロセスはマルウェアの兆候です。
- System(PID 4) - カーネルスレッド。
- smss.exe - セッションマネージャー。
- csrss.exe - クライアント/サーバーランタイム。
- lsass.exe - 認証情報を保持する、攻撃者にとって主要な標的。
- winlogon.exe、services.exe。
lsassと認証情報
lsass.exe(Local Security Authority Subsystem)は認証を管理し、認証情報のデータをメモリにキャッシュします。
Mimikatzなどのツールはlsassの内容をダンプし、パスワードハッシュやKerberosチケットを盗みます。これは理解しておくべき最重要攻撃の1つです。
サービス
サービスはService Control Managerが管理するバックグラウンドプログラムで、起動時に高い権限で実行されることがよくあります。
設定ミスのあるサービス(弱い権限や引用符で囲まれていないパスなど)は、典型的な権限昇格経路です。
sc query
Get-Service | Where-Object Status -eq 'Running'Windows API
アプリケーションは、kernel32.dllやntdll.dllなどのDLLが公開するWindows APIを介してOSと通信します。
マルウェアや攻撃ツールは、これらのAPI(CreateProcess、VirtualAlloc、WriteProcessMemory)を直接呼び出してコードを注入し、検出を回避します。
アクセストークン
すべてのプロセスは、ユーザー、グループ、権限を示すアクセストークンを保持しています。Windowsは、保護された操作を行うたびにこのトークンを確認します。
攻撃者はトークンを盗んだり偽装したりして、より高い権限を持つユーザーとして操作します。これは多くの権限昇格手法の基盤です。
whoami /priv
whoami /groups整合性レベルとUAC
Windowsは整合性レベル(Low、Medium、High、System)を割り当てます。User Account Control(UAC)では、管理者も昇格するまではMediumで実行されます。
UACバイパスは、プロンプトを表示せずにMediumからHighの整合性レベルへ移行するためによく使われる手順です。
DLLと検索順序
プログラムはDLLから共有コードを読み込みます。Windowsは特定のディレクトリを決められた順序で検索してDLLを見つけます。
書き込み可能なディレクトリが先にある場合、攻撃者は悪意のあるDLLを配置できます。これはDLLハイジャック/検索順序の悪用です。
Sysinternalsによる調査
MicrosoftのSysinternalsスイートは、防御側にも攻撃側にも非常に役立ちます。
- Process Explorer - 詳細なプロセスツリーとハンドル。
- Process Monitor - ファイル、レジストリ、プロセスのイベントをリアルタイムで監視。
- Autoruns - 自動起動場所をすべて表示(永続化の発見に有効)。
クイックチェック
認証情報を保持するプロセスを思い出してください。
まとめ
Windowsのアーキテクチャを整理しました。
- ユーザーモードとカーネルモード。カーネルに到達すると完全な制御が可能です。
- 主要なプロセス、特に認証情報を扱うlsass.exe。
- サービス、アクセストークン、整合性レベル、UAC。
- DLLの検索順序の悪用と、調査に使うSysinternals。
次は、Windowsレジストリです。
よくある質問
「Windowsアーキテクチャ」レッスンは無料ですか?
はい。「Windowsアーキテクチャ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。
「Windowsアーキテクチャ」で何を学びますか?
プロセスとサービス ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ethical Hacking Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Windowsアーキテクチャ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEthical Hacking Academyレッスンでコードを書いて実行できますか?
はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Windowsアーキテクチャ
- レジストリ
- Windows認証
- 攻撃者のためのPowerShell