服务热线
15527777548/18696195380
发布时间:2021-08-06
简要描述:
前言这又是一个关于域内基础概念与原理的系列,本系列将包含以下几篇文章:《内网渗透测试:内网环境与活动目录基础概念》《内网渗透测试:活动目录 Active Directory 的查询》《内...
这又是一个关于域内基础概念与原理的系列,本系列将包含以下几篇文章:
《内网渗透测试:内网环境与活动目录基础概念》
《内网渗透测试:活动目录 Active Directory 的查询》
《内网渗透测试:域用户组及域内权限划分》
《内网渗透测试:OU 组织单位》
《内网渗透测试:域用户和机器用户》
《内网渗透测试:域内权限访问控制》
《内网渗透测试:Windows 令牌窃取》
《内网渗透测试:Windows 组策略讲解》
《内网渗透测试:Windows 组策略后门》
在上一节中,我们介绍了活动目录 Active Directory 的一些基本概念,活动目录中存储了域内的大部分信息,域内的每一台域控都有一份完整的本域的 Active Directory,我们可以通过连接域控的指定端口(636端口是LDAPS)来进行访问、查询与修改。
BaseDN 即基础可分辨名称,其指定了这棵树的根。比如指定 BaseDN 为DC=whoamianony,DC=org
就是以DC=whoamianony,DC=org
为根往下搜索,类似于在文件系统中指定了一个根目录:
若指定 BaseDN 为CN=Computers,DC=whoamianony,DC=org
那么就是以CN=Computers,DC=whoamianony,DC=org
为根往下搜索
LDAP 搜索过滤器语法有以下逻辑运算符:
运算符 | 说明 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
属性名称>:BitFilterRule-ID>:=十进制比较值> 其中的
比如我们查询域内所有设置了 NOT_DELEGATED 位的所有对象,NOT_DELEGATED 对应的十进制比较值位 1048576,那么根据语法,我们便可以构造以下过滤语法: (userAccountControl:1.2.840.113556.1.4.803:=1048576) Active Directory 访问查询工具ADSI 编辑器ADSI Edit(AdsiEdit.msc)是一个 Microsoft Windows Server 工具,可用于通过 Active Directory 活动目录服务接口(ADSI)查看和编辑原始 Active Directory 目录服务属性。ADSI Edit 适用于编辑 Active Directory 中的单个对象或少量对象。ADSI Edit 不具备搜索功能。因此,必须预先知道要编辑的对象及其在 Active Directory 中的位置。 在域控中(普通域成员主机没有 ADSI 编辑器)执行 adsiedit.msc 打开 ADSI 编辑器,“操作” —> “连接” 即可: LDPLDP 是微软自带的一款域内信息查询工具,在域控中执行 ldp 即可打开 LDP。普通域成员主机默认是没有LDP的,可以自行上传 ldp.exe 工具上去。 打开 LDP 后,输入域控的 IP 和 389 端口进行连接: 然后点击 “连接” —> “绑定”,输入账号密码进行认证: 然后再点击 “查看” —> “数”,输入一个 BaseDN 基础可分辨名称,指定这棵树的根,便可以用指定 BaseDN 作为根根往下搜索了。这里的 BaseDN 可以参照如下: DC=whoamianony,DC=org 比如这里我们输入 BaseDN 为 如果想要查看某个条目的信息,则 “右键” —> “搜索”,即可对指定的 BaseDN 进行过滤搜索: Active Directory ExplorerActive Directory Explorer(AD Explorer)是微软的一款域内信息查询工具,它是独立的可执行文件,无需安装。它能够列出域组织架构、用户账号、计算机账号等,它可以帮助你寻找特权用户和数据库服务器等敏感目标。 我们可以使用 AD Explorer 工具连接域控来访问活动目录,它可以方便的帮助用户进行浏览 Active Directory 数据库、自定义快速入口、查看对象属性、编辑权限、进行精确搜寻等操作。如下,在域内任意一台主机上,以域用户身份进行连接即可: AdfindAdFind一款 C++ 编写的域内查询信息的命令行工具,在域渗透里面的出场率极高。还有一个叫做 Admod ,可以修改。使用方法如下: AdFind.exe [switches] [-b basedn] [-f filter] [attr list]
# 搜索 whoamianony.org 域下 objectcategory=computer 的所有对象,会显示出所有对象以及对象的所有属性 # 搜索 whoamianony.org 域下 objectcategory=computer 的所有对象,过滤出 name 和 operatingSystem 属性 更多查询命令: Adfind.exe -f objectclass=trusteddomain # 信任关系 并且 Adfind 还给我们提供了一个快捷的按位查询方式,可以直接用来代替那些复杂的 BitFilterRule-ID:
如下实例: Adfind.exe -b dc=whoamianony,dc=org -f "(userAccountControl:AND:=524288)" -bit -dn LDAP 查找中的 objectClass 和 objectCategoryobjectClass上一篇文章中我们曾说过说过,在对象的 objectClass 属性里面,可以看到这个对象是哪一个类的实例,以及这个类所继承的所有父类。例如,域内主机 根据类的继承关系可知,该对象是 computer 类的一个实例,而 computer 是 user 的子类,user 是 organizationalPerson 的子类,organizationalPerson 是 person 的子类,person 是 top 的子类。那么我们通过以下过滤语法都可以找到这个对象: (objectClass=user) 由于所有的类都是 top 类的子类,所以当我们使用 objectCategory对象类的每个实例还具有一个 objectCategory 属性,该属性是一个单值属性。并且建立了索引。其中包含的值为该实例对象的类或该类所继承的父类之一的专有名称。如下所示, 域内主机 (objectCategory=CN=Computer,CN=Schema,CN=Configuration,DC=whoamianony,DC=org) 但是这样的话需要记住完整的 DN,为了方便,对象所属的类中还有一个 lDAPDisplayName 属性,用于指定该类所显示的名称。我们可以看到,对象 而且, LDAP 是支持直接使用类的 lDAPDisplayName 属性作为条件进行搜索的,所以如果我们想要查找所有 objectCategory 的属性为 (objectCategory=computer) 二者查询效果相同。 由于 objectCategory 建立索引,所以查询时间比较快,在对 Active Directory 进行查询时可以将二者结合使用以提高查询效率。 Ending......
推荐产品
如果您有任何问题,请跟我们联系! 联系我们 |