0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Active Directory 環境におけるユーザー・グループ列挙入門(初期侵入後の AD Enum 実践)

0
Posted at

はじめに

Active Directory(AD)環境に侵入できた場合、**最初にやるべきことの一つがアカウントディスカバリー(Account Discovery)**です。
これは「今、自分は誰としてログインしているのか」「他にどんなユーザー・グループ・権限が存在するのか」を把握するための重要なステップです。

本記事では、AD 環境における アカウント種別の整理 と、PowerShell を使った基本的なユーザー列挙(AD Enum) の方法を解説します。


1. なぜ最初にアカウント列挙をするのか?

初期侵入(Initial Access)直後の状況では:

  • 今のユーザーは どの権限を持っているのか?
  • 他に 狙えそうなアカウント はいるか?
  • 管理者権限への昇格ルート は存在するか?

これらはすべて AD 内のユーザー・グループ情報 を調べることで見えてきます。

つまり、アカウント列挙は:

「このドメインの攻略マップを作る最初の一歩」

と言っても過言ではありません。


2. Active Directory に存在する主なアカウント種別

AD 環境には、目的ごとにいくつかの種類のアカウントが存在します。

2.1 ビルトインローカルユーザー(Built-in Local Users)

  • 各マシンに ローカルで存在 するアカウント
  • AD には属さない
  • 例:Administrator, Guest(ローカル)

ドメイン環境とは別枠の存在


2.2 ドメインユーザー(Domain Users)

  • Active Directory によって 集中管理されるユーザー
  • ドメイン参加マシンにログイン可能
  • AD サービス(Kerberos, LDAP など)を利用可能

通常の社員アカウントや一般ユーザーはここ


2.3 管理されたサービスアカウント(Managed Service Accounts)

  • AD が管理する サービス用の特殊アカウント
  • 一般ユーザーより 高い権限 を持つことが多い
  • 設定ミスがあると 権限昇格の踏み台 になりがち

2.4 ドメイン管理者(Domain Administrators)

  • AD 環境の 最上位権限
  • 管理できるもの:
    • ユーザー / グループ
    • GPO
    • サーバー
    • ドメイン設定
    • ほぼすべて

Red Team の最終目標は、ほぼ確実に Domain Admin の奪取 です。


3. 代表的な AD 管理者グループ

AD には、用途別に強力な権限グループが用意されています:

グループ名 権限
BUILTIN\Administrator ドメインコントローラのローカル管理者
Domain Admins ドメイン内すべてのリソース管理
Enterprise Admins フォレスト全体の管理(ルートドメインのみ)
Schema Admins スキーマ変更可能(攻撃者的に超重要)
Server Operators ドメインサーバー管理可能
Account Operators 特権グループ以外のユーザー管理可能

これらのグループに 誰が入っているか は、最優先で確認すべきポイントです。


4. AD 環境の列挙(AD Enumeration)の考え方

マシンが AD に参加していると分かったら、次のフェーズは:

  • ユーザーの列挙
  • グループの列挙
  • 権限の関連性の把握
  • 攻撃パスの発見

ここではまず PowerShell を使ったユーザー列挙 から始めます。


5. PowerShell で AD ユーザーを列挙する

5.1 全ユーザーを取得する

ActiveDirectory モジュールが使える場合、次のコマンドで 全ユーザー を取得できます:

Get-ADUser -Filter *

出力例:

DistinguishedName : CN=Administrator,CN=Users,DC=thmredteam,DC=com
Enabled           : True
Name              : Administrator
SamAccountName    : Administrator
SID               : S-1-5-21-1966530601-3185510712-10604624-500

ここで注目すべきポイント:

  • SamAccountName → ログイン名
  • DistinguishedName → AD 内での配置場所
  • SID → セキュリティ識別子(重要)

6. Distinguished Name(DN)とは?

AD ではオブジェクトの場所を DN(Distinguished Name) で表します。

例:

CN=User1,CN=Users,DC=thmredteam,DC=com

構造的には:

  • DC=thmredteam,DC=com → ドメイン
  • CN=Users → Users コンテナ
  • CN=User1 → ユーザーオブジェクト

つまり:

「ドメインの中の、Users コンテナの中の、User1」

という 階層構造のパス を表しています。


7. SearchBase を使って特定コンテナ配下だけを列挙する

たとえば、CN=Users 配下のユーザーだけを取得したい場合:

Get-ADUser -Filter * -SearchBase "CN=Users,DC=THMREDTEAM,DC=COM"

これにより:

  • Users コンテナ配下のユーザーのみ表示
  • OU ごとにスコープを絞った列挙が可能

8. 実践課題:THM OU 配下のユーザーを探す

ラボでは次のようなことを試します:

  • OU=THM 配下を SearchBase に指定
  • その中に存在する 全ユーザーを列挙
  • 結果から「どんなアカウントがいるか」を確認

例(イメージ):

Get-ADUser -Filter * -SearchBase "OU=THM,DC=THMREDTEAM,DC=COM"

環境によっては 複数ユーザーが返る ので、そこから次の攻撃対象を考える、という流れになります。


Red Team 視点まとめ

  • AD 列挙の第一歩は ユーザーとグループの把握

  • 特に注目すべきは:

    • Domain Admins
    • 高権限サービスアカウント
    • OU ごとの管理者
  • DN と SearchBase を使いこなすと ピンポイント列挙 が可能

  • ここで得た情報が:

    権限昇格・ラテラルムーブメント・ドメイン制圧へのルート設計
    に直結する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?