资讯详情

Active Directory之AD对象

1、概述

本文将讨论不同的内容Active Directory对象及其基本概念,例如:

  • 域内为何需要?Active Directory对象
  • 如何创造它们?
  • 如何枚举Active Directory对象

Active Directory 对象

Active Directory对象是一组代表域中资源的属性。Active Directory对象是唯一的SID(安全标志符)标志用于允许或拒绝访问域内的各种资源。让我们讨论一些属于Active DirectoryAD对象。

2、User Objects (用户对象)

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

PS C:\Users\scarred.monk> Get-ADUser Scarred.Monk  DistinguishedName : 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 * 

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

PS C:\Users\scarred.monk> Get-ADUser -f * |select SamAccountName, SID, enabled  SamAccountName    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-ADDomainController

ComputerObjectDN           : 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 name

name
----
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-SmbShare

Name            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 share


PS C:\> net view \\RDSEDC01
Shared resources at \\RDSEDC01

Share 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 的重要元素之一。我们将讨论什么是组策略、为什么需要它们、如何创建它们、使用组策略可以实现什么,并了解如何枚举和破坏组策略。

标签: fce连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台