「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.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー