LDAP协议 学习

本文介绍了LDAP协议,它是基于X.500标准的轻量级目录访问协议,常用于目录信息树的构建。内容包括LDAP的基本模型,如目录树、条目、对象类和属性,并提到了Active Directory和OpenLDAP的实现。此外,还列举了几个用于查询和管理LDAP数据的工具,如adfind.exe、powerview和ADExplorer。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LDAP简介

  • LDAP(Light Directory Access Portocol)是基于X.500标准的轻量级目录访问协议。LDAP协议之前有一个X.500 DAP协议规范,该协议什么复杂,是一个重量级的协议,后来对X.500进行了简化,诞生了LDAP协议,与X.500相比变得较为轻量,其实LDAP协议依然复杂。
  • LDAP约定了Client、Server之间的信息交换格式、使用的端口号、认证方式等内容。
  • 而LDAP协议的实现,有着众多版本,例如微软的Active Directory是LDAP在Windows上的实现,AD实现了LDAP所需的树形数据库、具体如何解析请求数据并到数据库查询然后返回结果等功能。
  • 再例如OpenLDAP是可以运行在Linux上的LDAP协议的开源实现。而我们平时说的LDAP Server,一般是指安装并配置了Active Directory、OpenLDAP这些程序的服务器。

LDAP的基本模型

LDAP的目录树概念:

  • 目录树:在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树,树中的每个节点是一个条目。
  • 条目:每个条目就是一条记录,每个条目有自己的唯一可区别的名称(DN)。
  • 对象类:objectClass,与某个实体类型对应的一组属性,对象类是可以继承的,这样父类的必须属性也会被继承下来。
  • 属性:描述条目的某个方面的信息,一个属性由一个属性类型和一个或多个属性值组成,属性有必须属性和非必须属性。

LDAP目录以树状的层次结构来存储数据,最顶层即根部称作“基准DN”,形如“dc=mydomain,dc=org”或者“o=mydomain.org”,前一种方式更为灵活也是Windows AD中使用的方式。在根目录的下面有很多的文件和目录,为了把这些大量的数据从逻辑上分开,LDAP像其他的目录服务协议一样使用OU(Organization Unit),可以用来表示公司内部机构,如部门等,也可以用来表示设备、人员等。同时OU还可以有子OU,用来表示更为细致的分类。LDAP中每一条记录都有一个唯一的区别于其他记录的名字DN(Distinguished Name),其处在“叶子”位置的部分称作RDN;如dn:cn=Jerry,ou=animals,dc=mydomain,dc=org,中,Jerry即为RDN;RDN在一个OU中必须是唯一的。

因为LDAP数据是树状的,而且这棵树是可以无限延伸的,假设你要树上的一个苹果(一条记录),该如何告诉园丁它的位置呢?当然首先要说明是哪一棵树(DC),然后是从树根到那个苹果所经过的所有“分叉”(OU),最后就是这个苹果的名字(CN)。知道了树(dc=test,dc=lab),分叉(ou=left,ou=right),苹果(cn=apple),就可以找到苹果了:

dn:cn=apple,ou=left,ou=right,dc=test,dc=lab

利用LDAP获取域信息的工具

  • adfind.exe
  • powerview
  • ADExplored:包含在Mark Russinovich(微软Azure的CTO)的sysinternals工具集,是独立的可执行软件,无需安装。除了查询域信息外,ADExplorer还可以拍摄快照,可以快照保存本地,并可以使用ADExplorer打开进行操作。
  • Ldapsearch:是类unix下一款用于AD信息查询的工具,Kali中自带。
  • LDAPDomainDump:为Python开发,可以通过LDAP收集和解析数据,并将其输出为HTML格式和机器可读的JSON和CSV/TSV格式。

获取域信息实例

测试环境

  • 域控:192.168.184.135
  • 域用户凭证:test\user1 : !QAZ2wsx3edc(域内、域外皆可)
  • 使用工具:Adfind.exe
#查询域内所用用户详细信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc u:*

#查询域内特定用户详细信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc u:user1

#查询域内特定用户特定信息(mail)
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc u:user1 mail

#查询域内所有用户dn信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc u:* -dn

#查询域内用户数量
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc u:* -c

#查询域内所有组详细信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc g:* 

#查询域内组名内包含“Admin”的所有组详细信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc g:*Admin*

#查询域内所有OU详细信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc o:* 

#查询域内所有计算机详细信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc c:* 

#查询域内所有站点详细信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc site:* 

#查询域内所有子网详细信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc subnet:* 

#查询域的信任关系
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc trustdmp

#查询域内spn的详细信息
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -sc spn:*

#搜索禁用的用户dn
adfind -h 192.168.184.135 -u test\user1 -up !QAZ2wsx3edc -b DC=test,DC=lab -f userAccountControl:AND:=514 -dn


 : )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值