
作為久留網(wǎng)的個人站長,在網(wǎng)絡(luò)的海洋中不斷探索新的知識和技術(shù)是我的日常。最近,我偶然發(fā)現(xiàn)了網(wǎng)頁MAS,這個頁面深入探討了一個令人矚目的 Windows 許可繞過漏洞,讓我深感震撼。今天,我就以個人站長的身份來為大家詳細(xì)解讀這個網(wǎng)頁的內(nèi)容。
一、項目簡介
本文主要聚焦于一個在研究 Windows 許可檢查繞過過程中被發(fā)現(xiàn)的漏洞——Keyhole。Cisco TALOS 披露了 CVE – 2024 – 38184 之后,該網(wǎng)頁的作者決定分享關(guān)于 Keyhole 的發(fā)現(xiàn)。這個漏洞具有重大影響,因為它能夠有效地繞過微軟商店應(yīng)用和現(xiàn)代 Windows 版本的 DRM(數(shù)字版權(quán)管理)。對于廣大用戶、開發(fā)者以及安全研究人員來說,了解這個漏洞的存在及其原理至關(guān)重要。
二、主要特點
(一)深入解讀 CLiP 系統(tǒng)
- 組成與功能:網(wǎng)頁詳細(xì)介紹了 CLiP(Client Licensing Platform)系統(tǒng),這是 Windows 10 引入的一個重要系統(tǒng),主要用于實現(xiàn)微軟商店應(yīng)用的 DRM,并與 Windows 激活集成。CLiP 系統(tǒng)由幾個主要的二進(jìn)制文件組成,包括
clipup.exe 、 clipsvc.dll 、 clipc.dll 、 clipwinrt.dll 和 clipsp.sys 。這些文件協(xié)同工作,確保微軟商店應(yīng)用的許可管理和 Windows 的激活過程順利進(jìn)行。 - 工作流程解析:當(dāng)用戶安裝 CLiP 許可的應(yīng)用時,包含許可信息的簽名 XML 文件會被發(fā)送到
clipsvc.dll 。這個文件首先會驗證簽名的合法性,確保許可信息來自可信的來源。驗證通過后,XML 數(shù)據(jù)會被存儲在 ClipSVC 的“token store”中。接著,簽名的許可塊會被提取出來,并發(fā)送到 clipsp.sys 進(jìn)行進(jìn)一步的驗證。只有通過了這一步的驗證,許可信息才會被存儲在 CLiP 許可存儲中,應(yīng)用才能正常運行。
(二)Keyhole 漏洞的驚人發(fā)現(xiàn)
- 漏洞的起源:通過對
clipup.exe 的深入研究,作者發(fā)現(xiàn)了一個令人震驚的問題——這個文件中存儲了一個未加密的有效 ECDSA 密鑰。這個密鑰的存在意味著攻擊者可以利用它來簽署 XML 許可證,從而繞過 clipsvc.dll 的嚴(yán)格把關(guān),直接將任意許可塊發(fā)送到 clipsp.sys 。這一發(fā)現(xiàn)為繞過 Windows 的 DRM 系統(tǒng)打開了一扇危險的大門。 - 分析 ClipSp 的挑戰(zhàn)與突破:
clipsp.sys 是一個編寫不太好的驅(qū)動程序,充滿了復(fù)制粘貼的代碼,并且使用了微軟的專有混淆器 Warbird 進(jìn)行了混淆。這給分析工作帶來了巨大的挑戰(zhàn)。然而,作者并沒有被這些困難嚇倒,通過使用一些符號,成功地“解包”了這個驅(qū)動程序。在分析過程中,作者發(fā)現(xiàn)了其中存在的漏洞,進(jìn)一步證實了 Keyhole 漏洞的嚴(yán)重性。 - License Blocks 漏洞的奧秘:License Blocks 是存儲 CLiP 重要許可信息的格式,其數(shù)據(jù)以 TLV(Tag – Length – Value)格式存儲。在實驗過程中,作者發(fā)現(xiàn)了一個關(guān)鍵的問題——簽名塊后面的數(shù)據(jù)不會被檢查,并且可以覆蓋之前的數(shù)據(jù)。這意味著攻擊者可以通過在簽名塊后添加新的數(shù)據(jù)來修改許可信息,從而實現(xiàn)對 Windows 許可系統(tǒng)的繞過。
(三)利用漏洞的詳細(xì)步驟
- 安裝特定應(yīng)用:首先,需要安裝具有設(shè)備鎖定許可的應(yīng)用,如 Roblox。這個應(yīng)用將成為后續(xù)利用漏洞的基礎(chǔ)。
- 攔截許可請求:使用 Fiddler 等工具攔截來自
https://licensing.mp.microsoft.com/v7.0/licenses/content 的許可。通過攔截這個請求,可以獲取到應(yīng)用的許可信息,為后續(xù)的修改和利用做準(zhǔn)備。 - 解碼與修改許可:解碼攔截到的許可,提取其許可塊,并根據(jù)自己的需求添加所需的新數(shù)據(jù),以創(chuàng)建新的許可。這個過程需要一定的技術(shù)知識和經(jīng)驗,但是一旦掌握,就可以輕松地修改許可信息。
- 打包與復(fù)制許可:將修改后的許可塊打包到新的 XML 文件中,并簽署 XML。然后,將這個 XML 文件復(fù)制到
C:\ProgramData\Microsoft\Windows\ClipSVC\Install\Migration 文件夾中。這個步驟是將修改后的許可信息注入到系統(tǒng)中的關(guān)鍵步驟。 - 安裝許可:最后,通過重啟
clipsvc.dll 或使用命令 clipup – p 來安裝許可。一旦許可安裝成功,就可以實現(xiàn)對 Windows 許可系統(tǒng)的繞過,從而獲得更多的權(quán)限和功能。
三、應(yīng)用場景
(一)安全研究與漏洞修復(fù)
對于安全研究人員來說,這個網(wǎng)頁提供了一個寶貴的研究案例。通過深入了解 Keyhole 漏洞的原理和利用方法,他們可以更好地理解 Windows 許可系統(tǒng)的安全性,并提出更有效的安全防護(hù)措施。同時,這個漏洞的發(fā)現(xiàn)也促使微軟等軟件開發(fā)商更加重視軟件的安全性,加快漏洞修復(fù)的速度,提高軟件的整體安全性。
(二)開發(fā)者的警示與借鑒
對于開發(fā)者來說,這個網(wǎng)頁是一個重要的警示。它提醒開發(fā)者在開發(fā)軟件時,要更加注重許可管理和數(shù)字版權(quán)保護(hù)的安全性。開發(fā)者可以從這個漏洞中吸取教訓(xùn),加強對軟件許可的驗證和保護(hù),防止類似的漏洞被利用。此外,開發(fā)者還可以借鑒作者的分析方法和技術(shù),提高自己的安全分析和漏洞挖掘能力。
(三)用戶的安全意識提升
對于普通用戶來說,這個網(wǎng)頁可以提高他們的安全意識。了解這個漏洞的存在,用戶可以更加謹(jǐn)慎地使用微軟商店應(yīng)用和 Windows 系統(tǒng),避免下載和安裝來自不可信來源的應(yīng)用。同時,用戶也可以關(guān)注微軟的安全更新,及時安裝補丁,保護(hù)自己的設(shè)備和數(shù)據(jù)安全。
四、總結(jié)
該網(wǎng)頁深入剖析了 Windows 許可繞過漏洞 Keyhole,為我們展示了一個復(fù)雜而又危險的安全問題。通過對 CLiP 系統(tǒng)的解讀、Keyhole 漏洞的發(fā)現(xiàn)以及利用漏洞的步驟的詳細(xì)介紹,這個網(wǎng)頁為安全研究人員、開發(fā)者和普通用戶提供了寶貴的信息和啟示。作為久留網(wǎng)的個人站長,我強烈推薦大家關(guān)注這個網(wǎng)頁,提高自己的安全意識和技術(shù)水平。同時,我們也希望微軟等軟件開發(fā)商能夠盡快修復(fù)這個漏洞,保障用戶的安全和權(quán)益。