win7 UAC bypass(微軟已經給予了三組組件繞過UAC啟動的特權)


fireworm同學的翻譯:

原文在http://www.pretentiousname.com/misc/win7_uac_whitelist2.html我只翻譯了其中關於原理的一小部分,有興趣的可以自己去看看。

Win7的UAC與Vista不同,鑒於前作糟糕的設計,為了減少UAC提示的次數,微軟已經給予了三組組件繞過UAC啟動的特權:

1、某些其他進程可以自動運行並獲得高權限,UAC不會提示

這些進程的列表可以在這里找到,如果這些進程被運行,他會直接被賦予高權限而不會出現UAC提示。

Notable missing entries (good thing) are rundll32.exe and mmc.exe.

·         由於這一點,有人發明了rundll32注入提升權限從而繞過UAC的方法,你可以讓rundll32通過加載dll來執行你的代碼,這樣做不會出現UAC提示,也正因為如此,微軟把rundll32從進程列表中抹去了,不過,列表中還有大量的進程可以利用,如果你能向windows目錄下復制文件,其中幾個進程也可以利用。

2、可以創建特定COM對象的進程,運行時不會要求UAC確認。

這里列舉的程序可以創建特定的COM對象,並不需要UAC確認,盡管他們自身沒有提升特權。只要這些對象被創建了,進程就可以讓他們去做某些需要admin權限的事情。比如向System32 或者 Program Files目錄下面丟東西。

這些進程看起來是上面列表的一個超集,實際上它包括了windows7所有的可執行文件,並且有微軟認證證書。

很讓人無語的是,就build7000(甚至包括build7100,也就是RC1)來說,不僅僅是explorer.exe程序可以利用這一特性(願意的話,你也可以稱之為安全漏洞),連Calc.exe,notepad.exe這類程序都可以利用這個特性。微軟似乎並沒有做什么去最小化攻擊,他只是武斷地給予了這個特權,不管這個特權會不會被用到,舉個例子,你可以打開一個畫圖軟件,把他的“文件”-“打開”對話框當做一個微型的文件管理器來使用,你可以在Program Files里面胡鬧(建立一個文件夾,或者重命名)通過這一招,本來會被提示的非微軟官方的程序也會被放行,不會出現UAC提示。

3、一些需要權限才能創建的COM對象。

這部分列表的枚舉還尚未完成,我們只知道其中包括IFileOperation接口,當然,也有可能所有微軟官方的COM對象都難逃此劫。

不過,第三方的COM對象沒有辦法繞過UAC,就算他被微軟的進程啟動。

 

為此,可以利用這個程序來證明,這個程序運行后會以普通未提升權限的進程啟動,他直接把自己的部分代碼注入到其他程序的內存空間當中,並且讓指定的程序去運行它,這個過程利用了普通的API,比如WriteProcessMemory和CreateRemoteThread。

如果目標進程在列表2上,我們的程序可以創建並且控制提升的列表3上的COM對象,沒有UAC提示,並且不會讓用戶得知任何消息。

一般情況下,我們選擇explorer作為目標,因為這個程序運行提供windows的任務欄和桌面,但是,其他無關的程序,比如畫圖和計算器也可以被利用,如果需要,先運行他們,就像這個示例程序一樣,目標進程並未提升權限(必須通過代碼注入來起作用)。

目標進程可以控制ASLR的關閉,可以是32位或者64位的(不過,ASLR意味着直接代碼注入攻擊很難,只能考慮遠程代碼執行漏洞,利用這個漏洞必須寫出一個單獨的EXE並執行)

現在的潛在問題是靜默提升特性,在win7beta版本就默認啟用的一個特性,這個特性並不檢測需要提權的代碼的出處他只檢測這段代碼運行在哪個進程內而不是特定代碼的出處,就像這樣,你可以把代碼注入explorer或者讓explorer去加載你的dll,之后你就可以創建提升后的COM對象並且不為用戶所知。

在同一安全級別上,有很多辦法讓你的代碼注入到其他正在運行的進程中,這通常情況下不是個問題,在其它進程中你幾乎不能做什么事情,不過靜默提升特性改變了這一切。

把你的代碼注入到其他進程當中有很多方式,你可以用緩存區溢出漏洞(盡管ASLR做了很多去阻止這一切)或者你可以把自身安裝成一個DLL插件,讓其他程序加載,就像explorer外殼擴展,示例程序使用了一個眾所周知的技術,那就是代碼注入,代碼注入有一個好處,你不用欺騙其他程序,讓他加載你的代碼,你只需要把代碼壓到其他進程當中,並告訴他執行這段代碼就夠了,這也不是hack行為,所有的一切都是利用文檔化的,被支持的API完成的(合法的API包括調試和跨進程通信,這些API無需提權即可使用)

http://blog.csdn.net/jimoyangguang/article/details/7181769


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM