0%

THM学习日寄11-域学习Active Directory Basics

  • Introduction

    关于 Active Directory 的基本组件介绍

  • Windows Domains

    Windows 域:给定企业管理下的一组用户与计算机,其主要思想是将 Windows 计算机网络常见组件的管理集中到 Active Directory 单个存储库中,运行 AD 的服务为域控制器 Domain Controller DC

    其主要优点在于:

      - 集中身份管理:网络上所有用户都可通过 `AD` 配置
      - 管理安全策略:可以直接从 `AD` 配置安全策略,并应用至网络上的计算机与用户
    

    例子: 在校内任何计算机上用你的账户登录,其都将把身份验证转发回 AD ,并检查凭据

  • Active Directory

    任何 Windows 域的核心都是 Active Directory 域服务,该服务充当目录,保存网络上所有存在对象的信息,包括用户,组,机器,打印机,共享等

    • 用户

      AD 中最常见的对象类型,也是安全主题的对象之一,即题目可以通过域进行身份验证,且可以被分配对文件/打印机的权限

      其可用于表示两种类型的实体:

      • 人员:代表组织中需要访问网络的人员/员工
      • 服务:供 IIS/MSSQL 等服务使用的用户,注意每个服务都需要用户来运行,但服务用户只有运行特定服务所需的权限
    • 机器

      对于加入 AD 域的每台计算机,都会创建一个计算机对象,其也被视为是安全主体,并被分配一个账户

      计算机账户本身是指定计算机上的本地管理员,除了计算机本身不应有任何人访问他们,但如果有密码可以登录

      而机器账户的密码会自动轮换,通常由 $120$ 个随机字符组成

      机器账户有特定的命名方案以便识别,其名称为 计算机名称+$ ,即名为 DC01 的计算机的计算机账户为 DC01$

    • 安全组

      可以定义用户组,把文件及其他资源的访问权限分配给整个组而非单个用户,以实现更好的可管理性。

      组可以同时包含用户和计算机作为成员,甚至是其他组

      默认情况下,域会创建多个组,以下是其中重要的组:

      如果要配置用户,需要登录域控制器并访问 Active Directory用户和计算机

      可以查看域中存在的用户,计算机,组的层次结构,其按照组织单位Organizational Units OU 进行组织,OU 是允许对用户,计算机进行分类的容器对象,用于定义具有相似监管要求的用户组。

      如图,名为 THMOU 有四个 子OU ,且可以查看其包含的用户,也可以重置密码

      当然,除了 THM OU 之外还有其他默认容器,其由 Windows 自动创建

      1
      2
      3
      4
      5
      Builtin:包含可供任何 Windows 主机使用的默认组。
      Computers:默认情况下,任何加入网络的计算机都会放在这里。 如果需要,您可以移动它们。
      Domain Controllers:包含网络中 DC 的默认 OU。
      Users:适用于域范围上下文的默认用户和组。
      Managed Service Accounts:保存 Windows 域中的服务使用的帐户。
    • 安全组与 OU

      OU 将策略应用于用户和计算机,包括用户组相关的特定配置。用户只能在一个 OU 之中,因为不能对同一用户实行两种不同策略

      安全组用于授予对资源的权限,用户可以属于多个组来获得对多种资源的访问权限

  • Managing Users in AD

    模拟对 AD 系统的操作:

    对于删除 OU ,直接删除会报错

    需要去打开 View-Advanced feature

    然后去该 OU 的属性,关闭意外删除保护:

    同时,AD 允许授予特定用户一些 OU 的一定控制权,称为委托。

    常见案例包括授予IT支持重置其他低权限用户密码的权限

    选定被分配权限的 OU ,选择委派控制(Delegate Control)

    题目让找sophie的 flag ,那么先连接到刚刚有权限的

    然后改密码 Set-ADAccountPassword sophie -Reset -NewPassword (Read-Host -AsSecureString -Prompt 'New Password') -Verbose

  • Managing Computers in AD

    但是将所有设备放在 computer 文件夹并不是好办法,因为不便于为服务器与用户日常使用的计算机制定不同策略

    最好来说应该根据设备用途对其进行隔离

    • 工作站

      AD 域中最常见设备之一,域中每个用户都可能登录到工作站以完成工作或进行正常浏览活动,不应该让特权用户登录

    • 服务器

      用来为用户或其他服务器提供服务

    • 域控制器

      用来管理 AD 域,这些设备是网络中最敏感的设备,因为包含了环境中所有用户账户的哈希密码

      为了整理 AD ,可以为工作站和服务器创建两个单独的 OU

      然后把 computers 里面的LPT笔记本电脑和PC个人计算机移到 工作站OU ,服务器移到 服务器OU

      这么做的目的是给每个 OU 单独部署不同的策略

      Windows 通过组策略对象 GPO 管理此类策略,GPO 是可应用于 OU 的设置的集合,可包含针对用户或计算机的策略

      在开始菜单使用 组策略管理 工具

      可以看到默认域策略和 RDP 策略被连接到 thm.local 域,默认域控制器策略被连接到域控制器

      值得注意的是,任何 GPO 都会应用于连接的 OU 及其子 OU ,例:域控制器仍受到默认域策略的影响

      以默认域控制为例:

      可以看到其范围是仅连接到 thm.local 域,安全过滤默认应用于 Authenticated Users 组,其包含所有用户与 PC

      setting 里面是 GPO 实际内容

      GPO 通过 SYSVOL 网络共享分发到网络,该共享存储在 DC 中,域中所有用户都应该有权限访问该共享以定期同步 GPO ,默认情况下该共享指向每台 DC 上的 C:\Windows\SYSVOL\sysvol\ 目录

      通常需要 $2$ 小时来让计算机同步 GPO 设置,但也可以在所需计算机上运行:gpupdate /force 来更新

      现在尝试来创建一个新 GPO 以阻止非 IT 用户访问控制面板

      在用户配置下做以下策略:

      并将其连接到所有无权访问控制面板的用户对应的 OU ,即除 IT 以外的 OU

  • Authentication Methods

    Windows 域存在两种协议进行网络身份认证:

    • Kerberos:新版

      1. 用户将用密码派生的密钥加密的用户名和时间戳发送到密钥分发中心 KDCKDC 创建并发回票证授予票证 TGT ,允许用户请求额外票证来访问特定服务。这允许用户每次连接到服务时只需请求服务票证而无需传递其凭据。同样会发回会话密钥,用来后期请求的生成

      2. 用户尝试连接到网络上服务时,使用 TGTKGT 发送票证授予服务 TGS ,需要用户发送用户名时间戳,以及 TGT 和服务主体名称 SPN

    • NetNTLM:旧版

      1. 客户端向想要访问的服务器发送身份验证请求。

      2. 服务器生成一个随机数并将其作为质询发送给客户端。

      3. 客户端将其 NTLM 密码哈希与质询(以及其他已知数据)相结合,生成对质询的响应,并将其发送回服务器进行验证。

      4. 服务器将质询和响应转发给域控制器进行验证。

      5. 域控制器使用质询重新计算响应并将其与客户端发送的原始响应进行比较。 如果两者匹配,则客户端通过身份验证; 否则,访问将被拒绝。 认证结果发送回服务器。

      6. 服务器将认证结果转发给客户端。

  • Trees, Forests and Trusts

    AD 支持集成多个域,以便将网络划分为可独立管理单元,以下是其实例:

    • tree

      如果 thm.local 域被分为英国和美国分支机构的两个子域,可以构建一个树,其中根域为 thm.local ,两个子域分别为 uk.thm.localus.thm.local,每个都有其 AD、计算机和用户:

      每个分支机构的域管理员将完全控制各自的 DC,但不能控制其他分支机构的 DC

      此时需要引进一个新安全组:企业管理员组将授予用户对所有企业域的管理权限。

    • forests

      将具有不同名称空间的几棵树联合到同一网络则是森林:

    • 信任关系

      排列在树和森林中的域通过信任关系连接到一起,最简单的是单向信任,注意单向信任关系的方向与访问方向相反

      双向信任关系允许两个域相互授权对方的用户。 默认情况下,加入树或森林下的多个域将形成双向信任关系。