MITM6 Strikes Again: The Dark Side of IPv6
Dale Hobbs //
随着互联网连接日益紧密,网络攻击变得更加复杂和普遍。一种你可能没听说过的攻击是机器中间人IPv6(MITM6)攻击。本文将探讨MITM6攻击是什么、如何工作,以及如何保护自己和组织免受其害。
什么是MITM6攻击?
MITM6是一种拦截和操纵两方之间通信的攻击。攻击者将自己置于两方之间,充当代理,允许他们拦截和更改通信。
一种常见的MITM6攻击方法是通过使用恶意IPv6 DHCP服务器。攻击者可以设置恶意DHCP服务器,并向网络上的设备宣传自己为默认DNS服务器。当设备发送请求与另一设备通信时,恶意路由器拦截请求,并代表原始发送方与目标设备建立连接。攻击者然后可以利用这个位置拦截和更改两设备之间的通信。
通过IPv6的DNS接管攻击
通常,人们在网络上运行IPv4。然而,IPv6默认也在你的网络上启用。如果你查看系统上的网络适配器属性,你很可能会发现IPv6是开启的,即使你正在使用IPv4。
更糟糕的是,IPv6很可能设置为从DHCP服务器自动获取IPv6地址,但在大多数情况下,人们没有主动管理网络上的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,禁用IPv6将阻止Windows客户端查询DHCPv6服务器,从而使接管DNS服务器变得不可能。
- 通过组策略禁用代理自动检测。如果你的公司内部使用代理配置文件(PAC文件),建议显式配置PAC URL,而不是依赖WPAD自动检测。
- 为了防止NTLM中继,你应该考虑完全禁用它并切换到Kerberos,或者如果不可能,你应该:
- 启用SMB签名,通过要求所有流量签名来防止中继到SMB
- 启用LDAP签名,防止未签名的连接到LDAP
- 启用身份验证的扩展保护,通过确保用于连接到服务器的TLS通道与客户端身份验证时使用的通道相同,来防止一些中继攻击。
总之,MITM6攻击是对你通信安全的严重威胁。通过正确管理网络上的IPv6,你可以帮助保护自己和组织免受这些类型的攻击。