Skip to content

使用方法

Shusei Tomonaga edited this page Dec 21, 2022 · 15 revisions

1. LogonTracerの起動
2. Web GUIへアクセス
3. ログイン
4. EVTXのインポート
5. イベントログの検索と可視化
6. アカウントとホストの重要度
7. タイムライン

LogonTracerの起動

LogonTracerをオプション -r で実行します。
オプション -h でヘルプメッセージを見ることができます。

$ python3 logontracer.py -r -o [PORT] -u [USERNAME] -p [PASSWORD] -s [IP Address]
  • -r: Webサーバの起動
  • -o: Webサーバの動作するポート番号 (8080など)
  • -u: インストールしたNeo4jのユーザ名 (デフォルトではneo4j)
  • -p: インストールしたNeo4jのパスワード
  • -s: Webサーバの起動するアドレス (localhostなど)

Web GUIへアクセス

Webブラウザで http://[LogonTracer_Server]:8080/ にアクセスします。JavaScriptを有効にして下さい。

サポートするブラウザ

  • Mozilla Firefox
  • Google Chrome
  • Microsoft Edge

ログイン

デフォルトアカウント(neo4j)でログインします。ログインに使用するパスワードは、Neo4jに設定したものと同一です。
Login GUI

EVTXのインポート

Web GUIまたはlogontracer.pyを使用してイベントログをインポートします。EVTXをインポートした後、 Webブラウザをリロードする必要があります

Web GUIからインポートする方法

イベントログは"upload EVTX"ボタンでインポートできます。サポートしているファイルのフォーマットはEVTXまたはXML(イベントビューアーからエクスポートしたもの)です。EVTXファイルのインポートが成功しない場合は、"Log"ボタンで確認してください。 ログを追加する場合は、"Add additional EVTX or XML files"を有効にしてください。
Upload EVTX File

pythonスクリプトでインポートする方法

イベントログはlogontracer.pyのオプション -e または -x でインポートできます。

$ python3 logontracer.py -e [EVTX File] -z [TIME Zone] -u [USERNAME] -p [PASSWORD] -s [IP Address]

or

$ python3 logontracer.py -x [XML File] -z [TIME Zone] -u [USERNAME] -p [PASSWORD] -s [IP Address]
  • -e: インポートするEVTXファイル
  • -x: インポートするXMLファイル
  • -z: タイムゾーン (例: +9, -5)

以下は、logontracer.pyからインポートしたサンプルの出力例です。

$ python3 logontracer.py -e Security.evtx -z +9 -u neo4j -p password -s localhost
[+] Script start. 2022/11/17 10:17:29
[+] Neo4j Kernel 4.2.19 (Enterprise)
[+] Use database neo4j.
[+] Time zone is 9.
[+] Last record number is 1230539.
[+] Start parsing the EVTX file.
[+] Parse the EVTX file Security.evtx.
[+] Now loading 1230500 records.
[+] Load finished.
[+] Total Event log is 1230539.
[+] Filtered Event log is 20400.
[+] Create cache files.
[+] Calculate ChangeFinder.
[+] Calculate Hidden Markov Model.
[+] Calculate PageRank.
[+] Creating a graph data.
[+] Creation of a graph data finished.
[+] Script end. 2022/11/17 22:15:04

イベントログの検索と可視化

ナビゲーションバーを使用して、アカウント名、ホスト名、IPアドレス、イベントID、およびイベント数を検索します。 Exportボタンは、CSV、JPG、PNG、JSONのグラフデータをダウンロードできます。
Web GUI Navigation Bar

  • search: 検索したホスト名とアカウント名を可視化
  • search path: 対象のアカウントから管理者アカウントを悪用する方法を検索 (only one Username)

また、期間をフィルターパネルで指定することにより、可視化するイベントを指定することができます。 Web GUI Filter panel

サイドバー

サイドバーを使用して、特定の基準に一致するアカウント名を検索します。

  • All users: すべてのアカウントとホストを可視化
  • SYSTEM privileges: システム権限のアカウントを可視化
  • NTLM Remote Logon: NTLM認証を使用したリモートログオンユーザーとホストを可視化 (NTLM認証を使用していない場合は、pass-the-hashの可能性がある)
  • RDP Logon: RDPログオンをしているアカウントとホストを可視化 (Logon type: 10)
  • Network Logon: リモートログオンをしているアカウントとホストを可視化 (Logon type: 3)
  • Batch Logon: 自動ログオンしているアカウントとホストを可視化 (Logon type: 4).
  • Service Logon: サービスログオンしているアカウントとホストを可視化 (Logon type: 5).
  • ms14-068 exploit failure: ms14-068の脆弱性悪用の失敗を示すエラーログを可視化
  • Logon failure: ログオン失敗しているアカウントを可視化
  • Detect DCSync/DCShadow: DCSyncとDCShadowのログを可視化  
  • Add/Delete Users: ユーザの追加/削除を可視化
  • Domain Check: ドメイン名の可視化 (攻撃者がネットワークに侵入した場合、異なるドメイン名が存在する可能性がある) 
  • Audit Policy Change: 監査ポリシーの変更を可視化
  • Diff Graph: 特定の日を比較し、ユニークなイベントを可視化
  • Sigma Scan: Sigmaルールを使ったイベントログの調査結果

ノードの情報

  • Node Red 管理者権限アカウント
  • Node Blue 一般ユーザアカウント
  • Node Green IPアドレスおよびホスト

アカウントとホストの重要度

LogonTracerは、ランキングによって不正使用されたアカウント/ホストを表示することができます。 このランク付けのために、LogonTracerはイベントログのグラフ上でネットワーク分析と統計分析を実行し、各ノードの「中心性」に基づいてランキングを作成します。 中心性は、各ノードがネットワーク内の中心に近接していることを示す指標です。 中心性の計算には、PageRankを使っています。 PageRankは、Webページの重要性をチェックするアルゴリズムです。 LogonTracerはPageRankを使用して、ドメインネットワーク内のアカウントとホストの重要性を調べます。 PageRankの高いアカウントは多くのホストにログオンしており、攻撃者のLateral Movementの動きによって使用されている可能性があります。また、イベントIDの遷移を隠れマルコフモデル(Hidden Markov Model)で分析し、Pass-the-Ticketなどの通常とは異なる遷移を行うアカウントをチェックすることで、PageRankの精度を向上しています。
PageRank List

タイムライン

Timelineボタンは、時系列での1時間毎のイベントログのカウントを表示します。表形式とグラフ形式の2つの表示形式があります。時系列で大きくカウント数が変化した部分はハイライト表示されます。この時系列の異常検出には、変化点検知アルゴリズムChange Finderを使用します。 タイムラインのサマリと詳細はDownloadボダンからCSVデータでダウンロードできます。

表形式

Timeline

グラフ形式

Timeline_graph

Clone this wiki locally