利用AD Explorer攻击对外开放的活动目录LDAP接口

2024-03-06 07:08

本文主要是介绍利用AD Explorer攻击对外开放的活动目录LDAP接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如何利用AD Explorer进行渗透测试?

Mark Russinovich(微软Azure的CTO)的sysinternals工具集虽然没有更新或者添加新的工具,但却非常经典,多年来一直是系统管理员最喜欢的工具。但是鲜为人知的是,这个工具集对于渗透测试员也是非常有帮助的。其中我最喜欢的一款工具是AD Explorer。我的同事Dave Fletcher是一个大牛,获得了很多头衔,其中之一就是优秀的系统管理员,在一次实战中,他提醒了我这个工具,自此,我就一直使用它进行内网评估和渗透。当然,对于那些将域控暴露在互联网中的机构来说,利用这个工具进行外部测试也是非常有用的。

你只要一个域账户,能够与域控通信,并请求域控遍历整个域。它将会显示OU结构,用户账户和计算机账户。这能够对我们寻找脆弱目标提供帮助,比如查找特权用户或者是数据库服务器。

所有的sysinternals工具集都是独立的可执行软件,无需安装。所以,只要你有写权限,就可以直接运行。sysinternals下载地址:http://live.sysinternals.com。

利用AD Explorer攻击对外开放的活动目录LDAP接口

但要是你没有写权限呢,或者是不允许下载可执行文件呢?不用担心,你可以直接在运行框(win+r)或者在文件夹资源管理器中输入下面这个UNC路径即可,不用下载到本地磁盘就可以直接运行。

UNC路径:\\live.sysinternals.com\tools\ADExplorer.exe

利用AD Explorer攻击对外开放的活动目录LDAP接口

点击可执行文件,直接从微软的站点加载到内存中。

现在我们来看几个例子,见识一下这款工具有多厉害。首先,你可能会找到一些元数据,这些数据会给你一些关于某对象的信息,如下图,似乎我们找到了CIO的个人电脑。我虽然对你毫无了解,但是如果我看到名为‘CIO的电脑’这台主机,我就忍不住想要找一个办法登录上去,然后从内存中抓取凭证。这通常都是一个特权账户。

利用AD Explorer攻击对外开放的活动目录LDAP接口

可能还有其他属性包含有用的信息,比如”info”属性。在下面的例子中,我们展示了在实战测试中的AD记录。数据已经打码,这足以说明数据是非常敏感的。我们还可以利用这些信息去进行社工(想着要重置密码)。

利用AD Explorer攻击对外开放的活动目录LDAP接口

如果你想找到更有价值的目标服务器,你可以去了解企业的命名规范,会对你很有帮助。服务器通常都是根据他们的功能来命名,比如名字中的”SQL”和”SharePoint”字眼,如图:

利用AD Explorer攻击对外开放的活动目录LDAP接口

AD Explorer的搜索功能也非常强大,它能够帮你分析大量的数据,并找到你想要的数据。例如,如果你想要查找禁用账户,只要选择userAccountControl(用户账户控制)属性,然后搜索514即可。(其实userAccountControl是一个值,不同的值代表着不同的标记,其中一个就是禁用标记,不过可能会有多个值都表示禁用账户,但是最常见的就是514) 中国菜刀

利用AD Explorer攻击对外开放的活动目录LDAP接口

如果你的权限够高的话,你可以添加和修改对象和属性。虽然不能像活动目录用户和计算机用户一样进行操作,但是对于渗透测试员来说,这个功能还是非常不错的。作为演示,我在我的测试域中给Grace用户添加“comment”属性。

利用AD Explorer攻击对外开放的活动目录LDAP接口

利用AD Explorer攻击对外开放的活动目录LDAP接口

这个工具还有一个选项,让你可以截取屏幕截图:

利用AD Explorer攻击对外开放的活动目录LDAP接口

你可以将它复制到任何地方,然后在AD Explorer中打开,方便浏览查看。

利用AD Explorer攻击对外开放的活动目录LDAP接口

查看截图虽然不会对你的渗透有大的帮助,但是对于前期侦察也是可以的。

AD Explorer还能对两个截图进行差异化对比。这对于渗透测试员有什么用呢?

首先,你可以在访问到域的时候捕获一张截图,然后在你进行了一些入侵和破解操作之后,系统管理员修改了密码或者是禁用了账户时,你可以再捕获一张截图,对比一下就可以看到是谁修改了密码,哪个账户被禁用了。据我所知,AD Explorer不能够修改密码,或者是把状态从禁用改为启用(即使是DA也不行),但至少,你可以利用这个工具来查看并避免账户被禁用,来保持一个更为隐蔽的状态。

现在,来看看关于外部测试……假如你用shodan来搜索暴露在互联网上的域控,并且登录到其中一台会怎么样?当然,如果你想用AD Explorer来连接到服务器的话,你需要一个域账户。下面的搜索语句是搜索LDAP两个常用的端口,和主机名中包含了字母“DC”的。令人惊讶的是,从互联网上能够直接访问的依然有一大片,如图:

利用AD Explorer攻击对外开放的活动目录LDAP接口

或者再进一步搜索,我们可以添加445端口来查找域控,这些域控很有可能存在风险,容易遭受Shadow Brokers最新泄露的SMB exp攻击。(注意:并不是所有显示结果都开了这三个端口)

只要入侵了这些服务器中的一台,就相当于入侵了整个域。各单位注意,请确保你们企业的服务器不在这些列表中:

利用AD Explorer攻击对外开放的活动目录LDAP接口

 

2018年5月添加的新技巧!!!

使用AD Explorer来协助钓鱼

如果要从外部电子邮件地址向特定组发送有针对性的网络钓鱼电子邮件,你可以查询AD以获取允许来自外部的邮件的通讯组。查看msExchRequireAuthToSendTo这个属性就能知道。当这个属性值为false时,那么任何人都可以向该组发送邮件。

利用AD Explorer攻击对外开放的活动目录LDAP接口

你也可以双击搜索结果中的组,然后检查组的成员属性来获取成员列表。可以通过这种方式提取个人邮件地址,不过这样做就太琐碎了。发送给群组的功能要快的多,而且这会让收件人更加信任你的邮件。

从命令行进行截图

AD Explorer是一个GUI工具,但是GUI通常无法访问。不过你可以通过shell访问,并创建快照。上传可执行文件到你能够进行shell访问的主机上,然后执行下列命令:

adexplorer.exe -snapshot “” mysnap.dat

或者先不上传,执行下面这条命令:

\\live.sysinternals.com\tools\adexplorer.exe -snapshot “” snap.dat

可以看到一个弹框报错信息,显示的是adexplorer的正确语法:

利用AD Explorer攻击对外开放的活动目录LDAP接口

查找特权账户

还有,如果你想查找特权账户,别忘了检查内置的Administrators组,这个组里包含的用户可能不一定就是域管理员,但可能有对域控FTW的本地管理员访问权限的账户。

利用AD Explorer攻击对外开放的活动目录LDAP接口

查找密码

在大多数的AD结构中,有几个字段是普遍存在的。也就是UserPassword, UnixUserPassword,  unicodePwd and msSFU30Password这几个。在大量的测试中,我们惊奇的发现,这些字段有时候填充的竟然是真实的密码。这些密码有时候会转换为ASCII十进制值来进行混淆,不过这种混淆根本没什么鸟用,使用一条“man ascii”命令就能帮你搞定。

下面使我们最近截的一张图:

利用AD Explorer攻击对外开放的活动目录LDAP接口

可以看到这两个字段密码一样,ASCII解码之后就是A B C D ! e f g h 1 2 3 4 5 $ 6 7 8 9 0。

好了,今天的分享就到这里,如果你知道使用AD Explorer的其他小技巧,请跟我们分享,我们会添加到文章中。

这篇关于利用AD Explorer攻击对外开放的活动目录LDAP接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/779223

相关文章

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Python如何实现高效的文件/目录比较

《Python如何实现高效的文件/目录比较》在系统维护、数据同步或版本控制场景中,我们经常需要比较两个目录的差异,本文将分享一下如何用Python实现高效的文件/目录比较,并灵活处理排除规则,希望对大... 目录案例一:基础目录比较与排除实现案例二:高性能大文件比较案例三:跨平台路径处理案例四:可视化差异报

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1