ADの基礎
ドメインと信頼関係
「ADの基礎」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。
Active Directoryとは
Active Directory(AD)は、Windowsネットワーク上のユーザー、コンピューター、リソースを管理するMicrosoftのディレクトリサービスです。認証と認可を一元的に提供します。
ほぼすべての企業がADを運用しているため、主要な攻撃対象になります。ADを侵害すると、組織全体の侵害につながることがよくあります。
ドメイン
ドメインは、ADにおける基本的な管理境界です。共通のデータベースとセキュリティポリシーのもとで、オブジェクト(ユーザー、グループ、コンピューター)をまとめます。
各ドメインにはcorp.example.comのような名前があります。ドメイン内のすべての認証は、ドメインコントローラーが処理します。
ドメインコントローラー
ドメインコントローラー(DC)は、AD Domain Servicesを実行するサーバーです。ディレクトリデータベースを保存し、ログインを認証し、ポリシーを適用します。
ディレクトリデータベースはNTDS.ditファイルに保存されています。このファイルをブートキーとともに盗むと、攻撃者はドメイン内のすべてのパスワードハッシュを抽出できます。
C:\Windows\NTDS\ntds.dit
# directory database, contains all account hashesフォレストとツリー
ツリーは、連続した名前空間を共有する1つ以上のドメインです。フォレストは、1つ以上のツリーを格納する最上位のコンテナーです。
フォレストは、ADにおける実質的なセキュリティ境界です。フォレスト内では、信頼関係を通じて別のドメインにアクセスできます。
信頼関係
信頼関係は、あるドメインのユーザーが別のドメインのリソースにアクセスできるようにする関係です。信頼関係には次の種類があります。
- 一方向または双方向:アクセスの方向を定義します。
- 推移的または非推移的:信頼が他のドメインにも引き継がれるかどうかを示します。
信頼関係の設定ミスにより、攻撃者がドメインやフォレスト間を横展開できる場合があります。
組織単位とGPO
組織単位(OU)は、オブジェクトを整理し、管理を委任するためのコンテナーです。
グループポリシーオブジェクト(GPO)は、OU、ドメイン、サイトに構成設定やセキュリティ設定を適用します。GPOを編集できる攻撃者は、悪意のある設定やスクリプトを多数のマシンに一斉に適用できます。
Kerberos認証
ADは、主要な認証プロトコルとしてKerberosを使用します。パスワードを送信する代わりに、クライアントはDC上で動作するKey Distribution Center(KDC)が発行したチケットを交換します。
ユーザーはまずTicket Granting Ticket(TGT)を取得し、それを使ってサービスチケットを要求します。ADに対する多くの攻撃は、このチケットシステムを悪用します。
LDAPと列挙
ADはLDAP(Lightweight Directory Access Protocol)を通じてディレクトリを公開します。認証済みユーザーは、ユーザー、グループ、コンピューター、それらの属性など、膨大な量の情報を照会できます。
そのため、低権限のドメインアカウントであっても価値があります。ディレクトリ全体を列挙し、より高い権限につながる経路を見つけられるからです。
ldapsearch -x -H ldap://dc.corp.local -b 'dc=corp,dc=local' '(objectClass=user)'主要な特権グループ
どのドメインにも、特に重要なグループがあります。
- Domain Admins:ドメインを完全に制御します。
- Enterprise Admins:フォレスト全体を制御します。
- Schema Admins:ADスキーマを変更できます。
ADでの権限昇格は通常、これらのグループのいずれかに加わる経路を見つけることを意味します。
サービスプリンシパル名
Service Principal Name(SPN)は、アカウントに関連付けられたサービスインスタンスを一意に識別します。KerberosはSPNを使ってサービスチケットを発行します。
SPNを持つアカウントは、サービスチケットを要求してオフラインでクラックできるため、興味深い標的です。これはKerberoastingと呼ばれる手法で、次に学習します。
setspn -Q */*
# enumerate service principal names in the domainなぜADが狙われるのか
ADは組織全体のアイデンティティを一元管理するため、1つの足掛かりから全体の制御へと連鎖する可能性があります。攻撃者は低権限アクセス、列挙、認証情報の窃取を組み合わせて、Domain Adminに到達します。
構造(ドメイン、信頼関係、Kerberos、LDAP、特権グループ)を理解すると、攻撃者に悪用される前にこうした経路を見つけられます。
確認テスト
ADの構造についての理解度を確認しましょう。
まとめ
Active Directoryの基本要素を理解しました。
- ドメインはオブジェクトをまとめ、ドメインコントローラーは認証を行い、
NTDS.ditデータベースを保存します。 - フォレストはセキュリティ境界であり、信頼関係によってドメイン間のアクセスが可能になります。
- KerberosとLDAPが認証と列挙を支えます。
- Domain AdminsとSPNは価値の高い標的です。
次は、KerberoastingでKerberosを直接攻撃します。
よくある質問
「ADの基礎」レッスンは無料ですか?
はい。「ADの基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。
「ADの基礎」で何を学びますか?
ドメインと信頼関係 ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ethical Hacking Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「ADの基礎」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEthical Hacking Academyレッスンでコードを書いて実行できますか?
はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。