Netwrix 1Secureは、データとアイデンティティ全体にわたる統合された可視性を提供します。14日間の無料トライアルでフルアクセス可能です。無料トライアルを開始

リソースセンターブログ

Mimikatz DCSyncでユーザーのパスワードを盗む

Mimikatz DCSyncでユーザーのパスワードを盗む

May 29, 2025

Mimikatz は、資格情報を抽出し操作するさまざまな方法を提供しますが、その中でも特に深刻なのが DCSync コマンドです。このコマンドを使うことで、攻撃者はドメイン コントローラーの挙動をシミュレートし、他のドメイン コントローラーに対して情報の複製(ユーザーのパスワード データを含む)を依頼できます。実際、攻撃者は任意のアカウントの NTLM パスワード ハッシュ、あるいは平文のパスワードでさえ取得できます。これには KRBTGT アカウントのパスワードも含まれます。これにより、Golden Tickets を作成できるようになります。

厳選した関連コンテンツ:

それでも不十分と言えるほど、この攻撃は他の選択肢とは異なり、ドメイン コントローラー上でコードを実行することなく実行できます。 Mimikatz はパスワード データを抽出することを提案しています。さらに、この攻撃は Microsoft Directory Replication Service Remote Protocol(MS-DRSR)を悪用します。これは Active Directory の有効かつ必要な機能であるため、無効化したり停止したりすることはできません。

DCSync 攻撃を実行できるのは誰ですか?

Mimikatz の DCSync を実行するには、ドメインのレプリケーションを実行する権限を持つアカウントが必要です。これは、ドメインに設定されている Replicating Changes の権限によって制御されます。Replicating Changes All または Replicating Directory Changes の権限があれば、この攻撃を実行できます。

Mimikatz DCSync

既定では、これらの権限は Domain Admins、Enterprise Admins、Administrators、Domain Controllers の各グループに限定されています。DCSync 攻撃を実行できる追加のアカウントを見つけるには、次の PowerShell スクリプトを使用します。このスクリプトは、ドメインのすべてのドメイン レベル権限を列挙し、これらの権限が付与されておりかつ RID が 1000 より大きいすべてのアカウントを見つけます。これにより、すべての既定の権限が除外されます。

      #Get all permissions in the domain, filtered to the two critical replication permissions represented by their GUIDs
Import-Module ActiveDirectory
cd 'AD:DC=JEFFLAB,DC=local' # Replace with distinguished name of your domain
$AllReplACLs = (Get-AcL).Access | Where-Object {$_.ObjectType -eq '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2' -or $_.ObjectType -eq '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2'}

#Filter this list to RIDs above 1000 which will exclude well-known Administrator groups
foreach ($ACL in $AllReplACLs)
{
    $user = New-Object System.Security.Principal.NTAccount($ACL.IdentityReference)
    $SID = $user.Translate([System.Security.Principal.SecurityIdentifier])
    $RID = $SID.ToString().Split("-")[7]
    if([int]$RID -gt 1000)
    {
        Write-Host "Permission to Sync AD granted to:" $ACL.IdentityReference
    }
}
      

このスクリプトを実行すると、DCSync 攻撃を実行するのに必要な権限を持っているが、おそらく持つべきではないユーザーおよびグループがそれぞれ一覧表示されます:

Mimikatz DCSync 2

DCSync 攻撃はどのように開始されますか?

必要な権限があれば、あとはかなり簡単です。次のコマンドを実行するだけです:

Lsadump::dcsync /domain:<domain_name> /user:<user_name>

KRBTGT アカウントのパスワード ハッシュを取得するには、攻撃者は次に示すコマンドをそのまま使用できます:

Mimikatz DCSync 3

パスワードが可逆暗号化で保存されている場合、平文のパスワードが表示されます:

Mimikatz DCSync 4

組織は DCSync 攻撃に対してどのように防御できますか?

DCSync 攻撃を防ぐ最善の方法は、ドメイン内で情報を複製する権限を持つアカウントを厳格に制限することです。まずは、上で提供されているスクリプトをすべてのドメインに対して実行し、この攻撃を実行するための不適切な権限を持つアカウントがないかを確認できます。さらに、これらの権限が必要なアカウントを保護するための管理策を導入し、特に攻撃者が侵害できる場所にパスワードの詳細が保存されないようにすることが重要です。

DCSync 攻撃を検知した場合は、攻撃者が権限をさらに昇格させたり、AD に他の変更を加えたりできないように、関与したアカウントを直ちに無効化してください。 Netwrix Threat Prevention は、アカウントまたはワークステーションが追加のレプリケーションを実行できないようにするブロッキングポリシーを提供します。これにより攻撃の進行を遅らせ、対応者が脅威を排除するための時間をより確保できます。さらに、 Netwrix StealthDEFEND は、DCSync 攻撃の実行者、ソース、ターゲット、照会されたオブジェクトに関する詳細情報を提供することで、これらの対応手順をサポートします。

Netwrix Threat Prevention

共有する

もっと詳しく

著者について

Asset Not Found

Kevin Joyce

プロダクトマネジメント担当ディレクター

Netwrix のプロダクトマネジメント担当ディレクター。Kevin はサイバーセキュリティに情熱を持ち、特に攻撃者が組織の環境を悪用するために用いる戦術や手法を理解することに注力しています。Active Directory と Windows のセキュリティに焦点を当てたプロダクトマネジメントでの 8 年の経験を通じて、その情熱を活かし、組織がアイデンティティ、インフラ、データを保護できるようなソリューションの構築を支援しています。