利用批处理脚本快速关闭Windows IPv6防御CVE-2024-38063漏洞攻击

作者:高玉涵
时间:2024.8.16 14:25
博客:blog.csdn.net/cg_i
环境:Windows7、Windows10、Windows11

一、Windows TCP/IP 远程代码执行漏洞CVE-2024-38063

近日,Windows 系统曝出严重安全漏洞,编号为 CVE-2024-38063,该漏洞影响所有受支持的 Windows 版本,包括 Windows 11、Windows 10 以及多个版本的 Windows Server。漏洞的 **CVSS3.1 分数为 9.8,属于「重要」**级别,攻击者可以通过特制的 IPv6 数据包远程入侵设备,执行任意代码。该漏洞存在于 Windows 的 TCP/IP 网络堆栈中,是一个严重的远程代码执行漏洞。

攻击者可以通过反复向 Windows 设备发送特制的 IPv6 数据包,触发漏洞并远程执行代码,无需用户交互或身份验证。微软强烈建议所有用户尽快更新至最新的 Windows 版本。微软正在发布相关补丁以修复此漏洞,禁用 IPv6 可临时防止漏洞被利用。

目前,官方已发布安全补丁,建议尽快升级至安全版本。

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-38063

除尽快安装微软发布的补丁彻底修复漏洞外,也可通过禁用IPv6 协议来缓解该漏洞带来的风险。

二、简易批处理脚本关闭Windows系统中的IPv6

考虑到部分用户对Windows系统操作可能不太熟悉,特别是在面临紧急安全漏洞(如CVE-2024-38063)时,等待并安装补丁的过程可能令人焦虑。为此,我们特别设计了一个简易批处理脚本,旨在帮助用户快速关闭Windows系统中的IPv6功能,以此作为临时缓解措施,增强系统安全性。

脚本名称DisableIPv6.bat

脚本内容

@echo off
setlocal enabledelayedexpansion  
set "found=0"
chcp 65001 > nul
rem Author: 高玉涵
rem Date: 20240816 13:42
rem Des: Windows7、Windows10、Windows11 关闭 IPv6 通过
rem 注意,脚本只能在英文目录下执行

:init
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' EQU '0' goto :IPV6

:UACPrompt
echo "正在请求管理员权限..."
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B

:IPV6
echo 正在查找启用了 IPv6 的网络适配器...
for /f "delims=" %%i in ('powershell -Command "& {Get-NetAdapterBinding -ComponentID ms_tcpip6 |  Where-Object { $_.Enabled -eq $true } | Select-Object -ExpandProperty Name}"') do (
    set "found=1"
    echo 发现 IPv6 接口: %%i
    powershell -Command "& {Disable-NetAdapterBinding -Name '%%i' -ComponentID ms_tcpip6}"
    if %errorlevel% equ 0 (
        echo 已禁用 %%i 上的 IPv6。
    ) else (
        echo 无法禁用 %%i 上的 IPv6。  
    )
)

if !found! equ 0 (
    echo 未发现使用 IPv6 的设备。
)

endlocal
pause

脚本功能解析

  • 权限检查:脚本首先尝试访问一个需要管理员权限的文件,以确定是否以管理员身份运行。如果不是,则通过VBScript请求管理员权限并重新运行脚本。
  • 查找并禁用IPv6:使用PowerShell命令查找所有启用了IPv6的网络适配器,并逐一禁用它们。脚本会记录每个适配器的处理结果。
  • 未找到IPv6设备的处理:如果未找到任何启用了IPv6的设备,则显示相应消息。

三、安全建议

  1. 安装补丁:微软已发布针对CVE-2024-38063的补丁,建议立即更新至最新版本以确保系统安全。
  2. 临时措施:在补丁不可用或安装前,可考虑使用上述批处理脚本禁用IPv6作为临时缓解措施。但请注意,禁用IPv6可能会影响依赖于该协议的应用程序和服务。
  3. 加强监控:增强网络监控和入侵检测能力,及时发现并应对潜在的安全威胁。

通过综合应用上述措施,可以有效管理和应对Windows系统中的IPv6配置及潜在的安全风险。

IP(Internet Protocol,Internet协议)是互联网的支柱,这是很多人都知道的事实,但是并不知道IPv6是IPv4的升级,一旦IPv6投入应用,看起来网络中所有的主机都必须升级。很多专业人士正在致力于IPv6的设计及IPv6所支持的协议和机制,以实现得体的渐进的升级。如果能有条理地、明智地进行现有网络向IPv6的升级,升级的影响可能较小。   IPv6隧道是将IPv6报文封装在IPv4报文中,让IPv6数据包穿过IPv4网络进行通信。对于采用隧道技术的设备来说,在隧道的入口处,将IPv6的数据报封装进IPv4,IPv4报文的源地址和目的地址分别是隧道入口和隧道出口的IPv4地址。   在隧道的出口处,再将IPv6报文取出转发到目的节点。隧道技术只要求在隧道的入口和出口处进行修改,对其他部分没有要求,容易实现。但是,隧道技术不能实现IPv4主机与IPv6主机的直接通信。   配置隧道和自动隧道的主要区别在于:只有执行隧道功能的节点的IPv6地址是IPv4兼容地址时,自动隧道才是可行的。在为执行隧道功能的节点建立I P地址时,自动隧道方法无需进行配置;而配置隧道方法则要求隧道末端节点使用其他机制来获得其IPv4地址,例如采用D H C P、人工配置或其他IPv4的配置机制。   如果大家在用笔记本,经常调试网络的话。Windows7会自发建立一条IPV6隧道,通常我们用ipconfig /all就会看到很多条隧道,比如我这边有40多个隧道,想看IPv4信息的话,就会一闪而过,给使用带来不便。这是因为Windows7在IPv6迁移过程中需要使用一种或多种IPv6过渡技术。我们可以通过手动关闭IPv6隧道。    我们只用使用以下3条命令把IPv6的接口关闭即可   netsh interface teredo set state disable   netsh interface 6to4 set state disabled   netsh interface isatap set state disabled   若想还原IPv6隧道则用以下命令:   netsh interface teredo set state default   netsh interface 6to4 set state default   netsh interface isatap set state default
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值