TryHackMe: Active Directory Basics Writeup

TryHackMeのActive Directory Basicsのwriteupおよびメモ。

Active Directory 用語のメモ

Active Directory Basicsで解説されていた内容を自分なりにまとめてみた。

Windows Domain

ドメイン。複数のユーザーやコンピューターをひとまとめにしたもののこと。

Domain Controller (DC)

ドメインコントローラー。ドメインを管理するサーバー。厳密にはActive Directoryサービスを実行・管理するサーバーのこと。

ドメインを管理するためのサービスのこと。Active Directory (AD)はドメインの「目録」のような役割を果たす。ユーザーやグループなどのオブジェクトで構成されている。

Users

ユーザー。主に以下の2種類に分けられる。

Users説明
Peopleドメイン内のシステムやサービスにアクセスする人間のユーザー。従業員など。
ServicesIISやMSSQLなどのサービスが使用するユーザー。

Machines

マシン 。機器。コンピューターがドメインに参加すると、マシン・オブジェクトが作成される。同時にマシン用のマシン・アカウントも作成される。

マシン・アカウントは対象のコンピューターに対して管理者権限を有する。コンピューター自身が使用するアカウントで、人間のユーザーが使用することは基本的に無いが、パスワードを知っていれば人間のユーザーでも使用可能である。(※ マシン・アカウントのパスワードは通常、120文字のランダムな文字列から成り、自動的に更新される)

マシン・アカウントのアカウント名には以下の規則性がある。

<コンピュータ名><$>

例えば、PC01という名前のコンピューターの場合、マシン・アカウント名はPC01$となる。

Security Group

グループ。複数のユーザーをひとまとめにしたもの。ユーザーをグループ化することによって、諸々のシステム管理を効率的に行える。

以下は主要なSecurity Group。その他のグループについてはMicrosoftの公式ドキュメントを参照。

Security Group説明
Domain Adminsドメインの管理用グループ。このグループに属するユーザーはデフォルトでドメインコントローラーを含めたドメイン内のあらゆるコンピューターに対して管理者権限を有する。
Server Operatorsこのグループに属するユーザーはドメインコントローラーを管理することが出来るが、管理グループのメンバーシップを変更することはできない。
Backup Operatorsこのグループに属するユーザーはパーミッションを無視して、あらゆるファイルにアクセスできる。主にデータのバックアップに使用されるグループ。
Account Operatorsこのグループに属するユーザーはドメイン内に新たなアカウントを作成したり、既存のアカウントを変更することが出来る。
Domain Usersこのグループにはドメイン内の全てのアカウントが含まれている。
Domain Computersこのグループにはドメイン内の全てのコンピューターがが含まれている。
Domain Controllersこのグループにはドメイン内の全てのドメインコントローラーが含まれている。

Organizational Units (OU)

ユーザーやコンピューターを系統ごとにまとめたもの。

以下はデフォルトで作成されるOUの一覧。

OU説明
Builtinデフォルトのグループを保持している。
Computersドメインに参加した機器はこのOUに加えられる。必要に応じて機器を別のOUに移動させることができる。
Domain Controllersドメイン内のドメインコントローラーを保持している。
Usersデフォルトのユーザーとグループを保持している。
Managed Service Accountsサービスが使用するアカウントを保持している。

Security Group vs OU

  • ユーザーやコンピューターに対してグループ・ポリシーを適用する際は主にOUに適用する。(グループ・ポリシーについては後述)
  • 共有フォルダやネットワーク・プリンターなどの資源に対するパーミッションを適用する際は主にSecurity Groupに適用する。

Delegation

委任。特定のOUへの管理権限をユーザーに委任することで、ドメイン管理者が出張る必要が無くなる。例えば、IT部門のユーザーにほかのOUに所属するユーザーのパスワードの変更権を委任するなど。

Group Policy

グループ・ポリシー。ユーザーやコンピューターに対して適用する設定群のこと。

以下はポリシーで設定できることの一例。

  • パスワードの最低文字数。
  • コンピュータの画面をN分後にロックする。
  • コントロールパネルへのアクセスを制限する。

ポリシーはOU単位で適用される。グループ・ポリシーの設定や変更はGroup Policy Object (GPO)を介して行う。

GPOの適用は、ドメインコントローラーに存在するSYSVOLと呼ばれるネットワーク共有フォルダを介して行われる。ドメイン内のユーザーは基本的にこのSYSVOLフォルダへのアクセス権を有しており、定期的にアクセスしてGPOを同期している。

SYSVOLフォルダはデフォルトでドメインコントローラーのC:\Windows\SYSVOL\sysvol\に作成される。

Tree

ツリー。共通のnamespace (名前空間)を持つ複数のドメインをひとまとめにしたもの。ルート・ドメインをトップに据えたツリー上の構造をしている。

Forest

フォレスト。異なるnamespaceを持つツリー同士をひとまとめにしたもの。

Trust Relationship

信頼関係。フォレスト内のツリー同士がお互いのドメイン内の機器にアクセスするための仕組み。

one-way trust relationship (一方向性信頼関係) と two-way trust relationships (双方向性信頼関係) の2つがある。

one-way trust relationship

ドメインAAAがドメインBBBを信頼した場合、ドメインBBB内のユーザーはドメインAAA内の資源にアクセスすることが出来る。

two-way trust relationships

ドメインAAAとドメインBBBがお互いを信頼した場合、ドメインBBB内のユーザーはドメインAAA内の資源にアクセスでき、ドメインAAA内のユーザーはドメインBBB内の資源にアクセスできる。

デフォルトではtwo-way trust relationshipsが採用される。

Kerberos認証

KerberosはWindows ドメイン内で使用される認証方式の一つである。

以下は認証の流れ。

  1. ユーザーはKey Distribution Center (KDC、ドメインコントローラーが兼任している場合がほとんど) にTicket Granting Ticket (TGT)と呼ばれるチケットを要求する。
  2. KDCはセッション鍵とともにTGTをユーザーに送信する。その際、TGTはkrbtgtというアカウントのパスワード・ハッシュを用いて暗号化される。
  3. ユーザーがドメイン内のファイルサーバーやWebサーバー、データベースなどにアクセスしたい場合、TGTをKDCに送信して、サービスにアクセスするためのTicket Granting Service (TGS)と呼ばれるチケットを要求する。
  4. TGSを要求する際、ユーザーはユーザー名と現在時刻を2.で入手したセッション鍵を用いて暗号化し、TGTとService Principal Name (SPN)とともにKDCに送信する。※ SPNとはサービスとサーバーを識別するための識別子のこと。
  5. KDCはサービス・セッション鍵とともにTGSをユーザーに送信する。その際、TGSはサービス・アカウントのパスワード・ハッシュを用いて暗号化される。ここで言うサービス・アカウントとはサービスを実行しているユーザーもしくはマシン・アカウントのこと。
  6. KDCからTGSを受け取ったユーザーは、対象のサーバーに対してTGSを送信する。
  7. TGSを受け取ったサーバーは、サービス・アカウントのパスワード・ハッシュを用いてTGSを復号し、検証する。検証の結果、問題が無ければサービスへのアクセスを許可する。

より正確な流れを知りたい場合は下記のMicrosoft公式のドキュメントを参照。

  • TGT取得の流れについてはこちら
  • TGS取得の流れについてはこちら
  • TGSを用いたサーバーへの認証の流れについてはこちら

NTLM認証

NTLMはWindows ドメイン内で使用される認証方式の一つである。

以下は認証の流れ。

  1. クライアントはアクセスしたいサーバーに対して認証要求を送る。
  2. サーバーはランダムな数字を生成し、チャレンジとしてクライアントに送信する。
  3. クライアントは自身のNTLMパスワード・ハッシュ等をチャレンジと組み合わせて、レスポンスとしてサーバーに送信する。
  4. サーバーはチャレンジおよびレスポンスをドメインコントローラーに転送する。
  5. ドメインコントローラーはチャレンジを用いてレスポンスを再計算し、送られてきたレスポンスと比較する。両者が一致すればクライアントの認証を許可し、一致しなければクライアントを拒否する。認証の結果はサーバーへと送信される。
  6. サーバーはドメインコントローラーから受け取った認証結果をクライアントへ転送する。

※上記の流れはドメイン・アカウントを認証する場合のものである。ドメインに参加していないローカル・アカウントを認証する場合はドメインコントローラーを介さずにサーバーが認証を請け負う。

Kali LinuxからRDP接続するには

Kali LinuxからRDP接続するにはxfreerdpを使うのが手っ取り早い。

xfreerdp /d:domain /u:username /p:password /v:target_IP

Task 2: Windows Domains

In a Windows domain, credentials are stored in a centralised repository called…

Active Directory

The server in charge of running the Active Directory services is called…

Domain Controller

Task 3: Active Directory

Which group normally administrates all computers and resources in a domain?

Domain Admins

What would be the name of the machine account associated with a machine named TOM-PC?

TOM-PC$

Suppose our company creates a new department for Quality Assurance. What type of containers should we use to group all Quality Assurance users so that policies can be applied consistently to them?

Organizational Units

Task 4: Managing Users in AD

What was the flag found on Sophie's desktop?

以下のxfreerdpコマンドでユーザーSophieとしてログオンする。

xfreerdp /d:THM /u:sophie /p:Hogefuga2024 /v:10.10.176.239

デスクトップにflagというテキストファイルがあるので、これを開く。

The process of granting privileges to a user over some OU or other AD Object is called…

Delegation

Task 5: Managing Computers in AD

After organising the available computers, how many ended up in the Workstations OU?

7

Is it recommendable to create separate OUs for Servers and Workstations? (yay/nay)

yay

Task 6: Group Policies

What is the name of the network share used to distribute GPOs to domain machines?

SYSVOL

Can a GPO be used to apply settings to users and computers? (yay/nay)

yay

Task 7: Authentication Methods

Will a current version of Windows use NetNTLM as the preferred authentication protocol by default? (yay/nay)

nay

When referring to Kerberos, what type of ticket allows us to request further tickets known as TGS?

Ticket Granting Ticket

When using NetNTLM, is a user's password transmitted over the network at any point? (yay/nay)

nay

Task 8: Trees, Forests and Trusts

What is a group of Windows domains that share the same namespace called?

Tree

What should be configured between two domains for a user in Domain A to access a resource in Domain B?

A trust relationship

Leave a Reply

Your email address will not be published. Required fields are marked *