全面研究,旨在节省您的时间、精力、理智和理解。我想一开始就说明,这个特定的 CVE 与许多其他 CVE 一样,由于其高严重性评分,在短时间内引起了巨大关注。结果导致大量虚假信息和恶意活动围绕它展开。最初发现该漏洞的研究人员是 Wei。
这包括但不限于基于恶意软件的 PoC,它们被发布到 GitHub,意图伪装成真正的 PoC。
因此,我将在本仓库中仅分享有效、不误导的 PoC,以帮助进一步研究和理解。
顾名思义,此漏洞仅影响 Windows,因此如果您使用其他系统,则此漏洞不直接影响您。
我还将分享缓解策略,供希望保护系统免受此漏洞影响的人员使用。
Issue Description:
This is a zero-click, wormable vulnerability in the IPv6 TCP/IP stack of Microsoft Windows enables attackers to remotely execute arbitrary code on affected systems without any user interaction.
Asset Description:
The issue impacts Microsoft Windows versions that support IPv6. It is particularly risky for internet-facing Windows servers and user devices with IPv6 enabled.
Vulnerability Impact:
If successfully exploited, this vulnerability could allow attackers to remotely execute arbitrary code, which might result in a full system compromise, unauthorized data access, and/or exposure of sensitive information.
Exploitation Details:
The flaw is located in the IPv6 TCP/IP component of the Windows networking stack. Attackers can exploit this vulnerability by sending specially crafted IPv6 packets to a target machine, enabling RCE without user interaction.
Patch Availability:
Microsoft has issued a security update for this vulnerability as part of the August 2024 Patch Tuesday.
It is crucial for organizations to apply this update promptly to mitigate risks.
If immediate patching isn’t feasible, disabling IPv6 on affected Windows systems can help reduce the attack surface until the patch is applied.
仅在防火墙层面禁用 IPv6 对阻止此漏洞完全无效。
尝试复现此漏洞起初可能有点繁琐,但可以肯定地说,这是一个 Microsoft Windows IPv6 TCP/IP 协议栈中的零点击漏洞,影响多个版本的 Windows 10、11 和 Windows Server。
这个 RCE 漏洞不允许执行 shellcode,而是触发整数下溢,导致远程内存损坏。这实际上会中断受影响设备上的服务。网上呈现的真实 PoC,例如 Marcus Hutchins(@MalwareTech)和 ynwarcs 的建议,表明这最终可能成为一种在野外被用作拒绝服务(DoS)漏洞的利用方式,在未来几周或几个月内出现。
然而,上述 PoC 有一个缺陷:你不需要像它那样发送大量数据包才能获得预期结果。有人建议只需发送两个数据包即可获得预期结果,但这种实现并不总是可靠。在我的测试中,使用一台未打补丁的在线 Windows 机器,在 60 秒窗口内,至少需要 25 个数据包才能始终获得我们预期的结果。尽管如此,这仍然比原始设计少得多,可以算是一种改进。因为它仍然指数级地增加了内存空间以进行合拢,导致内核内存损坏,最终用户会看到蓝屏。
如果出于某种原因无法用最新补丁更新系统,那么你的次优选择是在所有网络接口上禁用 IPv6,以显著减少此漏洞的攻击面。但是,不要将其作为长期解决方案,因为它可能破坏系统的功能。
你需要以管理员身份运行以下 PowerShell 脚本,并将其保存为 script.ps1:
# Check if the script is running with admin privileges
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
# Restart script with admin privileges
$arguments = "& '" + $myInvocation.MyCommand.Definition + "'"
Start-Process powershell.exe -ArgumentList $arguments -Verb RunAs
Exit
}
# Disable IPv6 on all network interfaces
Get-NetAdapterBinding -ComponentID ms_tcpip6 | Where-Object {$_.Enabled -eq $true} | ForEach-Object {
Disable-NetAdapterBinding -Name $_.Name -ComponentID ms_tcpip6
}
# Optional: Confirm that IPv6 has been disabled
Write-Host "IPv6 has been disabled on all network interfaces."
我将在未来几周内持续更新此 GitHub 仓库,添加更多研究、更新和其他有效的缓解选项。