eSecurity Planetはこのほど、「How to Tell if Active Directory is Compromised」において、いくつかの重要なActive Directoryコンポーネントに侵害の兆候がないかどうかを確認する方法について伝えた。

  • How to Tell if Active Directory is Compromised

    How to Tell if Active Directory is Compromised

eSecurity Planetによると、Active Directoryへの侵入を検知できるかどうかは脅威アクターのスピードと能力に依存するという。脅威アクターはイベントログに記録されるイベントを防ぐ戦略を採用することが可能だが、このような侵害の兆候を検知するには、ドメインに参加しているすべてのコンピュータとドメインコントローラのイベントログの監視を続ける必要がある。

しかしながら、現実にはすべてのログの監視を続けることは困難なため、重要なActive Directoryコンポーネントのステータスのみをチェックして侵害されているかどうか判断することになる。

また、脅威アクターは管理者が検知することが難しいコンポーネントを攻撃してくる。よって、これらコンポーネントがデフォルトの状態であることも確認する必要がある。このようなコンポーネントは数多くあるため、ここでは「重要」なコンポーネントのみに焦点を当てる。

侵害の兆候を検出するための「重要」なコンポーネントとその確認方法について、要約を次に示す。

  • AdminSDHolderオブジェクトと特権アカウントの確認 - すべてのActive DirectoryドメインはSystemコンテナの下にAdminSDHolderと呼ばれる固有のコンテナを持つ。SDPropプロセスはこのコンテナからすべての特権アカウントに権限をコピーするため、このコンテナの変更を確認する。AdminSDHolderコンテナの変更は、AdminSDHolderプロパティの「属性エディター」タブの「whenChanged」を確認する
  • グループポリシーオブジェクト(GPO: Group Policy Object) - グループポリシーオブジェクトは脅威アクタの主要な攻撃対象。グループポリシーオブジェクトにはデフォルトドメインポリシとデフォルトドメインコントローラポリシの2種類がある。属性エディターもしくは、次のPowerShellコマンドから変更時間を確認する

変更時間を確認するPowerShellコマンド

Get-GPO -All -Server $ThisDomain | Select-Object DisplayName, ModificationTime
  • Active Directoryの展開日時とグループポリシーオブジェクトの変更時間が異なる場合は、誰かが変更した可能性がある
  • PrimaryGroupID - 最近ではActive Directoryを乗っ取るまでの作業を少なくできるため、PrimaryGroupIDへの攻撃が一般的になってきている。すべてのユーザー、コンピュータ、ドメインコントローラアカウントをチェックしてPrimaryGroupIDに変更がないことを確認する
  • ドメインコントローラとそのデフォルトの場所 - ドメインコントローラがデフォルトの場所から移動された場合、攻撃者が意図したグループポリシーオブジェクトの設定を受け取ってしまう可能性がある。PowerShellスクリプトやセキュリティ評価ツールなどを使用して、各ドメインコントローラがデフォルトの場所にあることを確認する

重要なActive Directoryコンポーネントのステータスを確認し、侵害の兆候を探すことは、管理者のベストプラクティスであり定期的な実践が望まれる。