13章
Hands-on-2
ここでは、「Log Parser Studio」を使用し、CDIR-Aで提供されるカスタムクエリでイベントを抽出するハンズオンを行います。
必要なツールのセットアップ
まず「Log Parser」をインストールした後、「 Log Parser Studio」のZIPファイルを解凍して任意のフォルダへ展開して下さい。展開したフォルダ内の「LPS.exe」をダブルクリックすると、「Log Parser Studio」が起動します。
- Log Parser (CUI)日本語版 ※インストールが必要
- Log Parser Studio(GUI) ※解凍のみで実行可能(Log Parserのインストールが前提)
なお、以後は「Log Parser Studio」を「LPS」と省略します。
CDIR-A(Analyzer)は、以下のURL(株式会社サイバーディフェンス研究所の公式Githubリポジトリ)から入手できます(すでに最新版をセットアップ済みであれば、改めてダウンロードする必要はありません)。
https://github.com/CyberDefenseInstitute/CDIR-A
上記リポジトリの「Releases」から、圧縮ファイル(CDIR-Aの実行ファイルやソースコードをアーカイブしたもの)をダウンロードします。「Parser」フォルダに カスタムクエリのライブラリファイルが保存されていますので、解凍して適宜の場所へ配置して下さい。
ハンズオンで使用するファイル
解析対象のイベントログファイル
このハンズオンで解析対象とするイベントログファイルは、演習用データの以下の相対パスに保存されています。
イベントログのカテゴリーは、アカウント認証に関するイベントが記録されるSecurityです。
s13\h2\Security.evtx
LPS用カスタムクエリのライブラリファイル(CDIR-A)
CDIR-Aに含まれているLPS用カスタムクエリのライブラリファイル(XMLファイル)は、以下のファイルパスに格納されています。
.\CDIR-A\parser\lpslib\LPSLibrary_CDI.XML
カスタムクエリのインポート手順
まず、LPSへ、CDIR-Aのカスタムクエリをインポートします。
ダウンロードしたZIPファイルから解凍した「LPS.exe」をダブルクリックで起動して下さい(デスクトップ等にショートカットを作成しておくことを推奨します)。
初期メイン画面では、デフォルトで標準提供されているクエリが「Library」タブに表示されます。

メニューバーから「 File 」ーー>「 Import」 ーー> 「.XML to Library」 を選択します。
ファイル選択画面になりますので、前述したCDIR-Aのカスタムクエリのライブラリファイルを選択します。
相対ファイルパスは以下です(XML形式の単一ファイル)。
.\CDIR-A\parser\lpslib\LPSLibrary_CDI.XML
上記ファイルを選択して「開く」ボタンをクリックすると、以下のようにCDIR-Aのカスタムクエリの一覧が表示されます。

表示ウィンドウの右下にある 「Replace Now」 をクリックして、デフォルトのクエリをCDIR-Aのカスタムクエリに置き換えます。
「Library」タブにCDIR-Aのカスタムクエリが表示されれば、インポート完了です。
イベントログファイルの指定
次に、解析対象のイベントログファイルを指定します。

LPSの画面上部に並んだアイコンから、ログファイル選択アイコンをクリックします。
表示された「Log File Manager」ウィンドウから「Add Files」ボタンをクリックすると、ファイル選択画面になります。
前述の解析対象のイベントログファイル(Security.evtx)を選択します。
.\s13\h2\Security.evtx※ (参考)複数のイベントログファイルの選択方法
複数のイベントログファイルを選択する場合は、「Ctrl」キーを押しながらファイル名をクリックします。フォルダ単位で選択する場合は、「Add Folder」をクリックし、当該フォルダを開いて、その中のイベントログファイルを任意に1つ選択すると、「
(フォルダ名)/*.evtx」という指定となり、フォルダ内の全イベントログファイルを選択することができます。「開く」ボタンをクリックします。
以下のとおり、選択したイベントログファイルが「Log File Manager」ウィンドウに表示されます。
チェックボックスがオンになっていることを確認し、「OK」ボタンをクリックしてメイン画面に戻ります。

カスタムクエリの実行
カスタムクエリは、「Library」タブから実行したいクエリを選択し、右クリックメニューから「Run Now」を選択することで実行できます。
「【認証】ログオン全般」(イベントID:4624のレコードを抽出)を実行してみましょう。

新たなタブ「Q1」が新規作成され、抽出結果が表示されます。
解析対象のイベントログファイルには、このクエリの抽出条件に該当するイベントが18件あります。

「日時」など項目名をクリックすると、その項目の内容で並べ替えることができます。再度クリックすることで、昇順と降順を変更できます。
このクエリで抽出されるイベントでは、以下の項目に着目して分析してみましょう。
日時:イベントの発生日時
先ユーザ:ログオンに使用されたアカウント名
ワークステーション名:ログオン元のコンピュータ名
通常のローカルログオン(ログオンタイプ:2)ではローカルコンピュータ名(「コンピュータ名」に表示)となりますが、他のコンピュータからのログオンの場合は異なるコンピュータ名が記録されます。
IPアドレス:ログオン元のコンピュータのIPアドレス
通常のローカルログオン(ログオンタイプ:2)では、自端末のlocalhostを示す「127.0.0.1」になりますが、他のコンピュータからのログオンの場合は、そのコンピュータのIPアドレスが記録されます。
LogonType:ログオンタイプ
ローカルでの対話型ログオン:2、ネットワークログオン:3、リモートデスクトップ接続:10、などが記録されます。
外部からの不正侵入の可能性があるログオンイベントはありますか?「LogonType:ログオンタイプ」に着目して、確認してみて下さい。さらに、他のカスタムクエリも実行して分析しましょう。
不審なログオンイベントを探すためのカスタムクエリには、以下のものがあります。
「Library」タブに切り替えて適宜選択し、「Run Now」により実行してみて下さい(Ctrlキーを押しながら選択することで、複数クエリを同時実行できます)。なお、このHands-onの演習データには「TerminalService」関連のイベントログファイルが含まれていないため、「ソース Microsoft-Windows-TerminalServices-RemoteConnectionManager」クエリでの抽出はされません。
| クエリの抽出対象 | 抽出条件 |
|---|---|
| 【RDP】リモートデスクトップユーザ認証 | ソース Microsoft-Windows-TerminalServices-RemoteConnectionManager、イベントID 1149のレコードを抽出する。 |
| 【RDP】リモートデスクトップログオン | ソース Microsoft-Windows-Security-Auditing、イベントID 4624、ログオンタイプ 10のレコードを抽出する。 |
| 【RDP】リモートデスクトップ全般 | ソース Microsoft-Windows-TerminalServices-LocalSessionManager、イベントID 21(ログオン)、23(ログオフ)、24(切断)、25(再接続)のレコードを抽出する。 |
| 【認証】ネットワークログオン | ソース Microsoft-Windows-Security-Auditing、イベントID 4624、ログオンタイプ 3のレコードを抽出する。そのうちANONYMOUS LOGONと自身からのログオンのレコードを除外して表示する。 |
| 【認証】ネットワークログオン(クリアテキスト) | ソース Microsoft-Windows-Security-Auditing、イベントID 4624、ログオンタイプ 8のレコードを抽出する。パスワードが平文で認証パッケージへ渡されたことを意味する。 |
| 【認証】ネットワークログオン(全ログ) | ソース Microsoft-Windows-Security-Auditing、イベントID 4624、ログオンタイプ 3のレコードを抽出する。 |
| 【認証】ユーザ別ログオン回数 | ソース Microsoft-Windows-Security-Auditing、イベントID 4624のレコードから、SID、ユーザ名を基準にしてログオン回数順に表示する。 |
| 【認証】ログオン(キャッシュ) | ソース Microsoft-Windows-Security-Auditing、イベントID 4624、ログオンタイプ 11のレコードを抽出する。ドメインコントローラに接続せずキャッシュされている認証情報を用いたログオンが該当する。 |
| 【認証】ログオン失敗 | ソース Microsoft-Windows-Security-Auditing、イベントID 4625-4633, 4635のレコードを抽出する。 |
| 【認証】ログオン全般 | ソース Microsoft-Windows-Security-Auditing、イベントID 4624のレコードを抽出する。そのうちANONYMOUS LOGONと自身からのログオンを除外して、タイプ別情報を付加して表示する。 |
| 【認証】新しい資格情報を指定したログオン | ソース Microsoft-Windows-Security-Auditing、イベントID 4624、ログオンタイプ 9のレコードを抽出する。 |
| 【認証】別アカウントのログオン | ソース Microsoft-Windows-Security-Auditing、イベントID 4648のレコードを抽出する。そのうちtaskhost, taskengとlocalhostに閉じたレコードを除外して表示する。 |
このイベントログには、他のコンピュータからログオンされたことを示す、以下のイベント(ネットワークログオン)が記録されています。
ログオン日時:2021/06/11 17:17
ワークステーション名(ログオン元コンピュータ):LAPTOP-UD0M13UL
ソースIP:192.168.3.4

ネットワークログオン(ログオンタイプ:3)のイベントが抽出された場合は、以下のような不審なログオンである可能性があります。
- PC(またはサーバー)の共有リソース(管理共有のC$やAdmin$、共有設定したフォルダ等)にアクセスされ、PC内に悪性ファイルを配置された。
- PsExec等のMicrosoft社提供ツールや、wmic等の標準機能で実装されたリモート実行機能により、悪意あるリモートコマンドが実行された。
こうした可能性を念頭に、ログオンされた時間帯におけるログオン元コンピュータの使用状況や、ログオンされたコンピュータのプログラム実行履歴(プリフェッチ等)、サービスのインストール履歴(イベントログ:System.evtx)、ファイルの作成更新履歴(MFT、USNジャーナル)などを詳しく調査しましょう。
インシデントレスポンスでは、大量のイベントログを素早く調査しなければならない場面がしばしば発生します。
そうした状況でも迅速に対応できるよう、それぞれのカスタムクエリの目的をよく理解しておきましょう。
問題
- 解析対象のイベントログ(Security.evtx)に記録されたログオンイベントにおいて、ユーザー名「AXDF」のログオン失敗回数をカスタムクエリで抽出し、数字で回答して下さい。