當前位置:
首頁 > 最新 > 使用Powershell Bypass UAC

使用Powershell Bypass UAC

0x00 簡介

UAC(User Account Control,用戶帳戶控制)是微軟為提高系統安全而在Windows Vista中引入的新技術,它要求用戶在執行可能會影響計算機運行的操作或執行更改影響其他用戶的設置的操作之前,提供許可權或管理員?密碼。也就是說一旦用戶允許啟動的應用程序通過UAC驗證,那麼這個程序也就有了管理員許可權。許多情況下,我們獲取了反彈的shell但是由於UAC這個煩人的東西並不能獲取最高的許可權,今天主要介紹使用powershell來bypass uac從而獲取更高的許可權。


通常繞過UAC的方法如下:

step1: 複製DLL文件到C:WindowsSystem32sysprep目錄,DLL的名字取決於操作系統版本,比如Windows7為CRYPTBASE.dll,Windows8為shcore.dll。

step2:從上面的目錄執行Sysprep.exe。他將載入上面的DLL,完成許可權的提升。

具體dll名及利用exe如下表:

總結了一下突破Windows UAC的方式主要有以下幾種:

1、使用IFileOperation COM介面;

2、使用Wusa.exe的extract選項;

3、遠程注入SHELLCODE 到傀儡進程;

4、DLL劫持,劫持系統的DLL文件;

5、直接提權過UAC;

6、MS15-076(感覺上也可以用到) POC。

部分方式需要我們將DLL文件拷貝到相應的目錄,這裡拿Sysprep來做測試,要往這個目錄拷貝文件需要管理員的許可權,直接copy是不可以的,本文介紹的腳本使用了第二種方式,下面是一個測試。

使用copy:

使用Wusa.exe:

可以看到使用wusa成功拷貝。


Invoke-PsUACme 是nishang的一個腳本,該腳本使用了列表中的幾個方式來進行bypass UAC,目前支持Win7 ,Win8,由於Win10的wusa extract選項不在受支持,所以此腳本並不適用於Win10。

該腳本的所使用的DLL來自於開源項目UACME。nishang作者對代碼進行了一下簡單地修改,這裡就不詳細說了。

這裡介紹一下腳本的使用,載入腳本:

查看說明:

主要參數說明:Payload為自定義要執行的程序;method為bypass的方式,包括Sysprep,OOBE,ActionQueue等幾種;Verbose顯示程序運行過程;CustomDLL64,CustomDLL32可以指定自定義DLL。

執行:

執行某個自定義程序需要在payload出填寫絕對路徑。

自定義DLL:


1)通過bypass UAC我們可以通過普通的cmd抓到管理員密碼。

普通cmd運行在線抓明文:

bypass UAC以後:

2.讓meterpreter獲得更高的許可權。

生成payload:

將輸出文件保存為psh.ps1

msf開啟監聽:

普通cmd執行:

bypass UAC 以後執行:


我修改了一個使用遠程注入方式Bypass UAC的powersell腳本以支持Win10,腳本地址:戳我

使用方式與nishang不同,並沒有回顯,使用win10進行測試:

除了上面的腳本,UACME也很好的支持win10,使用方式為:

繞過UAC能獲取更高的許可權,你還發愁抓密碼么?

文章出處:Evi1cg"s blog

你可能喜歡


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 黑白之道 的精彩文章:

針對某mysql批量提權工具的後門分析
Drupal遠程代碼執行漏洞分析

TAG:黑白之道 |