排行榜 统计
  • 文章总数:1135 篇
  • 评论总数:5 条
  • 分类总数:8 个
  • 最后更新:4天前

LDAP简介

本文阅读 9 分钟
首页 常用工具 正文

LDAP全称是Lightweight Directory Access Protocol,轻量目录访问协议。顾名思义,LDAP是设计用来访问目录数据库的一个协议。协议就是标准,并且是抽象的。在这套标准下,AD(Active Directory)是微软的对目录服务数据库的实现。目录服务数据库也是一种数据库,这种数据库相对于我们熟知的关系型数据库(比如MySQL,Oracle),主要有以下几个方面的特点。

  1. 它成树状结构组织数据,类似文件目录一样。

  2. 它是为查询、浏览和搜索而优化的数据库,也就是说LDAP的读性能特别强,但是写性能差,而且还不支持事务处理、回滚等复杂功能。

为了能够访问目录数据库,必须设计一台能够访问目录服务数据库的协议,LDAP是其中一种实现协议。

举个栗子

image-20220222145623825.png

  1. 目录树:如上图所示,在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树,树中的每个节点是一个条目。
  2. 条目:每个条目就是一条记录,每个条目有自己的唯一可区别的名称(DN)。比如图中的每个圆圈都是一条记录。
  3. DN,RDN:比如说第一个叶子条目,他有一个唯一可区分的名称DN:uid=bob,ou=people,dc=acme,dc=org。类似于文件目录的相对路径绝对路径,他除了有个DN之外,还有个RDN,他与目录结构无关,比如之前咱们提过的uid=bob,ou=people,dc=acme,dc=org,他的RDN就是uid=bob
  4. 属性:描述条目具体信息。比如``uid=bill,ou=people,dc=acme,dc=org`,他有属性name 为bill,属性age为11,属性school 为xx。


    image-20220222145826785.png

2.Active Directory简介

上面讲过AD(Active Directory)是微软的对目录服务数据库的实现,Active Directory存储着整个域内所有的计算机,用户等的所有信息。换言之,在渗透测试中,通过Active Directory对域环境进行信息收集,是一种十分全面也有效的手段之一。那么,我们如何访问域内的Active Directory呢?

  1. 通过连接域控的389/636端口(636端口是LDAPS)来进行连接查看修改。
  2. 如果需要在整个林中进行搜索,而不单单是在具体的某个域进行搜索的时候,可以连接域控的3268/3269端口。

3.Active Directory详解

接下来我们来具体的探究下Active Directory具体有啥东西。

3.1.Naming Context

Active Directory具有分布式特性,一个林中有若干个域,每个域内有若干台域控,每台域控有一个独立的Active Directory。微软将Active Directory划分为若干个分区(这个分区我们称为Naming Context,简称NC),每个Naming Context都有其自己的安全边界。

Active Directory预定义了三个Naming Context

  • Configuration NC(Configuration NC)
  • Schema NC(Schema NC)
  • Domain NC(DomainName NC)

使用ADExplorer连接进来就可以看到这三个:


image-20220222151146496.png

3.1.1.Configuration NC

配置NC,林配置信息的主要存储库,包含有关站点,服务,分区和Active DirectorySchema 的信息,并被复制到林中的每个域控制器。

Naming Context的顶级容器有:


image-20220222151505620.png

RDN 说明
CN=DisplaySpecifiers 定义了Active Directory管理单元的各种显示格式
CN=Extended-Rights 扩展权限对象的容器
CN=ForestUpdates 包含用于表示森林状态和与域功能级别更改的对象
CN=Partitions 包含每个Naming Context,Application Partitions以及外部LDAP目录引用的对象
CN=Physical Locations 包含位置对象,可以将其与其他对象关联 以表示该对象的位置
CN=Services 存储有关服务的配置信息,比如文件复制服务
CN=Sites 包含所有站点拓扑和复制对象
CN=WellKnown Security Principals 包含常用的外部安全性主题的对象,比如Anonymous,Authenticated Users,Everyone等等

3.1.2.Schema NC (Schema NC)

Schema NC 包含表示 Active Directory 支持的类和属性的对象。schema是在林范围内定义的,因此Schema NC被复制到林中的每个域控制器。Schema NC 的根可以在 Schema 容器中找到,尽管 Schema container看起来是 Configuration container的子容器,但实际上它本身就是单个容器。(Although the Schema container appears to be a child of the Configuration container, it is actually a separate naming context in its own right. )

3.1.3.Domain NC (DomainName NC)

image-20220222154014278.png


之前我们说过,域内的所有计算机,所有用户的具体信息都存在Active Directory底下,具体来说,就是在Active Directory的这个Naming Context里面。我们用工具查看的默认Naming Context选的也是这个Naming Context。后面对域内很多东西的查看都在这个Naming Context里面进行。

RDN 说明
CN=Builtin 内置本地安全组的容器,包括管理员,域用户和账号操作员等等
CN=Computers 机器用户的容器,包括加入域的所有机器
OU=Domain Controllers 域控制器的容器,包括域内所有域控
CN=ForeignSecurityPrincipals 代表域中来自森林外部域的组中的成员
CN=Keys Server 2016之后才有,关键凭证对象的默认容器
CN=Managed Service Accounts 托管服务帐户的容器
CN=System 各种预配置对象的容器。包括信任对象,DNS对象和组策略对象
CN=TPM Devices 可信平台模块(TPM)密钥的恢复信息的容器
CN=Users 用户和组对象的默认容器

3.2.Application Partitions

从 Windows Server 2003 开始,微软允许用户自定义分区来扩展Naming Context的概念。Application Partitions其实就是Naming Context的一个扩展,它本质上还是属于Naming Context。

关于Application Partitions有一些限制需要注意:

  • Application Partitions不能包含安全主体,主要包括user、inetOrgPerson、group和computer objects。 可以在Application Partitions中创建任何其他类型的对象。

  • Application Partitions中包含的所有对象都不会复制到全局目录(Global Catalog)中。 即使拥有Application Partitions副本的域控也是Global Catalog server(全局编录服务器),域控也不会在进行全局目录(Global Catalog)搜索时从Application Partition返回任何对象。

  • Application Partitions中的对象不能移出分区。 这与域中包含的对象不同,后者可以在域之间移动。

4.组

组(Group)是用户账号的集合。通过向一组用户分配权限,就可以不必向每个用户分别分配权限了。按照用途来分,组分为通讯组和安全组。

5.OU

组织单位(Organization Unit),简称OU,是一个容器对象,将域中的对象组织成逻辑组,帮助网络管理员简化管理组。组织单位包含下列类型的对象:用户,计算机,工作组,打印机,安全策略,其他组织单位等。可以在组织单位基础上部署组策略,统一管理组织单位中的域对象。 在企业域环境里面,我们经常看到按照部分划分的一个个OU。

5.1.OU跟组的区别

组织单位跟组是两个完全不同的概念。很多人经常会把这两个弄混。组是权限的集合。OU是管理对象的集合。举个例子,运维需要对公司的网络进行管理,需要一些特殊的管理权限,我们就可以设置个组,对组配置权限。然后将运维拉近组里面,组里面的运维就拥有了该权限。比如我们需要对财务部里面的用户进行统一管理,那我们可以设置个OU,然后把财务部的用户拉近这个OU,这样就可以进行集中管理,比如说下发组策略。说通俗点,组是管理的集合,OU是被管理的集合。

6.相关工具

  • ADSI 编辑器
    微软自带


    image-20220224094516146.png

  • LDP
    微软自带


    image-20220224094617815.png

  • ADexplorer


    image-20220224094742770.png

  • adfind && admod
    adfind用于查询,admod用于修改


    image-20220224094903524.png

  • ldapsearch
    Linux下用的多
    ldapsearch -h 127.0.0.1 -p 389 -x -b "ou=People,dc=example,dc=org" -D "cn=aaa,dc=example,dc=org" "(&(objectClass=inetOrgPerson)(cn=userid))" -W

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://typecho.firshare.cn/archives/921.html
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。避免网络欺诈,本站不倡导任何交易行为。如您私自与本站转载自公开互联网中的资讯内容中提及到的个人或平台产生交易,则需自行承担后果。本站在注明来源的前提下推荐原文至此,仅作为优良公众、公开信息分享阅读,不进行商业发布、发表及从事营利性活动。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。
-- 展开阅读全文 --
鼠标右键新建没有excel解决办法
« 上一篇 10-10
HTML元素在移动端和电脑端显示或不显示的两种设置方法
下一篇 » 10-10