SpearSpray: Active Directory のロックアウトポリシーを回避するステルスツール

SpearSpray パスワードスプレー、Active Directory 攻撃ツール

SpearSpray は、Active Directory 環境向けに特化して設計された高度なパスワードスプレーツールです。LDAP を用いたユーザー列挙と、パターンベースのインテリジェントなパスワード生成を組み合わせ、Kerberos を経由した制御されたステルス性の高いパスワードスプレー攻撃を実行します。

機能

コア機能

  • LDAP 連携: LDAP クエリを通じた Active Directory ユーザーの直接列挙
  • カスタム LDAP クエリ: 特定のユーザーやグループのみにスプレー対象を絞り込むためのクエリ定義
  • パターンベースのパスワード生成: ターゲットに合わせたパスワードリストを作成できる柔軟なテンプレートシステム
  • ドメインポリシー認識: ドメインのパスワードポリシーを自動取得し、それを遵守
  • アカウントロックアウト保護: ユーザーアカウントのロックアウトを回避するためのスマートフィルタリング
  • PSO 検出: Password Settings Object を持つユーザーの特定と適切な処理
  • Kerberos 認証: Kerberos 事前認証を利用した高速かつ効率的な認証テスト
  • Neo4j 連携: 侵害したユーザーを Neo4j/BloodHound データベース上で自動的に「owned」としてマーキング
  • リアルタイム結果: 攻撃中に「owned」とマークされたユーザーをライブで表示
  • 攻撃サマリー: 統計情報や成功率を含む包括的な結果サマリー

セキュリティ & ステルス機能

  • ジッター対応: 認証試行間の遅延を設定可能
  • しきい値管理: ロックアウトしきい値に近いユーザーを自動的にフィルタリング
  • マルチスレッド: パフォーマンス最適化のためのスレッド数設定
  • レート制限: ドメインコントローラーへの過負荷を防ぐための 1 秒あたりリクエスト数の制御
  • SSL/LDAPS 対応: 必要に応じた安全な LDAP 接続

高度なパターンシステム

  • 動的変数: ユーザー固有データ(名前、最終パスワード変更日など)に対応
  • カスタムセパレーター & サフィックス: 柔軟なパスワードパターンのカスタマイズ
  • 追加引数: 企業固有の用語の統合
  • インタラクティブなパターン選択: パターン選択のための動的メニューシステム

攻撃結果サマリー

SpearSpray は各攻撃の最後に包括的なサマリーを提供し、主要な統計と結果を読みやすい形式で表示します。

  • 有効な認証情報: 有効で動作する認証情報を持つユーザー数
  • 期限切れパスワード: 正しいが期限切れとなっているパスワードを持つユーザー数(依然として侵害状態)
  • Owned としてマーク: Neo4j 連携が有効な場合に、正常にマークされたユーザー数
  • 総試行回数: 攻撃中に実行された認証試行の総数
  • 成功率: 総試行回数に対する認証成功の割合

このサマリーにより、セキュリティ担当者はパスワードスプレー評価の影響と有効性を迅速に把握できます。

パターンシステム

SpearSpray は高度なパターンシステムを用いて、各ユーザーに対して非常にターゲット化され、パーソナライズされたパスワードを生成します。汎用的なワードリストとは異なり、各パスワード試行は Active Directory から取得したユーザー固有の情報に基づいてカスタマイズされます。

主要な革新点: ユーザー固有の時系列データ

すべての時系列変数(年、月、季節)は、現在日時ではなく、各ユーザーの個別のパスワード変更日(pwdLastSet 属性)に基づいて計算されます。 つまり、あるユーザーが 2024 年 3 月にパスワードを変更していた場合、そのユーザー向けのパターンは 2024 年 3 月のデータを用いてパスワードを生成します。このパーソナライズされたアプローチは、各ユーザーのパスワード変更タイムラインに個別に適用されるため、成功の可能性を大幅に高めます。

利用可能な変数

変数 説明
{name} ユーザーの名(displayName から取得) Eren
{samaccountname} ユーザーの SAM アカウント名 eren.yeager
{year} pwdLastSet(または whenCreated)から取得した年 2024
{short_year} 年の下 2 桁 24
{month_number} 月番号(ゼロ埋め) 03
{month_en} 英語の月名 March
{month_es} スペイン語の月名 Marzo
{season_en} 英語の季節名 Spring
{season_es} スペイン語の季節名 Primavera
{extra} -x 引数で指定された追加ワード CompanyName
{separator} -sep 引数で指定されたカスタムセパレーター @
{suffix} -suf 引数で指定されたカスタムサフィックス !

: 時系列変数(月および季節)の変換マッピングは、spearspray/utils/constants.py に定義されています。

インストール & 使い方

翻訳元: https://meterpreter.org/spearspray-the-stealthy-tool-that-bypasses-lockout-policies-in-active-directory/

ソース: meterpreter.org