溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

發(fā)布時(shí)間:2021-12-28 17:28:02 來(lái)源:億速云 閱讀:277 作者:柒染 欄目:安全技術(shù)

本篇文章為大家展示了如何進(jìn)行漏洞復(fù)現(xiàn)及修復(fù),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

一、漏洞介紹

該漏洞主要是由于Windows TCP/IP堆棧在處理選項(xiàng)類型為25(0x19,遞歸DNS服務(wù)器選項(xiàng))且長(zhǎng)度字段值為偶數(shù)的ICMPv6的路由廣播數(shù)據(jù)包時(shí),處理邏輯存在紕漏,導(dǎo)致存在遠(yuǎn)程代碼執(zhí)行漏洞。成功利用該漏洞的攻擊者可以在目標(biāo)機(jī)器(主機(jī)或服務(wù)器)上執(zhí)行任意代碼。

影響范圍:

? Microsoft Windows 10 1709
? Microsoft Windows 10 1803
? Microsoft Windows 10 1809
? Microsoft Windows 10 1903
? Microsoft Windows 10 1909
? Microsoft Windows 10 2004
? Microsoft Windows Server 2019
? Microsoft Windows Server, version 1903
? Microsoft Windows Server, version 1909
? Microsoft Windows Server, version 2004

二、漏洞淺析

當(dāng)Windows TCP / IP堆棧不正確地處理使用選項(xiàng)類型25(遞歸DNS服務(wù)器選項(xiàng))且長(zhǎng)度字段值為偶數(shù)的ICMPv6路由器廣告數(shù)據(jù)包時(shí),存在一個(gè)遠(yuǎn)程執(zhí)行代碼漏洞。在此選項(xiàng)中,長(zhǎng)度以8個(gè)字節(jié)為增量進(jìn)行計(jì)數(shù),因此長(zhǎng)度為3的RDNSS選項(xiàng)的總長(zhǎng)度應(yīng)為24個(gè)字節(jié)。該選項(xiàng)本身包含五個(gè)字段:IPv6遞歸DNS服務(wù)器的類型,長(zhǎng)度,保留,生存時(shí)間和地址。前四個(gè)字段始終總共為8個(gè)字節(jié),但最后一個(gè)字段可以包含可變數(shù)量的IPv6地址,每個(gè)IPv6地址均為16個(gè)字節(jié)。按照RFC 8106,長(zhǎng)度字段應(yīng)始終為至少3的奇數(shù)值,當(dāng)提供一個(gè)偶數(shù)長(zhǎng)度值時(shí),Windows TCP / IP堆棧錯(cuò)誤地將網(wǎng)絡(luò)緩沖區(qū)的前進(jìn)量減少了8個(gè)字節(jié)。這是因?yàn)槎褩T趦?nèi)部以16字節(jié)為增量進(jìn)行計(jì)數(shù),因此無(wú)法解決使用非RFC兼容長(zhǎng)度值的情況。這種不匹配導(dǎo)致堆棧將當(dāng)前選項(xiàng)的最后8個(gè)字節(jié)解釋為第二個(gè)選項(xiàng)的開始,最終導(dǎo)致緩沖區(qū)溢出和潛在的RCE。

三、漏洞復(fù)現(xiàn)

復(fù)現(xiàn)步驟

1、 虛擬機(jī)網(wǎng)絡(luò)設(shè)置開啟ipv6

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

2、查看環(huán)境情況

Windows版本,按win+r,在彈出窗口中輸入winver,查看版本信息

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

3、用國(guó)外大神的腳本進(jìn)行檢測(cè)有漏洞和沒(méi)漏洞的結(jié)果如下:

PowerShell.exe -ExecutionPolicy UnRestricted -File C:\Users\user\Desktop\new.ps1.ps1

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

4、執(zhí)行ipconfig,查看ipv6地址這里注意,靶機(jī)的ipv6地址選取 “ipv6地址” 或 “臨時(shí)ipv6地址”

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

5、執(zhí)行ipconfig,查看ipv6地址這里注意,攻擊機(jī)的ipv6地址選取 “本地ipv6地址

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

6、運(yùn)行plyload,靶機(jī)藍(lán)屏

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

poc原理:

由于Windows TCP/IP堆棧在處理選項(xiàng)類型為25(0x19,遞歸DNS服務(wù)器選項(xiàng)),當(dāng)偽造長(zhǎng)度字段值為偶數(shù)的ICMPv6的路由廣播數(shù)據(jù)包發(fā)送給目標(biāo)主機(jī)時(shí),Windows TCP/IP 在檢查包過(guò)程中會(huì)根據(jù)Length來(lái)獲取每個(gè)包的偏移,遍歷解析,導(dǎo)致對(duì) Addresses of IPv6 Recursive DNS Servers 和下一個(gè) RDNSS 選項(xiàng)的邊界解析錯(cuò)誤,從而繞過(guò)驗(yàn)證,將攻擊者偽造的option包進(jìn)行解析,造成棧溢出,從而導(dǎo)致系統(tǒng)崩潰。

四、?修復(fù)方法

(1)下載微軟官方提供的補(bǔ)?。?/p>

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-16898

(2)內(nèi)網(wǎng)等不便安裝更新的用戶,可以使用微軟官方給出的臨時(shí)變通措施:

禁用 ICMPv6 RDNSS:

以管理員身份打開PowerShell,輸入以下命令,即可"顯示接口參數(shù)"

netsh int ipv6 show interface

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

可以根據(jù)此列表,查詢到需要禁用的接口,執(zhí)行禁用命令如下

netsh int ipv6 set int 8 rabaseddnsconfig=disable

如何進(jìn)行CVE-2020-16898漏洞復(fù)現(xiàn)及修復(fù)

返回“確定”后禁用成功,開啟方法同上。上述操作均無(wú)需重啟電腦。

上述內(nèi)容就是如何進(jìn)行漏洞復(fù)現(xiàn)及修復(fù),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI