欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

针对活动目录(AD)的渗透测试全攻略

来源:本站整理 作者:佚名 时间:2019-03-26 TAG: 我要投稿

最近,我有几个客户来找我进行渗透测试。由于他们的资产在漏洞扫描中没有发现严重漏洞,因此他们认为已经准备好进行测试。但实际情况是,我利用AD域中的错误配置,仅在15分钟之内就获得了域管理员的权限。
在渗透测试领域,我发现存在一个薄弱之处,就是缺乏有关活动目录(AD)方面的知识。不幸的是,OSCP中没有AD测试的教学,甚至SANS GPEN课程也几乎没有触及到。本文的主要目的是盘点我在过去成功使用的一些技术、工具和方法。我将使用Kali Linux 2019,并通过虚拟机的方式,在我自己的虚拟域中运行。
我们首先需要明确目标,渗透测试的目标是识别攻击者为破坏网络而可能使用的任何攻击媒介。我们的目标并不是获得域管理员,而是帮助客户消除这一攻击媒介。
现在,我们有了一个目标,我们遵循了几个步骤来实现。下面是关于测试环节的粗略流程。

客户邀请我们在其网络上进行渗透测试,该网络使用了活动目录。最开始,我们没有凭据,没有测试范围,没有从大门进入的门禁卡。但是,我们可以尝试找到后门,发现一些有IP电话的偏僻房间。我们拔下IP电话的连接线,插上笔记本电脑的网线,并成功连接网络。那么,下一步是什么呢?答案是立足点。
第一阶段:立足点
在没有凭据的情况下,我们可以进行有限的侦查。实际上,在整个周期的每一环节中都要进行侦查,但在目前的环节上,我们可以采取一些措施来在网络上“立足”。首先,由于我们已经拥有了网络的访问权限,所以只需通过ifconfig或ipconfig来查看我们所在的子网。在获得IP地址之后,可以在nmap中执行ping扫描,以查看是否可以访问其他设备。
nmap -sn 192.168.1.1/24
如果设备返回了信息,那么我们就得到了有效的情报。如果我们一无所获,可能是由于禁用了ICMP、网络上没有其他设备,或者是因为我们未经过身份验证,所以无法与其他设备将进行通信,还有可能是已经被身份安全解决方案(例如:Cisco ISE)阻止。我们假设,已经发现了一些其他主机,并且可以成功Ping通它们。
工具:Responder
接下来,我们将使用一个名为Responder的工具。如果你偏爱Windows环境,可以使用Inveigh。这两个工具的作用是检查AD中非常常见的错误配置,并发现潜在的WPAD和NBT-NS投毒问题。默认情况下,Windows会被配置为在使用网络时由Web代理自动发现文件。这在组织中非常有用,因为设备将发送广播请求代理文件,并接收代理文件。但是,它并不会验证发送代理文件的来源,也就允许攻击者发送欺骗性的响应,然后请求凭据。
在Kali中,已经预装了Responder。
responder -I eth0 –wpad
在我的Windows 7主机上,我打开Internet Explorer并访问Google,然后在Google上搜索WPAD文件。在Responder中,我看到请求通过,然后Responder自动使用挑战(Challenge)回复请求,这导致受害者发送他们的用户名和哈希运算后的密码(使用NTLMv2格式)。

有了这个哈希值之后,我们就可以做一些事情。我们可以尝试破解该值,或者可以使用像ntlmrelay.py这样的工具来实现中继。我在另外一篇文章中讨论了如何传递NTLM哈希值,所以我将跳过破解的步骤。
实际上,我很少会在Linux/Kali环境中进行密码破解。我的设备使用的是NVIDIA的GPU,因此它无法与Kali兼容。并且,在Windows环境,我们还可以使用HashcatGUI,这一工具使用起来更加容易。因此,我将使用Windows的工具。我将收集到的哈希值放在一个名为hash.txt的文件中,并添加了一些单词作为密码字典。但实际情况是,我使用rockyou.txt运行了该工具,只花费了1秒的时间就成功破解了。


现在,我们已经成功破解了密码,已经拥有了凭据Alice:Password。
在继续下一步之前,我们还希望介绍一些在Responder不起作用时的替代方法。
工具:mitm6
假设客户端的网络正在使用合法的WPAD PAC文件,并且我们的欺骗方式无法正常工作。还有另一种技术,是利用IPv6和DNS将凭据中继到目标。默认情况下,IPv6已经启用,并且优先于IPv4,这意味着计算机如果具有IPv6服务器,那么将会被优先使用。此外,默认情况下,Windows主机会通过DHCPv6请求查找IPv6 DNS服务器。如果我们使用假的IPv6 DNS服务器进行欺骗,我们就可以有效控制设备查询DNS的方式。更详细的内容,可以阅读这里。
首先,下载mitm6。
git clone https://github.com/fox-it/mitm6.git
cd mitm6
pip install
然后,将针对目标网络工作组运行该工具。由于之前我们已经进行了Ping扫描,并且也收到了NetBIOS名称,显示目标域是lab.local。
这是我运行mitm6之前,目标的IP设置:

然后,我运行了mitm6。
mitm6 -d lab.local

现在,目标上的DNS服务器已经发生了变化。

[1] [2] [3] [4] [5] [6]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载