TryHackMeのActive Directory Basicsのwriteupおよびメモ。
- Active Directory 用語のメモ
- Kali LinuxからRDP接続するには
- Task 2: Windows Domains
- Task 3: Active Directory
- Task 4: Managing Users in AD
- Task 5: Managing Computers in AD
- Task 6: Group Policies
- Task 7: Authentication Methods
- Task 8: Trees, Forests and Trusts
Active Directory 用語のメモ
Active Directory Basicsで解説されていた内容を自分なりにまとめてみた。
Windows Domain
ドメイン。複数のユーザーやコンピューターをひとまとめにしたもののこと。
Domain Controller (DC)
ドメインコントローラー。ドメインを管理するサーバー。厳密にはActive Directoryサービスを実行・管理するサーバーのこと。
Active Directory (AD)
ドメインを管理するためのサービスのこと。Active Directory (AD)はドメインの「目録」のような役割を果たす。ユーザーやグループなどのオブジェクトで構成されている。
Users
ユーザー。主に以下の2種類に分けられる。
Users | 説明 |
People | ドメイン内のシステムやサービスにアクセスする人間のユーザー。従業員など。 |
Services | IISや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 ドメイン内で使用される認証方式の一つである。
以下は認証の流れ。
- ユーザーはKey Distribution Center (KDC、ドメインコントローラーが兼任している場合がほとんど) にTicket Granting Ticket (TGT)と呼ばれるチケットを要求する。
- KDCはセッション鍵とともにTGTをユーザーに送信する。その際、TGTはkrbtgtというアカウントのパスワード・ハッシュを用いて暗号化される。
- ユーザーがドメイン内のファイルサーバーやWebサーバー、データベースなどにアクセスしたい場合、TGTをKDCに送信して、サービスにアクセスするためのTicket Granting Service (TGS)と呼ばれるチケットを要求する。
- TGSを要求する際、ユーザーはユーザー名と現在時刻を2.で入手したセッション鍵を用いて暗号化し、TGTとService Principal Name (SPN)とともにKDCに送信する。※ SPNとはサービスとサーバーを識別するための識別子のこと。
- KDCはサービス・セッション鍵とともにTGSをユーザーに送信する。その際、TGSはサービス・アカウントのパスワード・ハッシュを用いて暗号化される。ここで言うサービス・アカウントとはサービスを実行しているユーザーもしくはマシン・アカウントのこと。
- KDCからTGSを受け取ったユーザーは、対象のサーバーに対してTGSを送信する。
- TGSを受け取ったサーバーは、サービス・アカウントのパスワード・ハッシュを用いてTGSを復号し、検証する。検証の結果、問題が無ければサービスへのアクセスを許可する。
より正確な流れを知りたい場合は下記のMicrosoft公式のドキュメントを参照。
NTLM認証
NTLMはWindows ドメイン内で使用される認証方式の一つである。
以下は認証の流れ。
- クライアントはアクセスしたいサーバーに対して認証要求を送る。
- サーバーはランダムな数字を生成し、チャレンジとしてクライアントに送信する。
- クライアントは自身のNTLMパスワード・ハッシュ等をチャレンジと組み合わせて、レスポンスとしてサーバーに送信する。
- サーバーはチャレンジおよびレスポンスをドメインコントローラーに転送する。
- ドメインコントローラーはチャレンジを用いてレスポンスを再計算し、送られてきたレスポンスと比較する。両者が一致すればクライアントの認証を許可し、一致しなければクライアントを拒否する。認証の結果はサーバーへと送信される。
- サーバーはドメインコントローラーから受け取った認証結果をクライアントへ転送する。
※上記の流れはドメイン・アカウントを認証する場合のものである。ドメインに参加していないローカル・アカウントを認証する場合はドメインコントローラーを介さずにサーバーが認証を請け負う。
Kali LinuxからRDP接続するには
Kali LinuxからRDP接続するにはxfreerdp
を使うのが手っ取り早い。(/size
で画面サイズをデフォルトより大きめに設定し、+clipboard
でホストマシンとクリップボードを共有。これでホストマシンから接続先へファイル等をコピペできる。)
xfreerdp /d:domain /u:username /p:password /size:95% +clipboard /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