Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
latma — ADおよびAzure ADの認証ログを収集・分析し、グラフベースの異常検知を用いて横方向移動攻撃を検出します。また、インタラクティブなタイムラインとGIFで不審なパターンを可視化します。 | Kitploit
ツール/GitHubGitHub/silverfort-open-source/latma
横移動情報収集ペネトレーションテストクラウドセキュリティ脅威インテリジェンスインシデントレスポンス異常検知ログ分析
GitHubsilverfort-open-source/latma

latma

ADおよびAzure ADの認証ログを収集・分析し、グラフベースの異常検知を用いて横方向移動攻撃を検出します。また、インタラクティブなタイムラインとGIFで不審なパターンを可視化します。

リポジトリを見る
80143年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

横方向移動分析ツール

横方向移動分析ツール(LATMA)は、ドメインおよびAzure AD環境から認証ログを収集し、潜在的な横方向移動攻撃や不審なアクティビティを検索します。横方向移動はAD環境内、またはクラウドとオンプレミス間で発生する可能性があります。このツールは、横方向移動パターンを示す図を用いて結果を可視化します。このツールには、ログを収集するモジュールと分析するモジュールの2つが含まれています。各モジュールは個別に実行でき、イベントログコレクターは、Python 3.8以上がインストールされたActive Directoryドメイン環境のWindowsマシンで実行する必要があります。アナライザーはLinuxマシンとWindowsマシンの両方で実行できます。

コレクター

イベントログコレクターには、ドメインコントローラーでの成功したNTLM認証ログとエンドポイントでの成功したKerberos認証ログのスキャン、およびAzure ADからのサインインログの収集という2つの機能があります。AD環境からのログ収集には、LDAP/Sポート389および636、RPCポート135へのアクセスがドメインコントローラーとクライアントに必要です。さらに、ドメイン管理者権限、またはイベントログリーダーグループのユーザー、あるいは同等の権限を持つユーザーが必要です。これは、すべてのエンドポイントとドメインコントローラーからイベントログを取得するために必要です。 サインイン収集には、Azure AD環境にアプリケーションが必要で、設定ファイルに関連情報を提供する必要があります。 サインイン収集に使用するユーザーが2FA(二要素認証)で構成されていないことを確認してください。

ADログの収集

コレクターは、ドメインコントローラーからイベント8004のNTLMログを、クライアントからイベント4648のKerberosログを収集します。出力として、利用可能なすべての認証トラフィックを含むCSVカンマ区切り形式のファイルを生成します。出力には、送信元ホスト、宛先、ユーザー名、認証タイプ、SPN、およびタイムスタンプ(形式%Y/%m/%d %H:%M)のフィールドが含まれます。コレクターは、環境全体でイベントビューアーの権限を持つ有効なユーザーの資格情報を必要とし、各プロトコルの特定のログをクエリします。

グループポリシーを使用して、環境全体でKerberosおよびNTLMプロトコルが監査されていることを確認します:

  1. Kerberos - コンピューターの構成 -> ポリシー -> Windows設定 -> セキュリティ設定 -> ローカルポリシー -> 監査ポリシー -> アカウントログオンイベントの監査
  2. NTLM - コンピューターの構成 -> ポリシー -> Windows設定 -> セキュリティ設定 -> ローカルポリシー -> セキュリティオプション -> ネットワークセキュリティ: このドメインのNTLM認証を監査する

Azure ADサインインの収集

コレクターは、ハイブリッド参加またはAzure AD参加デバイスからの成功したサインインのみを収集します。これらのサインインは、Azure AD環境とオンプレミス間のアセットの移動を表します。 コレクターがデータを収集するには、以下の情報が必要です:

  1. テナントID
  2. 2FAなしのユーザー
  3. パスワード
  4. クライアントID
  5. クライアントシークレット 事前定義されたアプリを使用するか、新しいアプリを作成できます。

アナライザー

アナライザーは、コレクターの出力構造で指定された形式の認証データを含むスプレッドシートを入力として受け取ります。横方向移動分析アルゴリズムを使用して不審なアクティビティを検索し、横方向移動の追加のIoC(侵害指標)も検出します。認証の送信元と宛先は、IPアドレスではなくNetBIOS名で形式化される必要があります。

LATMAアルゴリズムの前提と主要概念

LATMAは認証要求のバッチを受け取り、不審な横方向移動攻撃を検出したときにアラートを送信します。以下を定義します:

  • 認証グラフ:環境内の認証トラフィックに関する情報を含む有向グラフ。グラフのノードはコンピュータであり、エッジはコンピュータ間の認証です。グラフのエッジには属性:プロトコルタイプ、認証日、および要求を送信したアカウントがあります。グラフノードには、それが表すコンピュータに関する情報が含まれます(以下に詳述)。

  • 横方向移動グラフ:攻撃者の移動を表す認証グラフの部分グラフ。横方向移動グラフは必ずしも部分グラフ内のパスではなく、一部の攻撃では攻撃者は多くの異なる方向に進みます。

  • アラート:アルゴリズムが横方向移動グラフの一部であると疑う部分グラフ。

LATMAは実行中にいくつかのアクションを実行します:

  • 情報収集:LATMAはユーザーとマシンの通常の動作を監視し、特徴付けます。この学習は後で、どの認証要求が通常の動作から逸脱し、横方向移動攻撃に関与している可能性があるかを判断するために使用されます。3週間の学習期間中、LATMAはアラートを出さず、環境の学習のみを行います。学習は3週間後も継続します。

  • 認証グラフの構築:学習期間後、関連するすべての認証が認証グラフに追加されます。関連する認証のみにフィルタリングすることが重要です。そうしないと、グラフが保持するエッジの数が大きくなりすぎる可能性があります。以下のプロトコルタイプでフィルタリングします:NTLMおよびKerberos、サービス「rpc」、「rpcss」、「termsrv」を使用。

アラート処理:

認証をグラフに追加すると、アラートプロセスが開始される可能性があります。一般的に、新しいエッジは新しいアラートを作成したり、既存のアラートに参加したり、2つのアラートをマージしたりできます。

情報収集

LATMAによって監視されるすべての認証要求は学習に使用され、専用のデータ構造に保存されます。まず、シンクとハブを特定します。シンクは、会社のポータルやExchangeサーバーなど、多くの(少なくとも50の)異なるアカウントからアクセスされるマシンと定義します。ハブは、プロキシやVPNなど、多くの異なるアカウント(少なくとも20)が認証するマシンと定義します。シンクへの認証またはハブからの認証は良性と見なされ、認証グラフから削除されます。

基本的な分類に加えて、LATMAはアカウントとそれらが頻繁に認証するマシンをマッチングします。アカウントが3週間の期間に少なくとも3日間マシンから認証する場合、そのアカウントはマシンに一致し、そのアカウントのそのマシンからの認証はすべて良性と見なされ、認証グラフから削除されます。

横方向移動のIoCは次のとおりです:

ホワイトケイン - 単一のマシンから比較的短時間に複数のマシンに認証するユーザーアカウント。

ブリッジ - ユーザーアカウントXがマシンAからマシンBに認証し、引き続いてマシンBからマシンCに認証する。このIoCは、攻撃者が初期の足掛かり(A)から攻撃の目的により適した宛先マシンへ実際に前進している可能性を示します。

スイッチドブリッジ - ユーザーアカウントXがマシンAからマシンBに認証し、続いてユーザーアカウントYがマシンBからマシンCに認証する。このIoCは、攻撃者が経路に沿って追加のアカウントを発見して侵害し、その新しいアカウントを使用して前進する可能性を示します(一般的な例では、アカウントXが標準的なドメインユーザーであり、アカウントYが管理者ユーザーである場合)。

ウェイトシフト - マシンAからのホワイトケイン(上記参照)がマシン{B1,…,Bn}に向かい、続いてマシンBxからの別のホワイトケインがマシン{C1,…,Cn}に向かう。このIoCは、攻撃者がマシンBが攻撃の目的により適していると判断し、以降マシンBを追加検索のソースとして使用する可能性を示します。

ブラスト - ユーザーアカウントXがマシンAから非常に短い時間枠で複数のマシンに認証する。一般的な例としては、攻撃者が同時に多数のマシンにランサムウェアを仕掛ける/実行する場合です。

出力:

アナライザーはいくつかの異なるファイルを出力します。

  1. 疑わしいすべての認証(all_authentications.csv)とその役割分類を含むスプレッドシート、および横方向移動の一部と疑われる認証(propagation.csv)の別のスプレッドシート
  2. 進行状況を表すGIFファイル。GIFの各フレームは、不審なアクションが何であったかを正確に示します。
  3. すべての不審なイベントを含むインタラクティブなタイムライン。互いに関連するイベントは同じ色で表示されます。

依存関係:

  1. Python 3.8
  2. requirements.txtに記載されているライブラリ
  3. セットアップを自動的に実行するために pip install . を実行
  4. 環境全体でのKerberosおよびNTLMの監査
  5. ドメインコントローラーへのLDAPクエリ
  6. ドメイン管理者資格情報、またはMS-EVEN6リモートイベントビューアー権限を持つ資格情報

使用法

コレクター

必須引数:

  1. credentials [domain.com/]username[:password] 資格情報の形式 代替として [domain.com/]username を指定し、パスワードは安全にプロンプト表示されます。 ドメインにはFQDN(完全修飾ドメイン名)を入力してください。 オプション引数:
  2. -ntlm DCからNTLM認証ログを取得
  3. -kerberos ドメイン内のすべてのコンピュータからKerberos認証ログを取得
  4. -debug DEBUG出力をオンにする
  5. -help このヘルプメッセージを表示して終了
  6. -filter ドメイン内の特定のOUまたはコンテナをクエリします。結果にはサブOU内のすべてのワークステーションも含まれます。各OUはDN(識別名)の形式で指定します。複数のOUはセミコロン区切りでサポートします。例: OU=subunit,OU=unit;OU=anotherUnit,DC=domain,DC=com 例: CN=container,OU=unit;OU=anotherUnit,DC=domain,DC=com
  7. -date イベントログを収集する開始日。月-日-年の形式。指定しない場合は利用可能なすべてのデータを取得
  8. -threads 使用するワーカースレッド数
  9. -ldap LDAP/Sの代わりに安全でないLDAPを使用
  10. -ldap_domain LDAPログイン資格情報のカスタムドメイン。空の場合は現在のユーザーセッションのドメインを使用

バイナリ使用法 コマンドプロンプトを開き、バイナリフォルダに移動します。 上記の引数を指定して実行可能ファイルを実行します。

例

サンプルファイルには、実際の環境のいくつかのサンプル(横方向移動攻撃を含むものと含まないもの)が含まれており、アナライザーの入力として使用できます。

使用例

  1. python eventlogcollector.py domain.com/username:password -ntlm -kerberos
ツールをダウンロード