利用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

相关文章

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri