天天看點

繞過UAC提權

UAC提權

    • 簡介
    • UAC授權操作
    • UAC的設定要求
    • bypassuac子產品
    • RunAs子產品
    • Invoke-PsUACme子產品
    • Empire中的bypassuac子產品
    • 防禦措施

簡介

UAC是微軟為提高系統安全性中引入的技術。UAC要求使用者在執行可能影響計算機運作的操作或者在進行可能影響其他使用者的設定之前,擁有相應的權限或者管理者密碼。UAC在操作啟動前對使用者身份進行驗證,以避免惡意軟體和間諜軟體在未經許可的情況下在計算機上進行安裝操作或者對計算機設定進行修改。

微軟設定的安全控制政策,分為高、中、低三個等級。高等級的程序有管理者權限;中等級的程序有普通管理者權限;低等級的程序,權限是有限的,以保證系統在受到安全威脅時造成的損害最小。

UAC授權操作

  • 配置Windows Update
  • 增加/删除賬戶
  • 更改賬戶類型
  • 更改UAC的設定
  • 安裝ActiveX
  • 安裝/解除安裝程式
  • 安裝裝置驅動程式
  • 将檔案移動/複制到Program Files或Windows目錄下
  • 檢視其他使用者的檔案夾

UAC的設定要求

  • 始終通知:每當有程式需要使用進階别的權限都會提示本地使用者,這是最嚴格的設定。
  • 僅在程式試圖更改我的計算機時通知我:這是UAC的預設設定。當本地Windows程式要使用進階别的權限時,不會通知使用者。當第三方程式要使用進階别的權限時,會提示本地使用者。
  • 僅在程式試圖更改我的計算機時通知我(不降低桌面亮度):但在提示使用者時不降低桌面的亮度。
  • 從不提示:當使用者為系統管理者時,所有程式都會以最高權限運作。

bypassuac子產品

假設我們已經擷取到了目标機器的一個普通權限的meterpreter shell,現在嘗試提升為系統System權限。

繞過UAC提權

在使用這個子產品進行提權時,我們必須得獲得本地管理者賬戶權限,且UAC必須為預設設定,要不然提權失敗

繞過UAC提權
繞過UAC提權
繞過UAC提權

當bypassuac子產品運作時,會在目标機器上建立多個檔案,這些檔案會被防毒軟體識别。但因為這子產品是直接運作在記憶體的反射DLL中,是以不會接觸目标機器的硬碟,進而降低了被殺軟檢測的機率。因為這個子產品隻适用于win7及以下的系統,win8以上的系統不适用,具有一定的局限性。

RunAs子產品

我們使用

exploit/windows/local/ask

子產品,建立一個可執行檔案,目标機器會運作一個發起提升權限請求的程式,提示使用者是否要繼續運作,如果使用者繼續運作程式,就會傳回一個高權限的shell

繞過UAC提權
繞過UAC提權

我們點選是後,我們獲得了一個新的session 4

繞過UAC提權
繞過UAC提權

我們在使用RunAs子產品時,需要使用EXE::Custom選項建立一個可執行檔案(需要進行免殺處理)

Invoke-PsUACme子產品

Invoke-PsUACme子產品使用來自UACME項目的DLL繞過UAC,執行如下指令的前提條件是賬戶必須處在管理者組,接下來我們将使用如下指令做示範

Import-module Invoke-PsUACme.ps1		#導入該子產品
Invoke-PsUACme -Verbose					#使用Sysprep方法并執行預設的Payload
Invoke-PsUACme -method oobe -Verbose	#使用oobe方法并執行預設的Payload
Invoke-PsUACme -method oobe -Payload "powershell -windowstyle hidden -e YourEncodePayload"
           

執行完

Invoke-PsUACme -Verbose

這個指令後,會在

Sysprep

temp

目錄下建立了兩個檔案

繞過UAC提權
繞過UAC提權

Empire中的bypassuac子產品

  1. bypassuac子產品

同樣,要執行成功如下指令,使用者必須處于管理者組,有星号則表示已經提權成功

usemodule privesc/bypassuac
set Listener shuteer
execute
           
繞過UAC提權

2. bypassuac_wscript子產品

這個子產品的工作原理是,使用

C:\Windows\wscript.exe

執行payload,即繞過UAC,以管理者權限執行Payload。可惜的是,這個子產品隻能在win7的機器上使用,而且部分防毒軟體會報毒!

usemodule privesc/bypassuac_wscript
set Listener shuteer
execute
           
繞過UAC提權
繞過UAC提權

防禦措施

在企業網絡環境中,防止繞過UAC的最好方法是不讓内網機器的使用者擁有本地管理者的權限,進而降低系統被攻擊的風險。在家庭的網絡環境中,建議使用非管理者權限進行辦公和娛樂。若是一定要使用管理者權限進行操作,我們可以将UAC設定為"始終通知"或者删除該使用者的本地管理者權限,即彈出警告,增加系統機器的安全性。

繼續閱讀