0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TryHackMe「Windows Fundamentals 2」学習ノート

0
Posted at

この記事について

TryHackMeの「Windows Fundamentals 2」というルームで学んだ内容を、Task単位でまとめたノートです。Windows Fundamentals 1に続く座学系ルームで、System Configuration(MSConfig)、UAC(User Account Control)の詳細設定、Computer Management、System Information、Resource Monitor、Command Prompt、Registry Editorなど、Windowsをもう一段深く扱うための管理系ツール群を扱っています。

課題の設問や答え(flag)はここには含めていません。あくまで各Taskで学んだ考え方・仕組みを、自分の理解として整理したものです。

Task 1: Introduction

Windows Fundamentals 1では、デスクトップ・ファイルシステム・UAC・コントロールパネル・設定・タスクマネージャーといった、見た目でわかる基本操作を扱いました。Part 2では、もう少し内部寄りの機能――システム設定の詳細画面や、システムの状態を確認するためのツールを扱っていきます。

このTaskでは、リモートデスクトップ(Remote Desktop、RDP)経由でラボマシン(学習用の仮想マシン)に接続し、環境をセットアップします。

Task 2: System Configuration and Advanced System Settings

System Configuration(通称MSConfig)は、高度なトラブルシューティング(troubleshooting、問題解決のための調査)向けのツールで、主にスタートアップ(起動時)の問題を診断するために使われます。上部に5つのタブがあります。

  • General(全般): 起動時にどのデバイス・サービスを読み込むかを、Normal(通常)/Diagnostic(診断)/Selective(選択的)から選べる
  • Boot(ブート): OSの起動オプションを設定する
  • Services(サービス): 状態(実行中/停止中)にかかわらず、設定されている全サービスの一覧を確認できる
  • Startup(スタートアップ): スタートアップ項目の管理は、本来はタスクマネージャーの役割で、MSConfigはスタートアップ管理プログラムではない
  • Tools(ツール): OSをさらに設定するための、さまざまな補助ツールへのショートカット集

面白かったのが、付属マシンがWindows Serverであるため、タスクマネージャーやMSConfigのStartupタブにスタートアッププログラムが表示されない、という点です。Windows Serverはクライアント版Windows(10/11など)とスタートアップ管理の仕組みが異なり、ユーザーレベルのスタートアップ項目を確認できる確実な方法は、Win + Rshell:startupで直接スタートアップフォルダーを開くことでした。

もう1つ扱ったのが、Advanced System Settings(システムの詳細設定)です。ここでは、物理メモリ(RAM)が不足したときに使われる仮想メモリの仕組みであるページファイル(page file)の設定や、システムがクラッシュ(Blue Screen of Deathなど)したときにどれだけの情報をクラッシュダンプ(crash dump)として保存するかの設定を確認できます。

学んだこと

MSConfigは「起動時の問題を切り分けるための診断ツール」であり、日常的なスタートアップ管理ツールではない、という位置づけの違いが印象的でした。同じWindowsでも、サーバー版とクライアント版でスタートアップ管理の挙動が異なる、というのも実務でサーバーを扱う際に知っておくべき基礎知識だと思います。

ページファイルやクラッシュダンプの仕組みは、パフォーマンスチューニングや障害調査(トラブルシューティング)の基本用語です。特にクラッシュダンプは、システムクラッシュ時のメモリ状態を記録したファイルで、フォレンジック(forensics、事後調査)の文脈でも登場する概念です。

関連キーワード

キーワード(英語) 説明
MSConfig (System Configuration) Windowsの起動・サービス・ツールを管理する診断用ユーティリティ
Service(サービス) バックグラウンドで動作する常駐プログラム
shell:startup Runダイアログから直接スタートアップフォルダーを開けるショートカットコマンド
Page File(ページファイル) 物理メモリ不足時に、ディスクの一部を仮想メモリとして使う仕組み
Crash Dump(クラッシュダンプ) システムクラッシュ時のメモリ状態を記録したファイル。障害解析に使われる

Task 3: Change UAC Settings

UAC(User Account Control、ユーザーアカウント制御)については、Windows Fundamentals 1で詳しく扱っていますが、このTaskではUACの警告レベルをスライダーで4段階に調整できることを学びました。

  1. Always notify(常に通知): 一番厳しいレベル。ユーザー・アプリどちらの変更でも警告が出て、画面が暗くなる(Secure Desktop)
  2. Notify for apps(アプリのみ通知): Windowsの初期設定。アプリが変更を試みたときだけ警告が出る
  3. Notify without dimming(暗くせず通知): 2番目と条件は同じだが、画面が暗くならない
  4. Never notify(通知しない): 一切警告なし。非推奨

学んだこと

Secure Desktop(セキュアデスクトップ)は、UACの警告ダイアログ表示中に画面全体を暗くする仕組みで、偽の警告(なりすまし)と本物のWindows警告を視覚的に区別しやすくするセキュリティ機能です。UACの4段階は、「便利さ(警告の少なさ)」と「安全性」がトレードオフの関係にある、というセキュリティの基本的な考え方をよく表しています。

関連キーワード

キーワード(英語) 説明
User Account Control (UAC) アプリやユーザーによるシステムレベルの変更前に確認を求めるセキュリティ機能
Secure Desktop(セキュアデスクトップ) UAC警告表示中に画面を暗くし、他の操作をブロックする保護モード
Trade-off(トレードオフ) 一方を得ると他方を犠牲にする関係。UACでは利便性と安全性がこの関係にある

Task 4: Computer Management

Computer Management(コンピューターの管理、compmgmt)は、System Tools・Storage・Services and Applicationsの3セクションから成る管理系ツールの集約画面です。

  • Task Scheduler(タスクスケジューラ): 指定した条件・時刻にプログラムやスクリプトを自動実行させる仕組み
  • Event Viewer(イベントビューアー): システム上のイベント(ログイン・エラー・警告など)を記録・閲覧するツール。監査証跡(audit trail)として、問題の診断や操作の調査に使われる
  • Shared Folders(共有フォルダー): ネットワーク越しに他のPCからアクセスできる共有の一覧。C$ADMIN$のように末尾に$が付く共有は隠し共有(hidden share)と呼ばれる
  • Local Users and Groups: lusrmgr.mscと同じ、ローカルアカウント・グループの管理画面
  • Performance Monitor(perfmon): パフォーマンスデータをリアルタイム/ログで確認するツール
  • Device Manager(デバイスマネージャー): ハードウェアの表示・設定・無効化ができるツール
  • Disk Management(ディスクの管理): パーティションの作成・拡張・縮小やドライブ文字の変更などを行うストレージ管理ツール
  • Services: バックグラウンドで動くサービスの一覧・管理。Startup type(スタートアップの種類)はAutomatic(自動)/Manual(手動)/Disabled(無効)の3種類
  • WMI Control: WMI(Windows Management Instrumentation)というWindowsの管理・自動化のための仕組みを制御する場所。コマンドライン版のWMICはWindows 10 21H1で非推奨になり、今はPowerShellが後継として使われている

学んだこと

Task Scheduler(タスクスケジューラ)は、攻撃者がシステムへの侵入後もアクセスを維持し続けるための手口(persistence、永続化)として悪用されることがある、という点が特に印象に残りました。「便利な自動化の仕組み」と「悪用可能なポイント」は表裏一体で、セキュリティ調査で必ずチェックすべき場所だと理解しました。

隠し共有(C$ADMIN$など)は、通常のネットワーク一覧には表示されないものの、パスを直接指定すればアクセスできる特別な共有です。実務でもよく話題に上がる仕組みなので、名前だけでも覚えておく価値がありました。

関連キーワード

キーワード(英語) 説明
Task Scheduler(タスクスケジューラ) 条件・スケジュールに応じてプログラムを自動実行する仕組み
Persistence(永続化) 攻撃者が侵入後もアクセスを維持し続けるための手口の総称
Event Viewer(イベントビューアー) システムイベントを記録・閲覧するツール
Audit Trail(監査証跡) 「誰が・いつ・何をしたか」を後から追跡できる記録
Hidden Share(隠し共有) 名前の末尾に$が付く、通常は表示されない共有フォルダー
Startup Type(スタートアップの種類) サービスの起動条件。Automatic/Manual/Disabledの3種類
WMI (Windows Management Instrumentation) スクリプトからWindowsをローカル・リモートで管理・自動化する仕組み

Task 5: System Information

System Information(msinfo32)は、ハードウェア・システムコンポーネント・ソフトウェア環境の包括的な情報を一画面で確認できる診断ツールです。System Summaryの情報は、Hardware Resources(ハードウェアリソース)・Components(コンポーネント)・Software Environment(ソフトウェア環境)の3セクションに分かれています。

Software Environmentのセクションで扱われる環境変数(Environment Variables)は、OSやプログラムが参照する、名前付きの設定値です。たとえばWINDIRという環境変数には、Windowsのインストールフォルダーの場所が入っていて、プログラムはこの値を見て「Windowsのシステムファイルはここにある」と判断できます。環境変数はmsinfo32だけでなく、コントロールパネルや設定アプリの「システムの詳細設定」からも確認できます。

このツールは項目数がとても多いため、目的の情報を探すときはスクロールより検索バーを使う方が効率的、というのも実践的な学びでした。

学んだこと

msinfo32のような情報量の多いツールでは、「まず検索機能を使う」という探し方が身につくと、以降のツール操作全般が楽になると感じました。環境変数についても、Windows Fundamentals 1のSystem32フォルダのTaskで少し触れた内容とつながっていて、知識が線でつながっていく感覚がありました。

関連キーワード

キーワード(英語) 説明
System Information (msinfo32) ハードウェア・システムコンポーネント・ソフトウェア環境を包括的に確認できる診断ツール
Environment Variables(環境変数) OSやプログラムが参照する、名前付きの設定値
WINDIR Windowsのインストールディレクトリの場所を示す環境変数の一例
Advanced System Settings システムのパフォーマンスや環境変数などを設定できる詳細設定画面

Task 6: Resource Monitor

Resource Monitor(resmon)は、プロセス単位でCPU・メモリ・ディスク・ネットワークの使用状況をリアルタイムに確認できるツールです。前のTaskのPerformance Monitor(perfmon)と名前が似ていますが役割が違い、perfmonは時系列でのパフォーマンス記録、resmonはプロセス単位でのリアルタイムな資源使用状況の確認、という役割分担になっています。

デッドロック(deadlock、複数のプロセスが互いの処理待ちで停止してしまう状態)や、ファイルロックの競合を特定できる機能もあり、アプリケーションを強制終了してデータを失う前に、原因を調べる手段として使えます。

学んだこと

似た名前のツール(perfmon/resmon)は混同しやすいですが、「時系列で追う」か「今この瞬間をプロセス単位で見る」かという軸で整理すると区別しやすいと感じました。

関連キーワード

キーワード(英語) 説明
Resource Monitor (resmon) プロセスごと・集計単位でCPU・メモリ・ディスク・ネットワークの使用状況を確認できるツール
Deadlock(デッドロック) 複数のプロセスが互いの処理待ちで停止してしまい、先に進めなくなる状態
File Handle(ファイルハンドル) プログラムが開いているファイルを識別するための参照情報

Task 7: Command Prompt

コマンドプロンプト(cmd)で使える基本コマンドを扱いました。

  • hostname: コンピューター名を表示する
  • whoami: 今ログインしているユーザー名を表示する
  • ipconfig: ネットワークアドレスの設定を表示する
  • /?: コマンドの後ろに付けると、そのコマンドのヘルプマニュアルが表示される
  • cls: コマンドプロンプトの画面をクリアする
  • netstat: ネットワーク接続の状態やプロトコル統計を表示する。-aのようなパラメーターで表示内容を変更できる
  • net: ネットワークリソース(共有フォルダーやユーザーアカウントなど)を管理するコマンド。net userのように「サブコマンド」と組み合わせて使う

面白かったのは、netコマンドだけは/?が効かず、代わりにnet helpという専用の構文を使う必要がある点でした。同じ「ヘルプを見る」という目的でも、コマンドによって書き方が違うことがある、というのは実際に手を動かしてみないと気づきにくい部分でした。

学んだこと

GUIに慣れていると、コマンドラインは最初は取っつきにくく感じますが、/?のようなヘルプ表示の仕組みを知っておけば、知らないコマンドでも自力で調べながら進められる、という安心感がありました。パラメーター(parameter、引数)次第で同じコマンドでも得られる情報の量・種類が変わってくる、という点も基本ながら重要な理解でした。

関連キーワード

キーワード(英語) 説明
Command Prompt (cmd) Windowsのコマンドライン環境
hostname / whoami / ipconfig コンピューター名・ログインユーザー名・ネットワーク設定を確認する基本コマンド
netstat ネットワーク接続の状態やプロトコル統計を表示するコマンド
net ネットワークリソースを管理するコマンド。userlocalgroupusesharesessionなどのサブコマンドを持つ
Parameter(パラメーター) コマンドの動作を調整するための追加の指定

Task 8: Registry Editor

Windowsレジストリ(Windows Registry)は、ユーザー・アプリケーション・ハードウェアデバイス向けにシステムを構成するために必要な情報を保存する、中央集権的な階層型データベース(hierarchical database)です。各ユーザーのプロファイル、インストール済みアプリの情報、ハードウェア構成、使用中のポート番号など、Windowsが動くために必要な設定情報がここに集約されています。

レジストリを閲覧・編集する方法の1つが、レジストリエディター(Registry Editor、regedit)です。レジストリは、コントロールパネルの設定画面のように「間違えても大体は元に戻せる」場所ではなく、直接データベースの値をいじる場所のため、変な値に書き換えるとWindows自体が正常に起動しなくなることもあり、上級者向けとされています。

学んだこと

レジストリは、マルウェア(malware、悪意あるソフトウェア)が「PC起動のたびに自分を自動実行させる」ために悪用することがある場所でもあります。たとえばHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Runのようなキー(俗に言うRun key)に自分自身のパスを書き込んでおくと、次回のログイン時に自動的に実行されてしまいます。これはreg addコマンドやWindows APIから直接行うことができ、Task 4のTask Schedulerと同様、persistence(永続化)の代表的な手口の1つです。「便利な仕組みほど悪用の的にもなる」という構図は、この Windows Fundamentals 2 全体を通して繰り返し出てきたテーマだったと思います。

関連キーワード

キーワード(英語) 説明
Windows Registry(レジストリ) Windowsの設定情報を一元管理する階層型データベース
Registry Editor(レジストリエディター) レジストリの内容を閲覧・編集するためのGUIツール
Key(キー) レジストリ内の、フォルダーに相当する分類単位
Persistence(永続化) 攻撃者が侵入後もアクセスを維持し続けるための手口。レジストリの自動実行キーの悪用もその一種

Task 9: Conclusion

このルームで扱ったツール――MSConfig、Advanced System Settings、Computer Management、System Information、Resource Monitor、Command Prompt、Registry Editor――は、実はどれもMSConfigのToolsタブから起動できるツール一覧の一部でした。Task 2で最初に紹介したToolsタブの内容が、最後のTaskで回収される構成になっていたのが印象的です。

学んだこと

同じ機能に対して、GUI(スタートメニューやMSConfig経由)とコマンド(Runダイアログやコマンドプロンプト)、複数のアクセス経路が用意されているのはWindows全体に共通する設計です。今回扱いきれなかったツールも、MSConfigのToolsタブから引き続き自分で探求できる、という締めくくり方でした。

Windows Fundamentals 1・2を通して、Windowsの基本操作からシステム設定・管理ツール・コマンドプロンプト・レジストリまで一通り触れたことになります。地味に感じる内容も多かったですが、こういう「OSの仕組みを知っている」という土台は、この先セキュリティを学んでいくうえで効いてくる部分だと思います。

関連キーワード

キーワード(英語) 説明
MSConfig (System Configuration) このルームで登場した各種ツールへの入り口となった診断用ユーティリティ
Start Menu(スタートメニュー) Windowsの各種アプリ・ツールを検索・起動できる基本的な入り口
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?