「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
-
製品資料
“攻撃者優位”なサイバーセキュリティ、全ての「穴」をふさぐ方法とは? -
製品資料
実際に悪用される脆弱性は4%前後 優先的に対処すべき脆弱性を把握するには? -
製品資料
HubSpotの機能を拡張する法人データ活用法 -
製品資料
面倒で非生産的な「名寄せ」作業 高精度&高効率に実施するには? -
製品資料
名刺管理には「その先」がある 成果のでない営業活動から脱却する秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
2
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
3
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
4
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
5
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
6
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
7
年収700万超エンジニアに共通するスキルと「もっと勉強すべきだった分野」
-
8
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
9
ベッドでの使用が「PC騒音」を悪化させる? Dellが推奨する冷却ファンの鎮め方
-
10
アラート47%削減 オープンハウスが捨てた「全部メール通知」の監視体制
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
財務・会計はAI活用でどう変わる? 調査で見えた変革の道筋
-
3
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
7
コスト分析で見る「デバイス復旧」の代償 損失額から導きだされた投資戦略とは
-
8
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
9
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
-
10
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー