Windows UAC指當程序在普通管理員權(quán)限下運行時需要超級管理員權(quán)限時,會彈出一個UAC(User Account Control)提升權(quán)限對話框.
實破UAC 即指在沒有通知用戶情況下,將程序普通管理員權(quán)限提升為超級管理員權(quán)限(靜默).
過UAC主要思路是在普通管員權(quán)限下windows系統(tǒng)中肯定存在某些系統(tǒng)程序文件,在不用通知用戶情況下即可以管理員權(quán)限啟動,只要我們找到相關(guān)的程序劫持它,此時我們的程序在啟動時也會有超級管理員權(quán)限.
在過WIN8 UAC 時我們所選擇的系統(tǒng)程序文件為: C:\Windows\System32\migwiz\CRYPTBASE.dll
突破WINDOWS UAC主要涉及的技術(shù)有:
1) 遠程注入:遠程注入SHELLCODE 到傀儡進程;
2) COM接口技術(shù) :通過超級管理員接口COM 接口復制文件;
3) DLL劫持:劫持系統(tǒng)的DLL文件;
該技術(shù)缺點:
當所要注入的進程(explorer.exe))支持ASRL技術(shù)時,該程序可能不會成功獲取超級管理員權(quán)限.
1) 遠程注入:該技術(shù)在網(wǎng)上已經(jīng)有很多詳細文檔,技術(shù)也相當成熟,只要注意一點在32位進程中注入32 位SHELLCODE,同樣64位中需注入64位SHELLCODE.
2) COM接口技術(shù):在shellcode中復制文件是通過COM接口復制文件,首先初始化COM接口,然后用Administrator 用戶接口復制文件,用該接口在一些系統(tǒng)白名單進程中向WINDOWS系統(tǒng)目錄復制文件不會彈出UAC提權(quán)對話框.
3) DLL劫持:將我們的DLL復制到要劫持的可執(zhí)行的程序路徑下并重命名為要劫持的DLL文件名,當我們啟動要劫持的程序時,就會然載我們的DLL.由于在WINDOWS 系統(tǒng)中在普通管理員權(quán)限下,有些系統(tǒng)程序運行也是需要超級管理員權(quán)限,而這些系統(tǒng)程序存在于WINDOWS白名單中,運行時不會彈出UAC對話框,所以當我們劫持一些系統(tǒng)白名單程序中,我們DLL文件在不彈出UAC對話框的情況下也會擁有超級管理員權(quán)限,此時我們已經(jīng)達到目地.
通常在WINDOWS 8操作系統(tǒng)中我們所要劫持的目標程序為: C:\Windows\System32\migwiz\migwiz.exe,DLL命名為CRYPTBASE.dll。這樣啟動migwiz.exe時CRYPTBASE.dll就具有超級管理員權(quán)限。
相關(guān)代碼截圖:
成果簡介:該UAC小程序在Windows 7或Windows 8操作系都能成功通過系統(tǒng)UAC。
ByPass Win8 UAC
ByPass Win7 UAC
http://bbs.pediy.com/showthread.php?t=187210 (看雪論壇)
http://www.pretentiousname.com/misc/win7_uac_whitelist2.html#release
轉(zhuǎn)載請注明:安全脈搏 ? 過Windows 7/8 UAC技術(shù)淺析
聯(lián)系客服