BloodHound は Active Directory (AD) の脆弱性を特定する強力なツールです。サイバー犯罪者はこのツールを悪用して、悪用可能な Active Directory 権限の連鎖を可視化し、強力な Domain Admin グループへの所属を含む、より高い権限を獲得できるようにします。
本ガイドは、ペネトレーションテスターがまず BloodHound を使用してこれらの脆弱性を特定できるように設計されており、企業が攻撃を阻止できるよう支援します。
厳選した関連コンテンツ:
Active Directory のセキュリティに関するベストプラクティスBloodHound とは?仕組みはどうなっていますか?
BloodHound は、グラフ理論を用いて、対象となる Windows ドメイン内の隠れた関係、ユーザー権限、セッション、攻撃パスを特定する、Active Directory の偵察および攻撃経路管理ツールです。主な目的は、脅威アクターから IT 環境を守るために必要な洞察を、サイバーセキュリティの専門家に提供することです。
BloodHound はどのように動作しますか?Electron でコンパイルされた単一ページの JavaScript Web アプリであり、Windows の AD オブジェクトを Neo4j データベース内のノードとして保存します。PowerShell ingestor を備えており、バージョン 4.0 から Azure をサポートしています。
Active Directory の監査とレポート
詳しくはこちらActive Directory のアクセス許可を収集する
BloodHound はデータの可視化および分析ツールのため、SharpHound または AzureHound のようなデータ収集ツールと組み合わせて使用する必要があります。Active Directory の権限セットを収集するには、次の手順を実行してください:
- まず、AzureHound または SharpHound の最新バージョンをダウンロードしてインストールし、その後に実行します。
- デフォルトでは、複数の JSON ファイルが作成され、それらが 1 つの zip ファイルにまとめられます。その zip ファイルを BloodHound にドラッグ アンド ドロップしてください。
- 以下の説明に従って、BloodHound を使ってデータを探索してください。
BloodHound は Active Directory の権限とどのように連携するか
BloodHound は、AD のペネトレーションテスターが攻撃経路をマッピングできるようにします。攻撃経路とは、攻撃者が環境内で横方向に移動し、権限を昇格できる可能性のある、アクセス許可の連鎖とその他のセキュリティ上の脆弱性のつながりです。たとえば、検索バーを使って Domain Users グループを見つけ、そのグループがどこかでローカルの管理者権限を持っているか、またどの AD オブジェクトを制御できるのかを確認できます。
実際のところ、長年にわたって多くの組織が Active Directory の権限に対する管理を失ってしまっています。会社が成長し変化するにつれ、ユーザーがもう必要としなくなった権限を削除することを組織が忘れてしまい、攻撃者が悪用できる脆弱性が生まれてしまうのです。
よく悪用される特権には次のようなものがあります:
- パスワードのリセット — 現在のパスワードを知らなくても、ユーザーアカウントのパスワードを変更できる権利
- 追加 メンバー — 特定のグループにユーザーを追加できる権限
- フル コントロール — ユーザーまたはグループに対して好きなことを何でも実行できる権限
- Write Owner / Write DACL — オブジェクトに対する権限と所有権を変更できる権利
- 書き込み — オブジェクトの属性を書き込むことができる能力
- 拡張権限 — Reset Password を含む、さまざまな権限の組み合わせ(TechNet からの完全な参照は click here)
BloodHound を使って Active Directory の権限を収集する方法
攻撃パスをマッピングする最初のステップは、権限の収集です。 権限を収集したいドメインに参加しているコンピューターで、次の PowerShell コマンドを実行してください:
Invoke-Bloodhound -CollectionMethod ACLs
これにより、すべての Active Directory 権限の CSV エクスポートが作成され、次にそれを BloodHound に取り込みます。
攻撃パスの例
攻撃パスの例をいくつか見ていきましょう。
攻撃パス 1:パスワードのリセット
これから探る最初の BloodHound の攻撃パスは、ユーザーのパスワードをリセットできる機能です。
パスワードをリセットできる権限は、BloodHound では “ForceChangePassword” というラベルの攻撃パスとして表示されます:
複数回のパスワードリセットを組み合わせることで、下図のように権限のないアカウントから Domain Admin へ到達できる可能性があります:
ユーザーがアカウントを実際に使用している場合は、パスワードがリセットされたことに気付くでしょう。したがって、攻撃者はアカウントの最終ログオン時刻を確認し、露見せずにパスワードリセットを実行できるかどうかを判断するかもしれません。
攻撃パス 2:グループのメンバーシップ
別の攻撃パスでは、グループにメンバーを書き込む(追加する)権限を悪用します。ユーザーをグループに追加することで、攻撃者は、標的としている機密データにアクセスできるグループへ自分自身を追加できるようになるまで、アクセス権をゆっくりと引き上げることができます。このアプローチは、敵対者にとって非常に有用です。なぜなら、欲しいデータにアクセスするために、Domain Admins のような高度に特権のあるグループのメンバーになる必要があるケースがほとんどなく、また、特権の低いグループにユーザーを追加してもアラームが上がることがまれだからです。
BloodHound では、グループを変更できる権限が、以下のようにラベル「AddMember」の付いた攻撃パスとして表示されます:
複数の グループのメンバーシップ変更をつなぎ合わせることで、攻撃者は目標に到達するまで権限をゆっくりと増やしていくことができます。この例は、権限のないユーザーがグループのメンバーシップ変更によって Domain Admin になり得ることを示しています:
攻撃パス 3:権限の変更
オブジェクトの権限を変更できると、基本的に望むほぼすべてのことができます。たとえば、グループのメンバーシップを変更する権限を自分に付与したり、パスワードをリセットしたり、拡張属性から貴重な情報を抽出したりできます。これは、Local Administrator Password Solution(LAPS)
BloodHound では、オブジェクトの権限を変更できる機能は「WriteDacl」としてラベル付けされます:
複数の権限変更を組み合わせることで、攻撃者は横方向に移動してより高い権限を獲得できます。以下のとおりです:
攻撃パス 4:複合攻撃
ほとんどの攻撃パスには、複数の種類の権限が関わります。以下の例は、権限のない(一般ユーザーの)アカウント「Michael」から Domain Admin アカウントへの 3 つの攻撃パスを示しています:
Netwrix が Active Directory の権限攻撃から保護する方法
セキュリティを強化するには、上で説明した権限をまず見直してください。これらは最もよく悪用される権限の一つだからです。
BloodHound は、Windows AD ドメインにおける潜在的な問題を可視化するのに最適な方法です。しかし、多くの手作業が必要です。そのため、プロジェクトや技術的な依頼ですでに手一杯のときは、特にサイバーセキュリティチームが BloodHound を使って資産やシステムを保護できない可能性があります。
Windows Active Directory ドメインの攻撃対象領域(attack surface)を減らすための最良の方法の一つは、Netwrix の end-to-end Active Directory セキュリティソリューションを使用することです。強力で包括的、かつ使いやすい当社のソフトウェアにより、Active Directory を保護し、リスク低減の取り組みに優先順位を付け、セキュリティ体制(security posture)を強化できます。具体的には、当社のツールで次のことが可能になります。
- 貴社の AD セキュリティ のセキュリティ体制(security posture)におけるリスクを特定し、評価し、優先順位付けします
- なりすまし(ID盗難)から保護する
- 特権の変更を常に把握する
- 高度な脅威(Golden Ticket attacks など)を含め、脅威を迅速に検知して対応します。 Kerberoasting
- 稲妻のように速い AD 復旧で業務の中断を最小限にする
Netwrix Directory Manager の無料トライアルを申し込む
共有する
もっと詳しく
著者について
Joe Dibley
セキュリティリサーチャー
Netwrix のセキュリティリサーチャーであり、Netwrix Security Research Team のメンバーです。Joe は Active Directory、Windows、およびさまざまなエンタープライズソフトウェアのプラットフォームとテクノロジーの専門家であり、新たなセキュリティリスク、複雑な攻撃手法、そしてそれに関連する緩和策と検知について研究しています。