LDAP简介

1.LDAP简介

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
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容