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

相关文章

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

java对接第三方接口的三种实现方式

《java对接第三方接口的三种实现方式》:本文主要介绍java对接第三方接口的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录HttpURLConnection调用方法CloseableHttpClient调用RestTemplate调用总结在日常工作

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决