MITM6再出击:IPv6的阴暗面
Dale Hobbs //
随着互联网连接日益紧密,网络攻击变得愈发复杂和普遍。一种可能您未曾听闻的攻击是IPv6中间人(MITM6)攻击。本文将探讨MITM6攻击是什么、如何运作,以及如何保护自己和组织免受其害。
什么是MITM6攻击?
MITM6是一种拦截和操纵两方通信的攻击类型。攻击者将自己置于两方之间充当代理,从而拦截和篡改通信。
一种常见的MITM6攻击方法是通过恶意IPv6 DHCP服务器。攻击者可设置恶意DHCP服务器,并向网络设备宣告自己为默认DNS服务器。当设备发送通信请求时,恶意路由器拦截请求,并代表原始发送方与目标设备建立连接。攻击者随后可利用此位置拦截和篡改两设备间的通信。
通过IPv6的DNS接管攻击
通常,人们在网络上运行IPv4。然而,IPv6在您的网络上也默认启用。如果您查看系统上的网络适配器属性,可能会发现即使您在使用IPv4,IPv6也是开启的。
更重要的是,IPv6很可能设置为从DHCP服务器自动获取地址,但在大多数情况下,人们并未主动管理网络上的IPv6。因此,DHCP通常未配置为管理网络上的IPv6。
这就引出了一个问题:谁或什么在为网络上的IPv6提供DNS服务?大多数时候,答案是没有人也没有任何东西!
这意味着攻击者可以设置一个系统来监听IPv6 DNS请求,并通过告诉客户端将其所有IPv6流量发送到攻击者的系统来响应。通常,这可以使攻击者通过LDAP或SMB获得对域控制器的身份验证。
您问如何做到?嗯,当攻击者的机器拦截IPv6流量时,他们可以拦截身份验证请求,拦截NTLM凭据,并使用ntlmrelayx将它们中继到域控制器。如果中继的身份验证请求来自域管理员,攻击者随后可以使用该NTLM凭据在域上为自己创建用户帐户。最棒的是,mitm6工具自动为您完成所有这些。
让我们逐步了解这种攻击的样子。首先,您需要从https://github.com/dirkjanm/mitm6下载并安装mitm6工具。完成后,只需如下所示运行该工具。在我的情况下,我们测试的域名为adlab.com;您应将其替换为您自己的域名。
如您所见,我们很快开始看到网络上的IPv6请求,表明IPv6寻址在网络上未受管理。
接下来,我们将设置ntlmrelayx将请求中继到域控制器上的LDAPS,向客户端发送虚假WPAD文件,并自动将我们找到的任何信息转储到本地系统上名为“loot”的文件夹中。如下所示,连接请求进入,我们的攻击系统中继了连接尝试到域控制器192.168.190.200,并成功进行了身份验证。
|
|
现在,如果我们查看“loot”目录,可以看到我们收集了大量信息,例如域上的计算机和用户,以及域密码策略。
这本身非常有用,因为我们现在有了可以发起密码攻击的域用户列表。但是等等……还有更多!幸运的是,管理员登录到网络上的计算机,我们可以看到用户的凭据被中继到LDAPS,并在域上为我们创建了一个用户帐户。
所以现在我们有一个域用户帐户,名为“NbuCuQKhZW”,密码为“v(Zt<)J_Snii$uo”。如果我们查看Active Directory,可以确认用户帐户已创建。
它不仅为我们创建了帐户,而且还创建了具有ACL(访问控制列表)的帐户,为用户帐户提供域上的“Replication-Get-Changes-All”权限。Active Directory中的“Replication-Get-Changes-All”权限允许您请求Active Directory中的所有内容,包括密码哈希。如果我们查看域的ACL,可以确认用户帐户具有域上的“Replication-Get-Changes-All”权限。
所以现在我们有了域上的特权用户帐户,我们可以使用像secretsdump.py这样的工具对域控制器执行DCSync,并从域下载所有密码哈希。(mitm6甚至友好地建议使用secretsdump.py)。
|
|
Secretsdump将提示输入用户帐户的密码,在这种情况下,用户帐户是“NbuCuQKhZW”,密码是“v(Zt<)J_Snii$uo”。
如上图所示,我们已成功从域中转储用户和密码哈希。这些现在可以离线带到密码破解系统,您可以使用诸如Hashcat之类的密码破解器尝试破解密码。
如何保护自己免受MITM6攻击?
MITM6攻击可能难以检测和预防,因为它们通常涉及复杂的技术和工具。但是,组织和个人可以采取以下步骤来防范此类攻击:
- 如果内部网络未使用IPv6,禁用它将阻止Windows客户端查询DHCPv6服务器,从而使接管DNS服务器变得不可能。
- 通过组策略禁用代理自动检测。如果您的公司内部使用代理配置文件(PAC文件),建议显式配置PAC URL,而不是依赖WPAD自动检测。
- 为了防止NTLM中继,您应考虑完全禁用它并切换到Kerberos,或者如果不可能,您应该:
- 启用SMB签名,通过要求所有流量签名来防止中继到SMB
- 启用LDAP签名,防止未签名的连接到LDAP
- 启用身份验证的扩展保护,通过确保用于连接到服务器的TLS通道与客户端身份验证时使用的通道相同,来防止某些中继攻击。
总之,MITM6攻击对您的通信安全构成严重威胁。通过正确管理网络上的IPv6,您可以帮助保护自己和组织免受此类攻击。