Active Directoryのハッキング検証、DCSync

目次

DCSyncの概要

DCSyncを簡単に説明すると、Windows Active Directoryの複製(レプリケート)機能を悪用し、ドメインユーザの資格情報をダンプする行為です。

ADの複製機能に関しては、下記のURLが分かりやすかったですのでご参考にしてください。簡単にいうと、ネットワークにおいてADの冗長化を構成するために、複数のADを導入することが一般的です。この時、1つのADで何らかの変更が生じた場合に、他のADに対して変更内容を同期する機能のことを複製やレプリケートといいます。

DCSyncにおいては、この複製機能を悪用し、ユーザのパスワードハッシュを取得します。

DCSyncの前提条件に関しては、下記の権限を持つドメインユーザを掌握している必要があります。これらは複製を実施するための権限ですが、Administrators, Domain Admins, Enterprise Admins, およびDomain Controllerグループのメンバーには、デフォルトでこれらの特権があります。

  • Replicating Directory Changes All
  • Replicating Directory Changes

特権ユーザが奪取された場合にドメインユーザの認証情報が奪取されるのは、DCSync以外でもDomain Controllerに対するパスワードダンプ等で可能ですが、問題はこれらの権限がDomain Usersグループや、意図しないユーザに付与されている場合です。この場合、Domain Adminsグループのユーザを含めて全ユーザのパスワードハッシュの取得、及び成りますしが可能となります。

脆弱性の検証

システム環境と前提条件

  • [OS]Windows Server 2016
  • [攻撃側ユーザ]client01u1 (上記権限付与済み)
  • [攻撃対象ユーザ]krbtgt, Administrator, ….. (全ドメインユーザが対象となる)

検証の流れ~BlueTeam側~

まず、Active Directory側でclient01u1の設定を行います。
ダッシュボードからツール>Active Directory ユーザのコンピュータを開きます。

f:id:yuukoutetu:20210322211955p:plain
ad-server-manager

表示>拡張機能にチェックを押します。

f:id:yuukoutetu:20210322212036p:plain
ad-user-computer

ドメイン(cyberlab.local)を右クリックし、プロパティを開きます。

画像に alt 属性が指定されていません。ファイル名: 2021-02-04_23h14_49.png

f:id:yuukoutetu:20210322212103p:plain
ad-user-computer

攻撃側ユーザを設定します。セキュリティタブからclient01u1の「ディレクトリの変更のレプリケート」と「ディレクトリの変更をすべてにレプリケート」の両方を許可します。

f:id:yuukoutetu:20210322212142p:plain
ad-domain-property

これで、client01u1はADの複製機能が使用できるようになりました。

検証の流れ~RedTeam側~

攻撃者は何らかの方法により、client01u10というユーザに対するアクセス権を得たとします。

次に攻撃者はDCSyncを実施するために、mimikatzを使用してActive Directoryにユーザの資格情報の複製を要求します。

画像に alt 属性が指定されていません。ファイル名: 2021-02-03_00h23_15.png

f:id:yuukoutetu:20210322212218p:plain
Invoke-Mimikatz

DCsyncを行うには下記のコマンドを入力します。今回は攻撃者の目的をゴールデンチケットの取得として、krbtgtのパスワードハッシュの取得を行います。

Invoke-Mimikatz -Command '"lsadump::dcsync /user:cyberlab\krbtgt"'

DCsyncに成功すると下記のようにNTLMが得られます。

f:id:yuukoutetu:20210322212310p:plain
Password-Dump-By-Mimikatz

個人的な見解、リスク低減策

DCSyncのリスクに関しては、一般ユーザ等に複製権限を与えている場合は要注意ですが、そのような設定になっていることは少ないと思うので、それほど高くないといった印象です。

ただし、krbtgtのパスワードハッシュが攻撃者に入手され、ゴールデンチケットが悪用される場合、それ以降の攻撃の検知が非常に困難になるので、下記のリスク低減策を中心に対策を行っておくべきです。

  1. 複製権限を持つユーザを最小限する
  2. 上記権限を持つユーザを定期的に取得し、正当かどうかを確認する
  3. 複製権限に変更があった場合に、イベントログ等でアラートする

参考URL

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

セキュリティコンサルタント【経歴】ベンチャー企業にてセキュリティ研究者として新規事業開発に従事した後、大手外資系企業にてペネトレーションテストやゼロトラストなどの幅広い業務を実施。現在はサイバー人材育成に携わりつつ、グローバル資格の効率的な勉強方法やセキュリティキャリアについて情報発信

コメント

コメントする

目次