DCSync は、攻撃者がドメイン コントローラー(DC)の動作をシミュレートし、ドメインのレプリケーションを通じてパスワード データを取得できるようにする攻撃です。DCSync の代表的な用途は、Golden Ticket 攻撃に先立つものとして使われる点で、KRBTGT ハッシュを取得するために利用できます。
具体的には、DCSync はオープンソースの Mimikatz ツールのコマンドです。これは Directory Replication Service Remote Protocol (MS-DRSR) のコマンドを使って、ドメイン コントローラーの動作をシミュレートし、他のドメイン コントローラーに情報のレプリケーションを依頼します。これは Active Directory にある、有効で必要な機能を悪用するものであり、その機能はオフにしたり無効化したりできません。
厳選した関連コンテンツ:
攻撃プロセス
DCSYNC 攻撃の仕組みは次のとおりです:
- 攻撃者は、複製を要求するためのドメイン コントローラーを特定します。
- を使用してユーザーの複製を要求しますGetNCChanges
- DC は、パスワード ハッシュを含むレプリケーション データを要求元に返します。
必要な権限
DCSync 攻撃を実行するには、非常に特権の高い権限が必要です。攻撃者がこれらの権限を入手するまでには通常ある程度の時間がかかるため、この攻撃はキルチェーンの後期段階の攻撃に分類されます。
一般に、Administrators、Domain Admins、Enterprise Admins には、DCSync 攻撃を実行するために必要な権限があります。具体的には、次の権限が必要です:
- ディレクトリ変更のレプリケーション
- すべてのディレクトリ変更を複製
フィルターされたセット内でディレクトリ変更を複製
Netwrix ソリューションが DCSync 攻撃を検知して阻止するのに役立つ方法
検知
Netwrix Threat Manager は、DCSync の兆候がないかすべてのドメイン レプリケーション トラフィックを監視します。イベント ログやネットワーク パケット キャプチャには依存しません。主な検知方法は、DCSync に一致する行動パターンを見つけることであり、ドメイン コントローラーとドメイン コントローラーではないマシン間でのレプリケーション活動も含まれます。
このソリューションは、疑わしいアクティビティの明確な要約に加えて、攻撃を実行したユーザー、標的となっているドメインとユーザー、そして攻撃を裏付ける証拠を示す可視化を提供します。同一ユーザーが複数の DCSync 攻撃を実行した場合も、この重要な情報があわせて含まれます。
対応
DCSync を実行するには、攻撃者に昇格された権限が必要です。そのため、攻撃を阻止する鍵は、すぐに privilege escalation をブロックすることです。ユーザーアカウントを無効化するという標準的なプレイブックの対応だけでは不十分な場合があります。というのも、攻撃が進行中だと気付いた時点で、攻撃者には他にも多数のリソースや選択肢が用意されている可能性が高いからです。
Netwrix Threat Prevention は、アカウントまたはワークステーションが追加のレプリケーションを実行することを防ぐブロックポリシーを提供します。これにより攻撃の進行を遅らせ、対応担当者が脅威を完全に排除するまでの時間をより多く確保できます。
Netwrix Threat Manager は、DCSync 攻撃の実行者、ソース、ターゲット、照会された(クエリされた)オブジェクトに関する詳細を提供することで、これらの対応手順をサポートします。
Netwrix Threat Manager を実際に見る
DCSync攻撃とは何ですか?
攻撃者は、管理者アカウントが侵害されるよりも、そのような残存委任を通じてより頻繁にアクセスします。マイグレーションや統合の際にサービスアカウントに複製権限が付与され、その後取り消されないためです。
しかし、DCSync自体にはパッチがありません。これは、ドメインコントローラーが同期を維持するために使用するのと同じレプリケーションインターフェースを使用しているためであり、これをブロックするとActive Directoryが破損します。結果として生成されるトラフィックは、ログをざっと確認するだけの人には通常のレプリケーションと同じに見えます。
DCSync攻撃の仕組み
Netwrix 2026 Data and Identity Security Reportによると、組織のわずか26%がActive Directoryに権限昇格を可能にする誤設定がないと完全に確信しています。Netwrix 2026 Data and Identity Security Report この不確実性は根拠があります。DCSyncは、忘れられたサービスアカウントに1つの委任権限があれば、ドメイン内のすべてのパスワードハッシュを渡すことができるからです。
このシーケンスは数秒で完了し、ドメインコントローラーでのコード実行は不要です。
1. 攻撃者はドメイン内の任意のdomain controllerを標的にします
DCSync攻撃は、攻撃者がドメインコントローラー(DC)をシミュレートし、ドメインレプリケーションを通じてパスワードデータを取得する侵入手法です。通常、Golden Ticket attackの前に行われます。
3. 対象のドメインコントローラーがパスワードハッシュを返します
特定のマシンに事前の足掛かりは必要ありません。リクエストは他のレプリケーショントラフィックと同様にネットワーク上を移動します。どのドメインコントローラーも応答します。
2. 攻撃者がドメインコントローラーを偽装してレプリケーションを要求します
DCSyncは、オープンソースのMimikatzツールにあるコマンドの名前でもあります。このコマンドは、Directory Replication Service Remote Protocol(MS-DRSR)を使用してドメインコントローラーを偽装し、実際のドメインコントローラーにディレクトリ情報の複製を要求し、ADレプリケーションを設計通りに動作させることを悪用しています。MITREはこれをT1003.006としてOS Credential Dumpingの下で追跡しており、修正すべき根本的な脆弱性はありません。
攻撃者はMS-DRSRレプリケーションインターフェイス(DRSUAPIとも呼ばれる)でIDL_DRSGetNCChangesを呼び出し、ドメインコントローラーを偽装してユーザーレプリケーションデータを要求します。この呼び出しは正当なレプリケーションAPIの使用であり、不正なまたは異常なリクエストではないため、プロトコルレベルの防御は発動しません。
ドメインコントローラーは、インターフェースが正当なドメインコントローラーと適切な権限を持つアカウントを区別できないため、パスワードハッシュを含むレプリケーションデータで応答します。
4. 既存のツールがリクエストを実行します
Netwrix Threat Preventionは、Active DirectoryでのDCSyncおよびPass-the-Hashの試みをリアルタイムでブロックし、Kerberoastingの露出を修復のために警告します。デモをリクエストしてください。
DCSync攻撃に必要な権限
Administrators、Domain Admins、および Enterprise Admins はデフォルトで必要な権利を持っています。これらの特権を取得するには時間がかかるため、DCSync はキルチェーンの後半に現れる傾向があります。具体的な権限は以下の通りです:
- Directory の変更を複製 (
DS-Replication-Get-Changes)
DSInternals PowerShellモジュールは、Get-ADReplAccountを通じてこれを公開します。Mimikatz DCSyncを使用したユーザーパスワードデータの抽出は、完全なコマンドシーケンスをカバーします。
Mimikatzのlsadump::dcsyncモジュールは最もよく知られた実装であり、他のツールも同じレプリケーション要求を実行します。Impacketのsecretsdump.pyはネットワーク経由で実行し、DSInternals PowerShellモジュールはGet-ADReplAccountを通じて公開します。
- Directory Changes All の複製 (
DS-Replication-Get-Changes-All) - フィルタリングされたセットでのDirectory変更の複製(一部の環境でのみ必要)
さらに2つの権限が同じ扉を開き、特権グループのメンバーシップのレビューではほとんど表面化しません。ドメインレベルでGenericAll(完全制御)またはAllExtendedRightsを持つアカウントは、特権グループに属していなくてもDCSyncを実行できます。
攻撃者がハッシュで行うこと
ドメイン命名コンテキストでこれらの権限が委任されているアカウントは、複製が可能です。通常、MSOL_プレフィックスで名前付けされたEntra Connectサービスアカウントはこれらの権限を正当に保持しており、マイグレーションや長く忘れられた統合から権限を継承したアカウントも同様です。
DCSyncを可能にするレプリケーション権限は許可であり、返されるハッシュはそうではありません。ハッシュは認証情報であり、パスワードの暗号化された表現です。ハッシュを持つことで、攻撃者はその人の実際のパスワードを知らなくても、その人になりすますことができます。攻撃者が次に何をするかは、どのアカウントのハッシュを取得したかによります。
KRBTGT ハッシュ: ドメイン内の任意のアカウントのチケットを偽造
現在権利を持っている人を列挙することは、最も安価な露出チェックです。委任はディレクトリアセスメントツールが直接読み取るアクセス制御リスト(ACL)に存在し、攻撃経路分析はそれらの権利がどのように連鎖しているかを示します。
攻撃者は privilege escalation を通じてこれらの権限を取得するため、それを持つすべてのアカウントはDomain Adminと同じ privileged account management の規律が必要であり、誰も見直さない常時アクセスであってはなりません。
通常アカウントハッシュ:何も解読せずに横方向に移動
KRBTGTアカウントに到達するDCSyncの実行は、資格情報の盗難をドメイン侵害に変えます。KRBTGTハッシュはドメイン内のすべてのKerberosチケットに署名します。これを保持する攻撃者は、そのアカウントの資格情報に触れることなく任意のアカウントのTicket Granting Tickets(TGT)を偽造でき、偽造されたアクセスはなりすましアカウントの通常のパスワードリセットを生き延びます。偽造チケットを無効にするのはKRBTGTのリセットのみです。
弱い認証情報:プレーンテキストパスワードをオフラインで解析
DCSync攻撃の検出方法
通常および特権アカウントのNT LAN Manager(NTLM)ハッシュは、Pass-the-Hash 攻撃に直接利用されます。攻撃者はハッシュ自体を再生してそのアカウントとして認証するため、資格情報がドメイン内の他の場所で使用可能になる前に解読する必要はありません。
DCSync リクエストを検知できる場所は3つあり、それぞれ異なるものを検知します:ドメインコントローラーのイベントログ、ネットワーク自体、そしてリクエストを行うアイデンティティの挙動です。
同じレプリケーション応答で回復されたKerberosキーと保存されたパスワード履歴は、ハッシュタイプが十分に弱い場合にオフラインで解析されます。平文パスワードは、可逆暗号化で構成されたアカウントに対してのみ直接表示され、この設定はまさにこの理由で監査する価値があります。
Directory Service の監査を有効にし、レプリケーション GUID のアラートを設定します
DS-Replication-Get-Changes用1131f6aa-9c07-11d1-f79f-00c04fc2dcd21131f6ad-9c07-11d1-f79f-00c04fc2dcd2 DS-Replication-Get-Changes-All用
非DCホストからのレプリケーションのための通信を監視してください
単一イベントでは捉えられない基本的なidentityの挙動
まず、Directory Service AccessのAdvanced Audit Policyを有効にしてください。Windowsはこれをデフォルトで無効にしており、Event ID 4662はこれが有効でないと発生しません。有効にしたら、フレンドリ名ではなくグローバル一意識別子(GUID)で識別されるこれらのレプリケーションプロパティGUIDを特に監視してください。
これらのGUIDがドメインコントローラーや既知のレプリケーションサービスアカウントでないアカウントに現れた場合に警告し、警告前にフィルタリングしてください。忙しいドメインコントローラーでフィルタリングされていない4662イベントは誰も読まないノイズを生みます。この信号は主要な制御ではなくバックストップとして扱ってください。ドメインコントローラーに到達した攻撃者は、4662のみの戦略が依存するログを消去または遅延させることもできるためです。
DCSync攻撃を防ぐ方法
新しいレプリケーション権限は次回のレビューだけでなく、プロビジョニング時に管理してください
プロトコルレベルでDCSyncをブロックする制御はないため、予防は複製を呼び出せる人を制御し、その権利に至る経路を短縮することにかかっています。
ドメインコントローラーでないホストからIDL_DRSGetNCChangesを含むDRSUAPIバインドを監視してください。正当なレプリケーションはドメインコントローラー間でのみ行われ、このトラフィックの無害なバージョンは存在しません。イベントログ検出よりもこのシグナルを優先してください。ネットワーク監視は、ドメインコントローラーが記録しているかどうかに関わらずリクエストを検知し、攻撃者がエンドポイントのログを改ざんしてもシグナルを維持します。
各アカウントの通常の行動基準を構築するIdentity Threat Detectionプラットフォームにレプリケーションイベントを供給します。4662イベントやDRSUAPIバインドは単独では正当なように見えますが、そのアカウント固有の履歴と比較すると異常である可能性があります。このレイヤーは、これまでレプリケーション要求を一度も行っていなかったアカウントが一度要求するパターンを検出するためのもので、静的な許可リストや一時的なルールでは完全に見逃されることがあります。
移行や統合の際に付与された権限は、プロジェクト終了後も長く残る傾向があります。誰も付与したことを覚えていないアクセス権を削除するのは、最初に付与するよりも難しい判断だからです。
誰も正当化できないレプリケーション権限を確認して削除してください
既知のドメインコントローラーのアドレスにレプリケーションRPCを制限する
ドメイン命名コンテキストで、3つのレプリケーション権限に加えGenericAllとAllExtendedRightsを持つすべてのアカウントを確認し、正当化できないものを削除してください。新しい統合により権限が再付与されるため、定期的にレビューを繰り返してください。
攻撃者がレプリケーション権限に到達する経路を閉じる
トポロジーが許す場合は、リモートプロシージャコール(RPC)レプリケーションを既知のドメインコントローラーのアドレス間のみに許可してください。これは既に有効なレプリケーション権限を持つ攻撃者を止めるものではありませんが、正当な理由のないホストからの要求はブロックします。
疑わしいDCSync攻撃への対応方法
攻撃者が実際に照会した内容を範囲指定する
Enterprise Key Admins は繰り返しの例です。Windows Server 2016 の adprep /domainprep がそのグループに Domain Naming Context とその子オブジェクトの完全な制御を許可したためです。Microsoft はこれを脆弱性ではなくバグと呼び、1709 アップデート以降の新しいドメイン準備では修正しましたが、その修正前に準備されたドメインには別の修復スクリプトが必要です。ドメイン全体のスキーマ更新だけでは解決しません。
ハッシュはすでに消えていると想定してください。データはアラートが発生する前にドメインを離れたためです。次に何をするかで、そのアクセスが攻撃者にどれだけ長く利益をもたらすかが決まります。
新しい統合または移行が DS-Replication-Get-Changes、DS-Replication-Get-Changes-All、GenericAll、またはAllExtendedRights を受ける前に、文書化された正当な理由と名前のある所有者を要求してください。権利を最初に付与し、次の監査サイクルで見直すのではなく。
攻撃者が照会したオブジェクトを特定するために、イベントID 4662、Directory Service、およびSysmonログを確認し、封じ込めと修復の範囲を決定します。ここで得られた結果により、対応が1つのアカウントで止まるのか、ドメイン全体の資格情報リセットに拡大するのかが決まります。
次のことを確認してください:Zerologon (CVE-2020-1472)が修正されていること。ドメイン権限を付与する脆弱性は攻撃チェーン全体を直接短絡させます。Kerberoastingのような認証情報収集経路は、攻撃者が最初にレプリケーション権限を取得する方法として扱い、後で解決すべき別の問題としては扱わないでください。これらの修正はどちらも、より広範なActive Directoryのセキュリティベストプラクティスの一部であり、ドメインの他の特権経路を管理します。
ハッシュに含まれていた場合はKRBTGTを2回リセットしてください
関係するアカウントだけでなく、情報源も封じ込めます
関係するアカウントを無効にするのは反射的な行動ですが、それだけではほとんど効果がありません。攻撃者はそのアカウントとは独立して機能する資格情報を保持しているためです。代わりに、レプリケーション権限とprivileged group membershipsを取り消し、発信元ホストを隔離してください。
NetwrixがDCSync攻撃の検出とブロックを支援する方法
レプリケーション権限を持つすべてのアカウントを見つける
評価、検出、および防止はここで異なる製品を通じて行われ、連携しています。
KRBTGTが含まれている場合は、KRBTGTのパスワードを2回リセットし、2回のリセット間の間隔を最大チケット有効期間(デフォルトで10時間)および完全なレプリケーションサイクルの両方より長くしてください。1回のリセットでは前のキーが有効なままなので、偽造チケットは引き続き機能します。ログで範囲を特定できない場合は、推測せずにドメイン全体の資格情報リセットをデフォルトにしてください。
非DCホストからのレプリケーション要求を検出する
複製リクエストが完了する前にブロックします
Netwrix PingCastle はMITRE ATT&CKにマッピングされたチェックに基づいてActive Directoryを評価し、デフォルトグループ外で複製権限を持つアカウントを含め、上記の委任レビューを繰り返し可能なチェックに変えます。
これらのアラートは、リクエストの背後にあるアカウント、対象のドメインとアカウント、および照会されたオブジェクトを明らかにし、アナリストが単に実行を確認するのではなく、実行範囲を特定するために必要な詳細を提供します。
DCSync検出は、Netwrix Threat Prevention AD Replication Monitoringポリシーに由来しているため、両製品はペアで動作します。
Netwrix Threat Manager は、ドメインコントローラーでないマシンから発行されたレプリケーション要求を含む、Active Directoryに対する資格情報窃盗技術を検出し、警告します。
Netwrix Threat Preventionは、特定のアカウントまたはワークステーションがさらなるレプリケーションを実行するのを停止するブロックポリシーを適用します。両者はidentity threat detection and responseに該当し、Threat ManagerはEntra IDへの検出を拡張し、Threat PreventionはオンプレミスのActive Directoryレイヤーで強制します。
DCSyncの露出を始める場所
[画像プレースホルダー:製品、PMMに依頼。Netwrix Threat Managerの製品スクリーンショットが必要(ソースホスト、ターゲットアカウント、クエリされたオブジェクトを含む検出されたDCSyncイベントの現在のビュー)]
ここで防御の大部分を担うのはレプリケーション権限であり、最後の移行以降誰も見直していない委任リストが現実的な攻撃経路です。列挙には午後いっぱいかかります。
デモをリクエストして、Netwrixがレプリケーション権限を見つけ、ライブDCSync試行を検出し、自分のActive Directory環境で次の試行をブロックする方法をご覧ください。
ドメインコントローラーでないホストからのレプリケーションに関するアラートは、その試み自体を検知し、Directory Serviceの監査が有効になっているかどうかにかかわらず、その信号は維持されます。文書化されたKRBTGTリセット手順により、成功した実行が攻撃者に利益を与え続ける期間が決まります。
DCSync攻撃に関するよくある質問
共有する
もっと詳しく
著者について
Kevin Joyce
プロダクトマネジメント担当ディレクター
Netwrix のプロダクトマネジメント担当ディレクター。Kevin はサイバーセキュリティに情熱を持ち、特に攻撃者が組織の環境を悪用するために用いる戦術や手法を理解することに注力しています。Active Directory と Windows のセキュリティに焦点を当てたプロダクトマネジメントでの 8 年の経験を通じて、その情熱を活かし、組織がアイデンティティ、インフラ、データを保護できるようなソリューションの構築を支援しています。