前言

我有一个骚想法:这么多年来,我一直从事安全方面的工作,提供了很多的渗透测试服务和红队服务。
我一开始做渗透的时候也能很快拿到DC权限。

2013年9月,Spider Labs写了一篇文章,标题是通过SpiderLabs在内网中拿到DC的五种方法
这篇文章就当作是它的后续吧。

Netbios和LLMNR名称中毒

虽然说Netbios/LLMNR并不像2013年那样普及,但是绝大多数的测试都会导致安全评估人员获得NTLMv1和NTLMv2哈希并恢复成可用的凭据。
现在有一些高级框架可以进行暴力破解,例如hate_crack
我自己的话使用一些自己搜集的常用字典就很容易成功破解:uniqpass 和常见hashcat规则集best64,但遇到复杂的密码,就没办法了。

Responder,可以说是首选用来进行中间人攻击的工具。它仍由Laurent Gaffie维护。
Inveigh,它是基于Unix/Linux 下 python版本的Responder,可以运行在原生的Windows上。
Inveigh的核心是一个.NET数据包嗅探器,它监听并响应LLMNR/mDNS/NBNS请求,同时还通过Windows SMB服务抓取NTLMv1/NTLMv2的身份验证数据包。
在windows环境中,这两种中间人工具包适用于渗透测试人员和red team,

重放攻击

较新的中间人重放工具主要由Laurent Gaffie维护,专门为SMB重放攻击制作的。

我个人更喜欢impacket的工具,用于重放攻击和其他渗透测试需求。我发现Impacket的工具在大多数unix上都是可靠而且稳定的,并且可以在Mac OS上本地运行。与其他免费开源工具相比,其他工具在主机上执行时会留下相对较小的痕迹(如果担心被发现或者对抗蓝队)。

SMB重放攻击解释

smbrelayx.py

这个模块是最初由cDc发现的SMB中继攻击而开发的。
它接收目标列表,对于收到的每一个连接,它选择要通信的目标并尝试重放凭证。 除此之外,如果指定,它将首先针对连接到我们的客户端进行身份验证。
然后通过调用SMB和HTTP Server,hook一些函数然后使用smbclient的一部分来实现。
它应该适用于任何LM兼容级别。
阻止此攻击的唯一方法是强制让服务器进行SPN检查或者检查签名,然后SMB重放攻击就GG。

如果客户端身份验证成功以及针对本地smbserver设置的有效连接。 用户可以设置本地smbserver功能。 一种选择是使用你希望受害者认为他连接到的是有效SMB服务器的文件,然后来设置共享。
这些操作都是通过smb.conf文件或以编程方式完成的。

NTLM重放攻击解释

ntlmrelayx.py

NTLM身份验证是一种基于challenge-response 的协议。 challenge-response协议使用共同的密钥,在这种情况下:用用户的密码去验证客户端。 服务器发送一个challenge,客户端回复此challenge的响应。 如果challenge与服务器计算的challenge相匹配,则接受身份验证。 NTLM身份验证是一种复杂的协议,这里解释的是简化。 可以在http://davenport.sourceforge.net/ntlm.html找到非常好的详细描述。

ps:倾旋的博客讲的很详细:

点击收藏 | 2 关注 | 2
  • 动动手指,沙发就是你的了!
登录 后跟帖