您的位置:首頁技術文章
文章詳情頁

驚爆!原來Windows 7的UAC也有漏洞

瀏覽:3日期:2023-06-16 10:13:02

首先,如果把Windows 7自帶的某個組件(例如Notepad)復制到其他路徑,其數字簽名實際上是不會變的。這可以用SigCheck命令進行檢測:

盡管Notepad已經更改了路徑,但是其數字簽名是不會變化的。其Publisher還是顯示“Microsoft Corporation”。但是為什么UAC對話框上顯示其為未知發布方呢?

UAC和路徑有關?

更具體的來猜測,應該是UAC在顯示對話框時,會對其路徑進行判斷,如果路徑已經改變,則不管數字簽名是否有變,一律彈出橙黃色報警對話框,以便提醒用戶,在提升權限時要注意!

其實這個特性在Windows Vista里也存在。

另外,對于某些特殊的Windows組件,例如IE瀏覽器,不管是否移動路徑,如果試圖用管理員權限運行的話,系統也一律彈出橙黃色報警的UAC對話框,顯示發布方為未知,以提醒我們注意,因為IE瀏覽器屬于高危險的組件,如果用完全管理員權限運行,會有很大的風險。

就目前而言,嚴格來說,并非所有的Windows組件都可以默認在Windows 7里自動提升權限,例如Notepad本身就不能自動提升權限(哪怕沒有更改路徑),也會彈出UAC對話框(但是能夠正確顯示發布方為微軟公司),其他的例子還有注冊表編輯器等。

哪些Windows自帶組件才能自動提升權限?

根據Rafael Rivera的說法,是由這些組件內嵌的程序清單(manifest)所控制的,可以做一個實驗:

我們知道,如果在Windows 7里運行服務、組策略、磁盤管理等管理單元時,并不會彈出UAC對話框,這說明其主進程mmc.exe位于UAC的白名單上。

請用記事本或者別的工具打開MMC.exe文件,然后仔細查看,會發現其中有一段語句:

<autoElevate>true</autoElevate>

這就是為什么運行組策略編輯器等工具時,Windows并不會彈出UAC對話框的原因。

小結:嚴格來說,如果某個Windows組件位于UAC的白名單時,系統還是會“彈出”UAC對話框的,我們可以通過Process Monitor監控到其進程consent.exe,只是該進程并沒有UI顯示在用戶桌面上而已。

標簽: Windows系統
相關文章:
国产综合久久一区二区三区