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

结合NTLM中继和Kerberos委派实现域成员机器的提权

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

在上个月发表文章中,我们详细介绍了无约束委派方面的安全问题;在本文中,我们将讨论另一种类型的Kerberos委派:基于资源的约束委派。需要说明的是,本文的内容以Elad Shamir发表的关于Kerberos的相关研究为基础,并结合了我们自己的NTLM研究,提出了一种新型的攻击技术:如果我们与攻击对象位于同一网段中,无需任何凭据,就可以在活动目录中的任意Windows计算机上以SYSTEM权限执行代码。实际上,这只是滥用活动目录不安全的默认配置的另一个示例,并没有利用任何新型的漏洞。
攻击过程概述
如果攻击者位于本地网络中,无论是物理上还是通过受感染的工作站连接至本地网络,只要网络中尚未使用IPv6协议,他们就可以利用mitm6接管DNS系统。执行该攻击时,还可以通过伪造WPAD位置并请求身份验证来使用恶意代理,这样,攻击者就可以通过HTTP完成计算机帐户和用户的身份验证了。关于这种攻击手法,去年我曾在一篇文章中给出了详细的介绍。
我们可以借助于ntlmrelayx将相关的NTLM身份验证数据中继到LDAP(除非应用了相应的防御措施),并以受攻击的计算机帐户的身份进行相关的身份验证。对于该计算机帐户来说,我们可以通过LDAP修改其中的某些属性,其中包括 msDS-AllowedToActOnBehalfOfOtherIdentity属性。该属性用于控制哪些用户可以通过Kerberos模拟来获取活动目录中的任意帐户的身份。这个概念称为基于资源的约束委托,Elad Shamir和Harmj0y对此专门进行了详细的描述。因此,在中继计算机帐户时,可以使其变身为活动目录中的帐户,并授予自己模拟该计算机上的用户的权限。然后,我们就能够以具有高权限的用户的身份连接到相关的计算机,并执行代码、转储哈希值,等等。这种攻击的优点是,它能在默认配置下进行,并且不需要任何活动目录相关的凭据。
没有凭据,就不会出现这类安全问题
对于已经读过Elad的博客的读者来说,很可能已经注意到,为了发动S4U2Proxy攻击,需要先控制相应的计算机帐户(或任何其他具有Service Principal Name的帐户)。默认情况下,活动目录中的任何用户最多可以创建10个计算机帐户。有趣的是,这一限制对用户帐户无效,而且可以通过现有的计算机帐户来完成! 如果可以让任何用户或计算机通过NTLM中继,则可以使用ntlmrelayx来创建计算机帐户:

在这里,我们需要通过TLS中继到LDAP,因为系统禁止通过未加密的连接来创建帐户。这些计算机帐户凭证可用于完成活动目录中的各项事务,例如查询域信息甚至运行BloodHound:

中继和配置委派
下面,让我们进入攻击阶段。首先,我们需要启动mitm6来接管目标系统上的DNS服务,就这里来说,目标就是ICORP-W10(一个已打全补丁的默认Windows 10系统),同时,我们的攻击将仅限于该主机:
sudo mitm6 -hw icorp-w10 -d internal.corp --ignore-nofqnd
需要注意的是,该主机通过DHCPv6请求IPv6地址,或者开始请求WPAD配置的时候,通常需要花费一点时间。所以,对于我们来说,最好的攻击时机是受害者重新启动或重新插入网络电缆的时候,因此,清晨可能是执行该攻击的最佳时间。无论如何,您都必须要有耐心。然后,我们还需要借助–delegate-access参数来启动ntlmrelayx,以发动这种委派攻击,同时,还需使用-wh attacker-wpad参数,以发动WPAD欺骗,进而发送身份验证请求:
ntlmrelayx.py -t ldaps://icorp-dc.internal.corp -wh attacker-wpad --delegate-access
稍后,通过运行mitm6就会看到,受害者将作为我们为WPAD主机设置的DNS服务器上线:

我们看到,ntlmrelayx会接收连接,创建一个新的计算机帐户,并授予它针对受害计算机的委派权限:

接下来,我们可以使用来自impacket的getST.py脚本,完成所有S4U2Self和S4U2Proxy方面的相关操作。您需要从这里获得最新版本的impacket,以支持基于资源的委派。在这个示例中,我们将模拟用户admin,该用户是Domain Admins组的成员,因此,在ICORP-W10上具有相应的管理访问权限:

现在,我们为用户admin获取了相应的Kerberos服务票据,该票据是对cifs/icorp-w10.internal.corp有效的。这只允许我们将该用户模拟为特定主机,而无法模拟网络中的其他主机。借助于该票据,我们就可以在目标主机上执行任何操作了,例如,使用secretsdump转储哈希值:

这样的话,攻击者就可以完全控制受害者的工作站了。
其他滥用途径
在本文中,我们重点介绍了如何使用mitm6和WPAD执行完全无需借助任何凭证的中继攻击。实际上,通过HTTP连接到被Windows视为内网主机的任何连接,都可以达到同样的目的(前提是启用了Intranet自动检测)。Elad曾在其博客中详细如何使用WebDAV在主机上利用此漏洞。另一个攻击途径是借助PrivExchange,因为它会让Exchange以SYSTEM身份进行认证,除非安装了最新的修补程序。
相关工具
NtlmRelayx的更新版本可以从这里下载;一旦这个分支合并到主存储库中,我将更新本文。

[1] [2]  下一页

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