Sysprep的那些事

Windows7的帳戶控制: html

    一、explorer是一個比較特殊的進程,雖然運行在普通用戶權限下,可是微軟爲了減小UAC對用戶的打擾,有些狀況下不會出現UAC提醒。CoGetObject("3ad05575-8857-4850-9277-11b85bdb8e09");若是用別的普通用戶權限去打開,會有UAC提醒,可是若是用explorer去打開,默認狀況下是沒有提醒的。 windows

    二、使用CoGetObject("3ad05575-8857-4850-9277-11b85bdb8e09")獲得一個COM對象IFileOperation,IFileOperation是一個功能很強大的文件操做接口。往system32裏面copy東西。pFileOp->SetOperationFlags(FOF_NOCONFIRMATION|FOF_SILENT|FOFX_SHOWELEVATIONPROMPT|FOFX_NOCOPYHOOKS|FOFX_REQUIREELEVATION)必定要靜默的copy,目標文件c:\windows\system32\sysprep\cryptbase.dll 安全

    三、ShellExecuteEx運行c:\windows\system32\sysprep\sysprep.exe,能夠帶起CRYPTBASE.dll,這個DLL有足夠高的權限了。 工具

    要點: post

    一、對explorer網開一面,explorer是個特殊的進程,一方面它長期和一羣低權限的,另外一方面,它又掌握着通向高權限的鑰匙,許多狀況下能夠無聲出入高權限進程的起居地(system文件夾和COM); spa

    二、對CRYPTBASE.dll網開一面,sysprep.exe啓動加dll時辰會遵循一個法則:若是被加的dll在系統"Known DLLs"列表中那麼就直接從system32目錄加,而這個CRYPTBASE.dll雖然位於System32目錄,但它偏偏不在"Known DLLs"中,因而CRYPTBASE.dll被優先從sysprep.exe目錄啓動了。第一點兒是要害,只要能往system目錄裏無聲的copy東西,總會有辦法提權的。 線程

    三、若是把HKEY_CLASSES_ROOT\CLSID\{3ad05575-8857-4850-9277-11b85bdb8e09}\Elevation的Enable改成0,這個工具就不靈了~不過也會帶來反作用:不能經過explorer直接在關鍵目錄右鍵新建、刪除文件夾了。 htm

   (via:http://www.cnblogs.com/pofante/articles/2150072.html 對象

利用UAC白名單突破UAC控制提權: blog

  經過給系統中的UAC白名單程序傳遞特定的參數來讓UAC白名單程序替咱們完成相關操做。UAC白名單程序默認執行既有管理員權限,而且不會彈出UAC確認對話框。這裏轉出具體的三個例子:

  1. Wusa.exe exploit.cab /extract:c:\windows\system32\sysprep
    釋放文件到系統目錄。不彈出UAC框,而且可過360

  2. infDefault.exe exploit.inf
    修改註冊表,可建立服務。不彈出UAC框,而且可過360

  3. PkgMgr.exe
    同Wusa。

    (via:http://www.pfmboy.com/post/107.html

另種提權介紹

    比較經常使用的利用系統程序的方法是利用系統動態加載 DLL的特性,在系統中還有一份名單爲 KnownDlls,當一個程序須要動態加載 DLL 的時候,會先在這份名單之中進行查找,若是找到則加載相應路徑的DLL 文件,若是沒有找到則

依照當前目錄、 System32 目錄的順序進行查找,所以若是能找到一個程序動態調用的 DLL 文件不在KnownDlls 中,而在 System32 下面,則能夠僞造一個相應的 DLL,來實現藉助其餘程序來執行須要的操做。

  在全部白名單程序中,正好有這樣一個程序,即 sysprep.exe,它的位置爲 System32/sysprep/,而它在啓動時,會動態加載一個 CRYPTBASE.DLL,這個 DLL 在 System32 下面,所以 sysprep.exe 會在當前目錄尋找的時候加載失

敗,繼而轉到 System32 目錄查找,試着臨時生成一個假的 CRYPTBASE.DLL 放在 sysprep 文件夾下,在 sysprep.exe啓動時,將加載假的 CRYPTBASE.DLL,從而執行咱們須要的操做。

    sysprep.exe 加載假 CRYPTBASE.DLL線程注入白名單中的程序所有都在系統目錄當中,所以要把生成的假 DLL 複製到程序目錄中, 將會因爲權限問題而觸發 UAC,這樣便失效了。所以,須要特別的方法來把假 DLL 給複製到系統目錄內,而且不會觸發系統的權限控制。

  這一步的操做也須要系統白名單的程序來實現,選用的程序爲EXPLORER進程,首先使用遠程線程的方法把DLL注入到EXPLORER進程,而後再經過EXPLORER把CRYPTBASE.DLL複製到指定目錄UAC不會提示。全部操做完成後啓動

sysprep.exe咱們的DLL就會被加載,從而繞過成功。但這個方法缺點也很明顯,在注入EXPLORER進程時,殺毒軟件已經開始關注了。

   (via:http://net.zol.com.cn/402/4021155.html  http://aj4kyrudup.l31.yunpan.cn/lk/QG9pTSZycCyVn 針對UAC的安全與研究--Instruder

另類功能:

    利用Sysprep功能,能夠很方便地重裝系統。

   一、運行Sysprep(此處以Windows 7爲例:%SystemRoot%\system32\sysprep\sysprep.exe)

  二、在「系統清理操做」裏選擇「進入系統全新體驗(OOBE)」並勾選「通用(G)」。 

 三、在「關機選項」裏選擇「從新啓動」。 

 四、單擊「肯定」。(請三思後而行,由於按下「肯定」鍵後就會當即從新啓動並進行配置,全部的軟件都會被幹掉,和剛重裝同樣,C盤會不會被幹掉尚未研究過) 

 五、等待配置完畢後啓動,就和剛重裝時同樣了,比重裝速度快、方便。

 (via:www.baike.com/wiki/sysprep‎)


此處還有一個很不錯的提權帖子:http://blog.kingsamchen.com/archives/801

相關文章
相關標籤/搜索