1、概述

在这篇文章中,我们将讨论不同的 Active Directory 对象及其基本概念,例如:

  • 为什么域中需要 Active Directory 对象
  • 如何创建它们?
  • 如何枚举 Active Directory 对象

Active Directory 对象

Active Directory 对象是一组表示域中资源的属性。每个 Active Directory 对象都由唯一的 SID(安全标识符)标识,被用来允许或拒绝对域中各种资源的访问。让我们讨论一些属于 Active Directory 的 AD 对象。

2、User Objects (用户对象)

用户对象被分配给域用户帐户,用于获取域资源的访问权限。如果您拥有管理用户对象所需的权限,则可以从 Active Directory 用户和计算机控制台管理这些对象。用户帐户也用于运行程序或系统服务,并由用户SID识别,这与域SID类似,它由域SID和用户RID(相对标识符)组成。

PS C:\Users\scarred.monk> Get-ADUser Scarred.MonkDistinguishedName : CN=Scarred Monk,CN=Users,DC=rootdse,DC=lab
Enabled           : True
GivenName         : Scarred
Name              : Scarred Monk
ObjectClass       : user
ObjectGUID        : 2ba8220b-63db-4dda-b6de-095a7fa0da24
SamAccountName    : Scarred.Monk
SID               : S-1-5-21-580985966-2115238843-2989639066-1107
Surname           : Monk
UserPrincipalName : Scarred.Monk@rootdse.lab

用户对象的 SID

在用户的 SID 值中,S-1-5-21-580985966-2115238843-2989639066 是域 SID(安全标识符),1107 是唯一标识它的用户 RID(相对标识符)。

一个SID可以分为以下几个部分:

(SID)-(Revision Level)-(Identifier-Authority)-(Sub-Authority1)-(Sub-Authority2)...-(RID)

微软对SID组成部分的描述:

  • SID:SID 中的 S 将上述字符串标识为 SID
  • Revision level:SID 结构的修订版本。迄今为止,这从未改变过并且一直是 1
  • **Identifier-Authority: **一个 48 位的颁发机构标识符,用于标识发布/创建 SID 的机构。 (在上述的例子中,标志符颁发机构的值为 5
  • Subauthority: 子颁发机构,这是一个变量编号,用于识别SID所描述的用户或组与创建它的机构的关系。
  • **RID:**相对标识符(RID),它能唯一标识相对于发布SID机构的帐户和组。

在域环境中,你会在多个位置看到用户 SID,例如在事件查看器或 ACL 中。SID也被用于安全描述符中,以存储与权限有关的信息。

下面是事件日志中用户SID的例子:

以下是注册表中用户SID的一个例子:

你可以在 Microsoft Docs 中找到常见的 SID 列表。:Security identifiers (Windows 10) - Windows security | Microsoft Docs

然而,在企业环境中,一个用户可以有一个以上的用户账户来完成不同的任务。例如,一个组织中的系统管理员可以有多个不同的账户,如一个账户用于在分配给他们的笔记本电脑上工作,第二个账户用于在本地域工作,还有几个账户用于在AD林中的其他域工作。

【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注“ csdn ”获取!】

 ① 网安学习成长路径思维导图

 ② 60+网安经典常用工具包

 ③ 100+SRC漏洞分析报告

 ④ 150+网安攻防实战技术电子书

 ⑤ 最权威CISSP 认证考试指南+题库

 ⑥ 超1800页CTF实战技巧手册

 ⑦ 最新网安大厂面试题合集(含答案)

 ⑧ APP客户端安全检测指南(安卓+IOS)

要获取 Active Directory 域中所有用户帐户的详细信息,我们可以使用以下命令:

PS C:\Users\scarred.monk> Get-ADUser -Filter *

这个命令的输出信息非常多,因为它包含了很多关于所有用户的细节。为了只获取用户的少数属性,我们可以使用cmdlet 的Select-Object (它的别名是Select),只选择我们感兴趣的属性,如SamAccountNameSIDenabled(查看账户是否启用/禁用)。

PS C:\Users\scarred.monk> Get-ADUser -f * |select SamAccountName, SID, enabledSamAccountName    SID                                           enabled
--------------    ---                                           -------
Administrator     S-1-5-21-580985966-2115238843-2989639066-500     True
Guest             S-1-5-21-580985966-2115238843-2989639066-501    False
krbtgt            S-1-5-21-580985966-2115238843-2989639066-502    False
MATRIX$           S-1-5-21-580985966-2115238843-2989639066-1103    True
darkvortex$       S-1-5-21-580985966-2115238843-2989639066-1104    True
SQLServiceAccount S-1-5-21-580985966-2115238843-2989639066-1105    True
Scarred.Monk      S-1-5-21-580985966-2115238843-2989639066-1107    True

这里可以使用Filter参数获取用户信息。Filter参数使用PowerShell表达式来编写 Active Directory查询字符串。使用 -F 同-Filter

下面是使用 Filter 参数查找以 admin* 开头的用户帐户的示例:

PS C:\Users\scarred.monk> Get-ADUser -Filter 'Name -like "admin*"'DistinguishedName : CN=Administrator,CN=Users,DC=rootdse,DC=lab
Enabled           : True
GivenName         :
Name              : Administrator
ObjectClass       : user
ObjectGUID        : 061b1157-9a8d-4a34-9304-563a08e3883c
SamAccountName    : Administrator
SID               : S-1-5-21-580985966-2115238843-2989639066-500

当你以域用户身份登录时,域计算机(在其上进行登录尝试)将请求发送到域控制器以进行身份验证,并询问域控制器为用户帐户分配了哪些权限。验证后,计算机会收到来自域控制器的响应,并使用适当的权限和限制让你登录。这是因为域用户帐户的凭据信息存储在域控制器上,而不是用户登录的本地计算机上。

如果要创建新用户可以使用 Cmdlet 的New-ADUser命令:

PS C:\> New-ADUser -Name "AD User" -GivenName AD -Surname User -SamAccountName ad.user -UserPrincipalName ad.user@rootdse.org -AccountPassword (ConvertTo-SecureString password@123 -AsPlainText -Force) -PassThru

3、Computer Objects(计算机对象)

计算机对象代表加入域并由用户用于登录域的机器。当用户以域用户身份登录计算机时,计算机对象将充当向域验证用户身份的媒介。因此,如果计算机对象从域中删除,用户将无法登录,因为计算机将无法访问域控制器。

PS C:\Users\scarred.monk> Get-ADComputer -f *DistinguishedName : CN=RDSEDC01,OU=Domain Controllers,DC=rootdse,DC=lab
DNSHostName       : RDSEDC01.rootdse.lab
Enabled           : True
Name              : RDSEDC01
ObjectClass       : computer
ObjectGUID        : 032428f5-d629-451b-9d1d-46fce3ec0677
SamAccountName    : RDSEDC01$
SID               : S-1-5-21-580985966-2115238843-2989639066-1000
UserPrincipalName :DistinguishedName : CN=SQLSERVER,CN=Computers,DC=rootdse,DC=lab
DNSHostName       :
Enabled           : True
Name              : SQLSERVER
ObjectClass       : computer
ObjectGUID        : d4a1bca9-d729-4d61-90d3-ff33ea9f0c1e
SamAccountName    : SQLSERVER$
SID               : S-1-5-21-580985966-2115238843-2989639066-1106

所有计算机对象都有自己的机器用户,以$结尾。

在这个例子中,计算机对象RDSEDC01的机器账户是RDSEDC01$,这些帐户在域中执行自己的操作。

域中具有三种可以算作计算机对象的对象:

  • 域控制器
  • 域计算机(工作站)
  • 成员服务器

域控制器

域控制器是一个集中式 Windows 服务器,它通过托管 Active Directory 域并向客户端提供身份验证和目录服务来管理域。域控制器只能处理单个域的身份验证请求,但它也可以存储来自林中其他域的对象的部分只读副本(如果它被启用为全局编录服务器)。

要检查域控制器,我们可以使用以下命令:

PS C:\Users\scarred.monk> Get-ADDomainControllerComputerObjectDN           : CN=RDSEDC01,OU=Domain Controllers,DC=rootdse,DC=lab
DefaultPartition           : DC=rootdse,DC=lab
Domain                     : rootdse.lab
Enabled                    : True
Forest                     : rootdse.lab
HostName                   : RDSEDC01.rootdse.lab
InvocationId               : 85a56dee-48fe-4897-8941-50ed5a196849
IPv4Address                : 192.168.209.110
IPv6Address                :
IsGlobalCatalog            : True
IsReadOnly                 : False
LdapPort                   : 389
Name                       : RDSEDC01
NTDSSettingsObjectDN       : CN=NTDS Settings,CN=RDSEDC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=rootdse,DC=lab
OperatingSystem            : Windows Server 2019 Datacenter
OperatingSystemHotfix      :
OperatingSystemServicePack :
OperatingSystemVersion     : 10.0 (17763)
OperationMasterRoles       : {SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster...}
Partitions                 : {DC=ForestDnsZones,DC=rootdse,DC=lab, DC=DomainDnsZones,DC=rootdse,DC=lab, CN=Schema,CN=Configuration,DC=rootdse,DC=lab, CN=Configuration,DC=rootdse,DC=lab...}
ServerObjectDN             : CN=RDSEDC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=rootdse,DC=lab
ServerObjectGuid           : d50faf97-ee22-4724-b248-bf8eeda85c92
Site                       : Default-First-Site-Name
SslPort                    : 636

域计算机(工作站)

域计算机可以由员工使用的个人计算机表示,例如属于域的台式机、笔记本电脑。就 Active Directory 而言,计算机对象与用户对象非常相似,因为计算机对象拥有用户对象的所有属性(计算机对象直接从用户对象类继承)。计算机出现在 Active Directory 中的原因很少,例如需要安全地访问资源、利用 GPO 并为其分配权限。

对象类会在后续的有关AD模式和LDAP的文章中详细解释

为了加入 Active Directory 域并允许域用户登录到该域,域计算机需要一个安全通道来与域控制器通信。安全通道是指可以传输加密数据的经过身份验证的连接。要创建安全通道,域计算机必须向域控制器提供域计算机帐户的密码。与用户帐户身份验证类似,Active Directory 使用 Kerberos 来验证计算机帐户的身份。域控制器通过关联的计算机对象及其存储的密码验证受信任的域计算机。

要检查域计算机,我们可以使用以下命令:

PS C:\Users\scarred.monk> Get-ADComputer -Filter *

成员服务器

域环境中的成员服务器提供不同的服务。这些服务器根据需要提供的服务类型安装了一个或多个角色,例如 Exchange 服务器、Web 服务器、文件服务器、SQL 服务器等。它们可以是 Windows Server 操作系统或 Linux 操作系统。

要检查成员服务器,我们可以使用以下命令:

PS C:\Users\scarred.monk> Get-ADComputer -Filter 'operatingsystem -like "*server*"'

让我们来谈谈下一种 AD 对象,即组对象。

4、组对象

组对象用于包含许多不同的 Active Directory 对象,例如用户、计算机和其他组。这样做是为了通过将权限分配给一组用户/计算机而不是单个帐户、为组创建委派组策略、创建电子邮件分发列表等,使系统管理员的管理更容易。

例如,在一个组织中,不同的团队有不同的组,并根据需要为这些组分配不同的权限。假设有一个名为“DB Admins”的组,该组有权登录并在多个 SQL 服务器上执行少量数据库操作、访问多个 DB 文件共享等。当新用户加入 DB 团队时,IT 团队会将用户添加到该组 (DB ADmins) 中,这将为新用户提供其团队成员拥有的所有访问权限。它节省了 IT 团队为每个用户单独配置权限的时间。

要获取 Active Directory 域中所有组的详细信息,我们可以使用以下命令:

PS C:\Users\scarred.monk> Get-ADGroup -f * | Select-Object namename
----
Administrators
Users
Guests
Print Operators
Backup Operators
Replicator
Remote Desktop Users
Network Configuration Operators
Performance Monitor Users
Performance Log Users
Distributed COM Users
IIS_IUSRS
Cryptographic Operators
Event Log Readers
Certificate Service DCOM Access
RDS Remote Access Servers
RDS Endpoint Servers
RDS Management Servers
Hyper-V Administrators
Access Control Assistance Operators
Remote Management Users
Storage Replica Administrators
Domain Computers
Domain Controllers
Schema Admins
Enterprise Admins
Cert Publishers
Domain Admins
Domain Users
Domain Guests
Group Policy Creator Owners
RAS and IAS Servers
Server Operators
Account Operators
Pre-Windows 2000 Compatible Access
Incoming Forest Trust Builders
Windows Authorization Access Group
Terminal Server License Servers
Allowed RODC Password Replication Group
Denied RODC Password Replication Group
Read-only Domain Controllers
Enterprise Read-only Domain Controllers
Cloneable Domain Controllers
Protected Users
Key Admins
Enterprise Key Admins
DnsAdmins
DnsUpdateProxy

组类型

  • 分发组(Distribution Group)

    分发组(通讯组)是用来在一个组中包括多个用户。当一封电子邮件被发送到一个分发组时,它将被发送到该分发组中的所有用户。例如。名称为Corporate Office的分发组将包括企业办公室的所有用户。当有人向该组发送电子邮件时,它将被发送给所有公司办公室员工。

  • 安全组(Security Group)

    与分发组类似,安全组可以包含用户/计算机帐户或组,用于向组中的用户/计算机提供跨域/林的不同访问和权限。例如,名为 DBAdmins 的安全组可以包含数据库操作团队的所有成员,这些成员可能有权访问多个 SQL 服务器和数据库团队的文件共享。当新的 DB 管理员加入团队时,将用户帐户添加到 DBAdmins 安全组将提供跨 SQL 数据库的所有权限。

    要获取有关安全组的详细信息,我们可以使用GroupCategory -eq "security"这样的过滤器:

    PS C:\Users\scarred.monk> Get-ADGroup -Filter {GroupCategory -eq "security"}
    

    每个组类型有三个组作用域:

    • **Domain local(本地域):**用于仅在创建它的域中管理对不同域资源的访问权限。
    • **Global(全局):**用于提供对另一个域中资源的访问。一个全局组可以添加到其他全局和本地组。
    • **Universal(通用):**用于定义角色和管理分布在多个域中的资源。如果网络连接了多个分支,则最好仅对很少更改的组使用通用组。

Active Directory 中的一些重要组如下:

Admin groups(管理员组)

最重要的组是域管理员(Domain Admin)和企业管理员(Enterprise Admins):

  • Domain Admin(域管理员组)为其域中的成员提供管理员权限。

  • Enterprise Admins 组提供整个林中的管理员权限。

AD中的其他重要群组

除了上面两个重要的组之外,还有其他一些重要的组,你应该注意:

  • Schema Admins:Schema Admins 组的成员可以修改 Active Directory 数据库架构。该组拥有对Acitve Directory架构的完全管理权限

  • DNSAdmins:如果 DNS 服务器角色安装在域中的域控制器上,则 DNSAdmins 组的成员有权访问/修改网络 DNS 信息。 Shay Ber 发表了一篇文章https://medium.com/@esnesenon/feature-not-bug-dnsadmin-to-dc-compromise-in-one-line-a0f779b8dc83,解释了 DNSAdmins 组的成员如何以 SYSTEM 用户身份在域控制器中执行代码(任意 DLL)。

  • Print Operators:如果您在 Print Operators 组中添加用户,则该用户帐户可以登录域控制器。

  • Protected Users:受保护的用户组允许强制实施帐户的安全。该组的成员在身份验证过程中获得了额外的保护,以防止凭据泄露。

  • Server Operators:Server Operators 组的成员可以登录到域控制器并管理其配置。它可以创建和管理该域中的用户和组,但不可以管理服务器管理员账户。

  • Account Operators:Account Operators 组的成员可以创建和修改大多数类型的帐户,包括用户、本地组和全局组的帐户,并且成员可以本地登录到域控制器。但是,帐户操作员组的成员无法管理管理员用户帐户或管理员、Server OperatorsAccount OperatorsBackup Operators,和 Print Operators 。

  • Backup Operators:Backup Operators的成员有权登录、备份、恢复/修改域控制器中的文件。

  • Remote Desktop Users:该组的成员可以通过 RDP 登录到域控制器。如果用户已经有权在本地登录域控制器,则将其添加到该组可以允许用户通过 RDP 远程登录域控制器。如果未启用本地登录并将其添加到此组,则您将看到以下警告:

  • Group Policy Creator Owners:组策略创建者所有者的成员可以编辑域中的 GPO

以下是一些高价值组。这些组的成员默认拥有登录域控制器的权限。如果这些组的账户被入侵,那么AD域就很有可能被入侵。

Administrators
Domain Admins
Enterprise Admins
Print Operators
Backup Operators
Account Operators

Custom groups(自定义组)

除此之外,组织还为 IT 管理员、IT 服务台、SQL 管理员、应用程序管理员等创建自定义特权组。此外,如果我们向服务器添加其他角色,则会创建组。就像我们添加 DHCP 角色时,创建了 DHCP 管理员组或安装 Microsoft Exchange 时,添加了 Exchange 组织管理员和 Exchange Windows 权限组。要获取详细信息,在微软的文档中还有许多其他组的描述:Active Directory Security Groups - Windows security | Microsoft Docs

Shared Folders(共享文件夹)

共享文件夹也是 Active Directory 中的对象。在 AD 中发布新共享时,会为其创建一个对象。这对于 AD 用户轻松找到所有共享非常有帮助。下面是在 AD 中发布的共享文件夹的屏幕截图:

对于渗透测试人员,可以枚举共享以查看哪些是可访问的以及存储在那里的数据。我们可以这样枚举共享:

PS C:\> Get-SmbShareName            ScopeName Path                                         Description
----            --------- ----                                         -----------
ADMIN$          *         C:\Windows                                   Remote Admin
C$              *         C:\                                          Default share
Corporate Files *         C:\ADShares\Corporate Files                  Corporate Files data for 2020
DBA Backup      *         C:\ADShares\DBA Backup                       Romania DB Backup
IPC$            *                                                      Remote IPC
IT Tools        *         C:\ADShares\IT Tools                         IT Team Important Tools
NETLOGON        *         C:\Windows\SYSVOL\sysvol\rootdse.org\SCRIPTS Logon server share
Old Backup      *         C:\ADShares\Old Backup                       All Backup
Operations Team *         C:\ADShares\Operations Team                  Engineering Operations daily data
Salary Details  *         C:\ADShares\Salary Details                   Finance Team 2020
Sales Data      *         C:\ADShares\Sales Data                       Latest Sales Team Shared folder
SYSVOL          *         C:\Windows\SYSVOL\sysvol                     Logon server sharePS C:\> net view \\RDSEDC01
Shared resources at \\RDSEDC01Share name       Type  Used as  Comment-------------------------------------------------------------------------------
Corporate Files  Disk           Corporate Files data for 2020
DBA Backup       Disk           Romania DB Backup
IT Tools         Disk           IT Team Important Tools
NETLOGON         Disk           Logon server share
Old Backup       Disk           All Backup
Operations Team  Disk           Engineering Operations daily data
Salary Details   Disk           Finance Team 2020
Sales Data       Disk           Latest Sales Team Shared folder
SYSVOL           Disk           Logon

在第下次文章中,我们将介绍组策略,它是 Active Directory 的重要元素之一。我们将讨论什么是组策略、为什么需要它们、如何创建它们、使用组策略可以实现什么,并了解如何枚举和破坏组策略。

Active Directory之AD对象相关推荐

  1. Nextcloud集成Active Directory(AD)LDAP用户身份验证

    1.概述 Nextcloud可以与身份管理解决方案(例如LDAP应用程序或Active Directory)集成在一起,以便LDAP或Active Directory上的用户可以出现在我们的Nextc ...

  2. linux单点登录命令,配置RHEV中LINUX 虚拟机使用ACTIVE DIRECTORY(AD域)实现单点登录的方法...

    要配置 Red Hat Enterprise Linux 虚拟机使用 GNOME 和 KDE 图形桌面系统和 Active Directory 服务器实现单点登录,您需要在虚拟机上安装 rhevm-g ...

  3. 如何还原 Active Directory 中已删除的对象

    还原 Active Directory 中已删除的对象 启用 AD 回收站 使用 Powershell 还原删除的对象 使用 LDP 实用程序还原删除的对象 使用 AD 管理中心还原删除的对象 如果 ...

  4. AD RMS (一) Active Directory Rights Management Services (AD RMS) 的新增功能

    此文章是转载:转载地址 https://msdn.microsoft.com/zh-cn/library/hh831554(v=ws.11).aspx Windows Server 2012 中 AD ...

  5. Active Directory授权还原

    Technorati 标签: Active Directory,授权还原 额外域控制器有很多好处,例如可以平衡用户对AD的访问压力,有利于避免唯一的域控制器损坏所导致域的崩溃.域内所有的域控制器都有一 ...

  6. Active Directory系列之五:Active Directory的主要还原

    Active Directory的授权还原 在上篇博文中我们介绍了如何在域中部署额外域控制器,额外域控制器有很多好处,例如可以平衡用户对AD的访问压力,有利于避免唯一的域控制器损坏所导致域的崩溃.从上 ...

  7. 活动目录(Active Directory) 介绍

    比较三个概念: ◆  域(domain):主要用来描述公司的系统架构.是由多台计算机所构成,并且有统一管理特性的系统架构.域的概念和工作组相对应. ◆ 活动目录(Active Directory) 简 ...

  8. Active Directory网域

    Active Directory网域 3.1Windows网络的管理方式 3.1.1工作组模式 工作组由一组用网络连接在一起的计算机组成,他们将计算机内的资源共享给用户访问.工作组网络也被称为&quo ...

  9. Active Directory概述

    活动目录(Active Directory)是面向Windows Standard Server.Windows Enterprise Server以及 Windows Datacenter Serv ...

最新文章

  1. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置显示中位数、分位数)实战
  2. 一个比传统数据库快 100-1000 倍的数据库
  3. shared_ptr 用法
  4. leetcode259. 较小的三数之和
  5. .Net平台开源作业调度框架Quartz.Net
  6. 判断两个图片的特征向量_自媒体图文写多少字效果最好?多少张图片最合适?...
  7. decaNLP-一个可以同时处理机器翻译、问答、摘要、文本分类、情感分析等十项自然语言任务的通用模型
  8. EC-JET喷码机报EC2.01偏转板电压故障
  9. keil添加华大芯片支持jflash下载
  10. 区块链清明上河图 2018Q3
  11. Gauss消去法、列主元素消去法及LU分解法的MATLAB实现
  12. SDN技术的发展应用任重而道远
  13. html 密码不小于六位怎么设置,192.168.1.1登录入口要六位密码是多少?
  14. VGG19图像风格迁移
  15. 【贪玩巴斯】一文学会检索三要素:检索字段、检索词、检索算法检索(二)——「一文学会检索三要素:检索字段、检索词、检索算法」 2021-09-18
  16. 【C++学习笔记】基本内置类型和变量
  17. 什么是“蓝牙距离感应装置”
  18. Python中的numpy.cumsum()
  19. #Eclipse IDE for Java EE Developers 的下载及初步使用
  20. 五分钟学GIS | BIM与三维GIS的融合

热门文章

  1. 词霸天下---词根234【-zo(o)- 动 物】
  2. 计算机三级周跃视频笔记
  3. python tkinter 实现鼠标按下和弹起事件监测
  4. matlab绘制动画保存
  5. Spring 马士兵
  6. 逻辑智力推理题日刷 | Day2
  7. 1,什么是JESD204
  8. 万代南梦宫面向中国市场推出《太鼓达人》限量版月饼
  9. Java飞机大战游戏(需求分析+代码+图片)
  10. caffe+cuda6.5+cudnn7.0+opencv3.0搭建经验记录