mcpField
D
detecting-dcsync-attack-in-active-directory

detecting-dcsync-attack-in-active-directory

github.com/mukul975セキュリティ35.2k63 回インストール8 週間前に更新
リポジトリ

detecting-dcsync-attack-in-active-directory について

Active Directory の防御担当者向けに、DCSync 攻撃を検出するスキルです。監査設定、複製権限とネットワークの監視、発信元の調査、後続の認証情報悪用の確認を扱います。

主な機能

  1. 01正規のドメインコントローラーの把握
  2. 02イベント ID 4662 の監査設定
  3. 03ディレクトリ複製権限の監視
  4. 04非 DC からの複製要求の検出
  5. 05RPC 通信と認証情報悪用の関連付け

活用シーン

  1. 01Active Directory の認証情報窃取の調査
  2. 02Mimikatz や secretsdump 使用の確認
  3. 03ドメイン内の横展開への対応
  4. 04ディレクトリ複製権限の監査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill detecting-dcsync-attack-in-active-directory

インストール後、Claude Code で/detecting-dcsync-attack-in-active-directoryを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

詳細

Active Directory での DCSync 攻撃の検知

使用する場面

  • Active Directory 環境での認証情報窃取を調査する場合
  • Replicating Directory Changes 権限を持つアカウントが侵害された後
  • Mimikatz または Impacket secretsdump の使用が疑われる場合の調査
  • ドメイン管理者の認証情報を使ったラテラルムーブメントに関するインシデント対応時
  • セキュリティ強化の一環として AD のレプリケーション権限を監査する場合

前提条件

  • イベント ID 4662(オブジェクトアクセス)が有効になっている Windows セキュリティイベントログ
  • Advanced Audit Policy の Audit Directory Service Access が有効
  • ドメインコントローラーのイベントが SIEM に転送されていること
  • 正規のドメインコントローラーのホスト名と IP アドレスを把握していること
  • ドメインオブジェクトに SACL を設定した Directory Service Access 監査

ワークフロー

  1. 正規のレプリケーション元を特定する:環境内のすべてのドメインコントローラーについて、ホスト名、IP アドレス、コンピューターアカウントを記録します。ディレクトリのレプリケーションを実行するのは、これらのみにしてください。
  2. 必要な監査を有効にする:レプリケーション権限に関する特定の GUID を監視するよう設定し、ドメインコントローラーでイベント ID 4662 を記録する Advanced Audit Policy を構成します。
  3. レプリケーション権限へのアクセスを監視する:重要な 3 つの GUID へのアクセスを追跡します。DS-Replication-Get-Changes(1131f6aa-9c07-11d1-f79f-00c04fc2dcd2)、DS-Replication-Get-Changes-All(1131f6ad-9c07-11d1-f79f-00c04fc2dcd2)、DS-Replication-Get-Changes-In-Filtered-Set(89e95b76-444d-4c62-991a-0facbeda640c)です。
  4. ドメインコントローラー以外からのレプリケーション要求を検知する:ドメインコントローラーに関連付けられていないアカウントがレプリケーション権限を要求した場合にアラートを発します。
  5. ネットワークトラフィックと相関分析する:DCSync は攻撃者のマシンからドメインコントローラーへのレプリケーショントラフィック(MS-DRSR/RPC)を生成します。ドメインコントローラー以外の IP アドレスからの DrsGetNCChanges RPC 呼び出しを監視します。
  6. 送信元のコンテキストを調査する:レプリケーション要求の発生元となったプロセス、ユーザーアカウント、マシンを調べます。
  7. 認証情報の不正使用を確認する:DCSync を検知した後、抽出されたハッシュがその後使用されていないか監査します(パス・ザ・ハッシュ、ゴールデンチケットの作成など)。

主要な概念

概念説明
T1003.006OS の認証情報ダンプ:DCSync
DCSyncドメインコントローラーのレプリケーションを模倣して認証情報を抽出する手法
DsGetNCChangesAD のレプリケーションデータを要求する RPC 関数
DS-Replication-Get-Changes必要な AD 権限(GUID:1131f6aa-...)
DS-Replication-Get-Changes-All機密属性を含む権限(GUID:1131f6ad-...)
MS-DRSRMicrosoft Directory Replication Service Remote Protocol
KRBTGT ハッシュゴールデンチケット攻撃を可能にする DCSync の主な標的
イベント ID 4662ディレクトリサービスのオブジェクトアクセス監査イベント

ツールとシステム

ツール目的
Mimikatz (lsadump::dcsync)主な DCSync 攻撃ツール
Impacket secretsdump.pyPython ベースの DCSync 実装
DSInternalsAD レプリケーション用の PowerShell モジュール
BloodHoundレプリケーション権限を持つアカウントのマッピング
Splunk / Elastic4662 イベントの SIEM 相関分析
Microsoft Defender for Identityネイティブの DCSync 検知
CrowdStrike FalconEDR ベースの DCSync 検知

検知クエリ

Splunk -- イベント 4662 による DCSync の検知
index=wineventlog EventCode=4662
| where Properties IN ("*1131f6aa-9c07-11d1-f79f-00c04fc2dcd2*",
    "*1131f6ad-9c07-11d1-f79f-00c04fc2dcd2*",
    "*89e95b76-444d-4c62-991a-0facbeda640c*")
| where NOT match(SubjectUserName, ".*\\$$")
| where NOT SubjectUserName IN ("known_svc_account1", "known_svc_account2")
| stats count values(Properties) as ReplicationRights by SubjectUserName SubjectDomainName Computer
| where count > 0
| table SubjectUserName SubjectDomainName Computer count ReplicationRights
KQL -- Microsoft Sentinel による DCSync の検知
SecurityEvent
| where EventID == 4662
| where Properties has "1131f6ad-9c07-11d1-f79f-00c04fc2dcd2"
    or Properties has "1131f6aa-9c07-11d1-f79f-00c04fc2dcd2"
| where SubjectUserName !endswith "$"
| where SubjectUserName !in ("AzureADConnect", "MSOL_*")
| project TimeGenerated, SubjectUserName, SubjectDomainName, Computer, Properties
| sort by TimeGenerated desc
Sigma ルール -- DCSync アクティビティ
title: DCSync Activity Detected - Non-DC Replication Request
status: stable
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4662
        Properties|contains:
            - '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2'
            - '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2'
    filter_dc:
        SubjectUserName|endswith: '$'
    condition: selection and not filter_dc
level: critical
tags:
    - attack.credential_access
    - attack.t1003.006

よくあるシナリオ

  1. Mimikatz による DCSync:ドメイン管理者権限を持つ攻撃者が lsadump::dcsync /user:krbtgt を実行し、ゴールデンチケット作成用の KRBTGT ハッシュを抽出します。
  2. Impacket secretsdump:secretsdump.py domain/user:password@dc-ip を使ったリモート DCSync により、ドメイン内のすべてのハッシュを抽出します。
  3. 委任されたレプリケーション権限:攻撃者が DCSync を実行する前に、ACL を変更して自分に Replicating Directory Changes 権限を付与します。
  4. Azure AD Connect の悪用:正規のレプリケーション権限を持つ Azure AD Connect サービスアカウントを侵害します。
  5. DSInternals PowerShell:Get-ADReplAccount コマンドレットを使って、特定のアカウントの認証情報をレプリケートします。

Output Format

Hunt ID: TH-DCSYNC-[DATE]-[SEQ]
Alert Severity: Critical
Source Account: [Account requesting replication]
Source Machine: [Hostname/IP of requestor]
Target DC: [Domain controller receiving request]
Replication Rights: [GUIDs accessed]
Timestamp: [Event time]
Legitimate DC: [Yes/No]
Known Service Account: [Yes/No]
Risk Assessment: [Critical - non-DC replication detected]

コメント