15章

Hands-on-1

ここでは、Web Browsing Tool(NirSoft)により、調査対象の侵害PCにおけるWebアクセス履歴(Webヒストリー、キャッシュリスト)を調査するハンズオンを行います。

使用する Web Browsing Tool は、以下のURL(NirSoft の公式サイト)から入手できます(各ページの末尾付近にある「Download XxxxXxxxxView」をクリック)。いずれもインストールは必要なく、ダウンロードして解凍したフォルダ内のEXEファイルをダブルクリックすれば起動できます。

また、前章で紹介したエンコード/デコードツール「CyberChef」も使用します。

 

ハンズオンの想定

次の想定でハンズオンを行います。

  • マルウェア感染が発覚したPCの利用者にインタビューしたところ、次のとおり不審なメールを受信していたことが判明した。
    • 受信したメールの案内に従って、記載されたURLリンクをクリックし、ドキュメントファイルをダウンロードしたことがある(2022年3月中旬ころ)。
    • ダウンロードしたファイルを開いたところ、ほとんど白紙の文書だった。
    • 気になって、その直後に「不審なメール」等のキーワードでGoogle検索したところ、PCウイルス配布目的のメールが不特定多数へ送られている、というような内容の記事を読んだので、メールもドキュメントファイルも削除した。
    • 特にPCに異常はなかったので、ウイルスに感染しているとは思わなかった。
    • メール内容やドキュメントファイルの詳細はまったく覚えていない。
    • PC利用時のWindowsユーザーアカウントは「user-sales01」である。
    • メインで利用しているWeb ブラウザはGoogle Chromeである。
  • 利用者の証言をもとに、PCから保全したWebアクセス履歴を調査し、不審なファイルのダウンロードURLとファイル名を明らかにする。


ハンズオンで使用するファイル

解析対象の各ファイルは、演習用データの次の相対パスに保存されています。

  • Webヒストリー ※CDIR-Cにより保全
s15\h1\Web\Chrome
  • キャッシュフォルダ ※FTK Imagerにより保全
s15\h1\Web-Cache\Chrome


BrowsingHistoryViewによるWebヒストリーのCSVファイル出力

BrowsingHistoryViewでは、GUI上に表示されるWebヒストリーのリストからも、ソートやキーワード検索ができます。一方、データ量が膨大な場合など、CSVファイルへ出力し、表計算ソフトのフィルタリング機能などによる、より精密な分析が必要なケースも想定されます。ここでは、GUIで表示したWebヒストリーの全リストを、CSVファイルへ出力してみましょう。

CSVファイル出力手順は、次のようになります。

  1. BrowsingHistoryView.exeをダブルクリックで起動し、「Options」-「Advanced Options」メニュー(初回起動時は自動表示)から、解析対象のWebヒストリーファイルを指定する。


    t-1_01


    t-1_02

    ヒストリーファイルはユーザーアカウント別に2つのファイルがあります。

    ここでは、冒頭の想定でインシデント発生時のユーザーである「user-sales01」の「user-sales01_Default_History」を選択して下さい。


  2. 「OK」ボタンでパース処理が開始され、GUIにWebヒストリーのリストが表示される(サンプル画面は「Visit Time」を降順ソートにした状態)。


    t-1_03


  3. 「Options」ー「Save File Encoding」メニューで、CSVファイル出力時の日本語文字コードを「Always UTF-8 」に設定する(「Default」では、日本語が文字化けするケースあり)。


    t-1_03_1


  4. Ctrl+Aキー、または「Edit」-「Select All」メニューで、全リストを選択する。


    t-1_04


  5. Ctrl+Sキー、または「File」-「Save Selected Items」メニューで保存先設定パネルを表示し、CSV形式を選択のうえ、任意の保存場所・ファイル名を指定する。


    t-1_05


  6. 「保存」ボタンでCSVファイルが出力される。


ChromeCacheViewによるキャッシュリストのCSVファイル出力

キャッシュリストについても、ChromeCacheViewでCSVファイルへ出力してみましょう。

CSVファイル出力手順は、次のようになります。

  1. ChromeCacheView.exeをダブルクリックで起動し、「File」-「Select Cache Folder」メニューから、解析対象のキャッシュフォルダを指定する(Chromeがインストールされている環境では、起動直後にデフォルトで、ログオン中のユーザープロファイルからパースしたキャッシュリストが表示される)。


    t-1_06


    t-1_07


  2. 「OK」ボタンでパース処理が開始され、GUIにキャッシュリストが表示される。


    t-1_08


  3. Ctrl+Aキー、または「Edit」-「Select All」メニューで、全リストを選択する。


    t-1_09


  4. Ctrl+Sキー、または「File」-「Save Selected Items」メニューで保存先設定パネルを表示し、CSV形式を選択のうえ、任意の保存場所・ファイル名を指定する。


    t-1_10


  5. 「保存」ボタンでCSVファイルが出力される。


CSVファイルの分析

出力したWebヒストリーとキャッシュリストのCSVファイルを分析し、誘導されたURLとダウンロードしたファイル名を調査しましょう。

この想定では、次の手順で調査を実施します。

  1. ファイルのダウンロード直後に、PC利用者がGoogle検索を行ったキーワード「不審なメール」をトリガーとして、まずGoogle検索時の履歴をWebヒストリーから検索する。
  2. 当該Google検索時の履歴から遡って、誘導されたURLへのWebアクセスを推定する。
  3. 誘導されたものと推定したURLとアクセス日時をトリガーに、キャッシュリストを検索して、ダウンロード時のURLとファイル名を特定する。


ここでは、LibreOfficeの表計算ソフト(Calc)を使用する想定で説明します。

Calcで各CSVファイルを開く際、「テキストのインポート」設定画面が表示されますので、「文字エンコーディング」には「Unicode(UTF-8)」、区切り文字には「コンマ」を指定して下さい。

CSVファイル表示後、列幅の調整、タイトル行の固定、オートフィルター有効化、「Visit Time」によるソートなどを行い、分析しやすいように準備をしましょう。


Webヒストリーの分析

まず、Webヒストリーから、PC利用者がGoogle検索を行ったキーワード「不審なメール」を検索します。


t-1_11


2022/3/14の17:13:27に、Googleで「不審なメール リンク 開いてしまった場合 」というキーワードによる検索を行った履歴が、「Title」項目でヒットしますので、これを調査のトリガーにしましょう。

そこから履歴を遡ると、数分前(17:09:52)に、Titleが空白の、

  • http://company.hckr.jp/data.html

というサイトへアクセスしています。

このサイトへ誘導されて、不正なファイルをダウンロードしてしまったものと推定し、キャッシュリストを調査しましょう。

キャッシュリストの分析

キャッシュリストの「URL」項目で、誘導されたサイトと推定したURLのドメイン「hckr.jp」によりフィルターします。


t-1_12


Webヒストリーに記録されていた、

  • http://company.hckr.jp/data.html

へのアクセス時刻(17:09:52)の13秒後(17:10:05)に、

  • http://company.hckr.jp/files/t-01/

から、拡張子が「.xlsx」(Excelドキュメント)である、

t-1_12_1

というファイルがダウンロードされています。

このファイルがマルウェア感染の原因となったものと推定されますので、実務では不審なスクリプトの実行履歴や永続化の痕跡、ファイル操作履歴(NTFS)などと、タイムラインの照合を行うことが必要でしょう。

キャッシュリストに記録されたファイル名は、URLエンコードされていますので、他のアーティファクトと照合するために、「CyberChef」を使用して、実際にダウンロードされたファイル名へ変換しておきましょう。

※ 本コンテンツ作成時に検証したChromeCacheViewのバージョン(v2.31)において、「Filename」欄に表示されるファイル名が文字欠落するケースを確認しました。URLデコードに失敗する場合は「URL」欄からファイル名部分をコピーして下さい。


t-1_13

※ 末尾の問題で使用するため、ファイル名の一部をマスキングしています


なおデコード後の文字列が日本語の場合、CyberChefのバージョンや設定によっては、表示が文字化けすることがあります。文字化けする場合は、「Output」欄の文字エンコーディングが「Raw Bytes」などになっている可能性がありますので、次の図のように「UTF-8」を選択して下さい。

t-1_14


問題

  • サイト「hxxp://company.hckr.jp/files/t-01/」からダウンロードされたファイル名を回答して下さい。

  • Flagは、URLデコード後のファイル名(日本語タイトル+「.xlsx」)を入力して下さい。


S15H01

results matching ""

    No results matching ""