「reg」コマンドで分かること
Windowsレジストリを利用したフォレンジクス――ハッカーの行動を調べる
調査担当者がユーザーの行動に関し、Windowsの「regedit」と「reg」を使うことによってレジストリからどのような情報を収集できるかを紹介する。
侵入を受けたWindowsシステムを調査担当者やシステム管理者が分析する際、Windowsレジストリを調べれば、攻撃者の行動に関する非常に重要な情報を収集できる。Windowsレジストリは、Windowsマシンの何万項目にも及ぶ設定を格納した階層型データベースだ。外部の攻撃者がWindowsマシンに侵入したのか、内部の従業員が不正行為を働いたのか、それとも何らかの理由でマルウェアがマシンに感染したのかにかかわらず、Windowsレジストリには調査担当者に役立つ貴重な情報が含まれている。本稿では、調査担当者がユーザーの行動に関してレジストリからどのような情報を収集できるかについて述べる。次回は、OS全般に関する有用なレジストリ情報を引き出す方法について説明する予定だ。
レジストリの操作
調査担当者がレジストリを操作する方法は幾つかあるが、とりわけ重宝するのがWindowsに標準で付属するGUIベースの「regedit」ツールとコマンドライン型の「reg」ツールだ。regeditは10年以上前からWindowsに含まれているが、regコマンドが組み込まれているのは、比較的最近のWindows(XP Professional、Server 2003、Vista、Server 2008など)だけだ。本稿ではregコマンドを中心に解説するが、regeditツールが役立つケースも取り上げる。regコマンドでは、レジストリキーの値を確認、更新、インポート/エクスポートできる。ただし、今回は有用なフォレンジクス情報を取り出すことに焦点を当てるので、regコマンドを使ってレジストリから重要な情報を確認する方法を中心に解説する。
ユーザーの行った操作を調べる
Windowsレジストリはハイブに保存されている。ハイブというのは、マシンの個々の分野に関する情報を格納したレジストリのセクションである。例えば、「HKCU」ハイブには、現在マシンにログオンしているユーザーに関する情報が格納されている。例えば、悪意を持った従業員がローカルコンソールの前に座っていて席を外した場合や、リモートの攻撃者がシステムに侵入し、リモートデスクトップ、ターミナルサービス、VNC(Virtual Network Computing)などを通じてマシンのGUIをコントロールした場合を想定してみよう。こういった攻撃者は、Windows GUIを利用してプログラムやコマンドを起動したかもしれない(「スタート」→「ファイル名を指定して実行」を選び、実行するプログラムの名前を入力する)。Windowsは、現在ログオン中のユーザーによって、このようにして実行された直近の26件のコマンドをレジストリに記録する。この情報を取り出すには、以下を実行すればよい。
ありがたいことにregコマンドでは、レジストリキーの指定で大文字と小文字が区別されないため、調査担当者はレジストリキーの名前のどこに大文字があるのかを覚えておく必要はない。わたしは、regコマンドを使用するときはすべて小文字を使うことが多い。その方が素早く入力できるからだ。それに、わたしはどこを大文字にすべきなのかということまで覚えておくことができない。
上記のコマンド(大文字を使う必要はない)の出力は、攻撃者がsol.exe(Windowsのソリティアゲーム)を実行した後で、cmd.exe(コマンドシェル)を実行したことを示すかもしれない。攻撃者はその次に、lusrmgr.msc(GUIツール)を起動してユーザーを追加または削除したり、services.msc(コントロールパネル)を起動してサービス構成を変更したかもしれない。わたしが以前、調査にかかわったケースでは、攻撃者は「スタート」→「ファイル名を指定して実行」を利用し、「net use * \[machine][share] [password] /u:[user]」という構文を入力することにより、ファイル共有を有効にした。この調査では、上記のレジストリキーの情報は、攻撃者がどのシステムをターゲットにしているかを調べるのに不可欠だった。注意してほしいのは、このレジストリ部分の履歴情報には、「スタート」→「ファイル名を指定して実行」に入力された項目だけが格納されており、「スタート」メニューのほかの場所から起動したプログラムの履歴は含まれていないということだ。cmd.exeのコマンドシェル履歴もこのレジストリには保存されない。また、コマンドは時系列順に格納されるわけではない。それでも「スタート」→「ファイル名を指定して実行」の履歴は、攻撃者がマシンのGUIをコントロールした場合には、調査担当者にとって非常に有益な情報を提供する。
上記のレジストリ項目の近くに、調査担当者にとって非常に役立つ項目がもう1つある。それは「RecentDocs」値だ(HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocsに格納されている)。これは、現在ログオンしているユーザーが最近開いたドキュメントの名前を表示する。これらのドキュメントは、拡張子の種類別(Microsoft Office Wordファイルであればdoc、Office PowerPointファイルであればpptなど)に格納される。残念ながら、ファイルパスとドキュメント名は、ASCIIテキスト形式ではなく、生のバイナリ値で保存される。このため、regコマンドラインツールは16進数の値を吐き出すだけで、それを人間が読めるテキストに変換したものを表示するわけではない。そこで、regコマンドを使う代わりにregeditを利用すれば、各設定をダブルクリックすることにより、これらのバイナリ値を変換してくれる。例えば、regeditで以下の項目を表示させる。
ここには、現在ログオン中のユーザーが最近アクセスした10個のWordファイルが表示される。この中の任意の値をダブルクリックすると、regeditはドキュメントのパスと名前をASCIIテキスト形式で表示する。
このほかに、レジストリに保存されるユーザー操作の痕跡としてInternet Explorer(IE)に関連したものがある。以下のコマンドは、ユーザーがWebサイトにアクセスするためにIEに入力したすべてのURLを表示する。
このとき、レジストリ名を引用符で囲む必要があることに注意していただきたい。これは、「internet」と「explorer」の間にスペースが存在するからだ。またこの例では、regコマンドではすべて小文字を使用するというわたしの「いつもの」やり方で表記している。このコマンドの出力により、ユーザーがURLを入力することによって、システムにアクセスさせたサイト(アダルトサイトやそのほかの悪質なサイトの可能性もある)に関する情報を収集できる。
このレジストリ部分に保存されている値には制限があることも指摘しておかねばならない。「TypedURLs」の値は、ブラウザのすべての履歴(検索エンジンからのクエリ、ページ内でクリックされたリンク、URLを入力することなくマルウェアによってシステムが誘導されたサイトなど)を示すわけではないのだ。しかしTypedURLsは、不審なユーザーの動機を把握するという目的には非常に有効だ。ユーザーがブラウザに意識的にURLを入力した場合、そのユーザーがシステムに対して特定のサイトにアクセスさせようと考えた可能性が高いことを示している。
レジストリ上、調査担当者にとって役立つもう1つの場所が、「WinVNC」ビュワーに関連した部分である。WinVNCは、ほかのシステムのGUIをリモートでコントロールするためのツールである。ユーザーがVNCビュワーを起動してほかのマシンに接続し、そのマシンをコントロールすると、WinVNCはシステム名またはIPアドレス(およびポート番号:VNCのデフォルトポートであるTCP 5900番以外のポートが使用されている場合)を保存する。攻撃者がGUIをコントロールするためにアクセスしたマシンの履歴は、次のコマンドで表示させることができる。
わたしが以前かかわった調査では、攻撃者がターゲットマシンを通じて何をしたのかを詳しく把握する上で、このコマンドの出力が大いに役立った。
以上見てきたように、レジストリは実質的に、マシンに現在ログオンしているユーザーが行ったさまざまな操作のログのような役割を果たす。本稿では最も有用な部分だけを取り上げたが、このほかにも調査に役立つ項目があるので、読者自身でレジストリの内部を探索することをお勧めする(※注 レジストリの操作はシステムの稼働に大きな影響を与える可能性があるので、細心の注意を払うこと)。regedit.exeを起動してHKCU\Softwareの内部を調べ、フォレンジクス調査の謎を解き明かすのに役立つ金鉱を探し当てていだたきだい。
次回は、レジストリのHKLM部分について解説する。ここには、現在ログオン中のユーザーの操作だけでなく、システム全体の動作に関する有用な情報が含まれている。
本稿筆者のエド・スコウディス氏は、ワシントンD.C.に本社を置く情報セキュリティコンサルティング会社、Intelguardiansの創業者で、同社の上級セキュリティコンサルタントを務める。SANSのインストラクターとしても活躍する。専門分野はハッカーの攻撃と防御対策、情報セキュリティ業界、コンピュータプライバシー問題など。『Counter Hack Reloaded』(Prentice Hall)や『Malware: Fighting Malicious Code』(Prentice Hall)などの著作がある。同氏は2004~2007年にわたってWindows Serverセキュリティ分野のMicrosoft MVPを受賞したほか、Honeynet Projectにも携わった。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
4
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
5
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
6
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
7
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
8
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
9
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
10
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー