一個簡單的BypassUAC編寫
什麼是UAC?
UAC是微軟為提高系統安全而在Windows Vista中引入的新技術,它要求用戶在執行可能會影響計算機運行的操作或執行更改影響其他用戶的設置的操作之前,提供權限或管理員密碼。通過在這些操作啟動前對其進行驗證,UAC可以幫助防止惡意軟件和間諜軟件在未經許可的情況下在計算機上進行安裝或對計算機進行更改。
繞過UAC在滲透測試種有何作用?
在滲透測試中,一般我們要在目標機執行木馬程序時,為了防止目標用戶察覺,或者需要提權操作時可以進行繞過UAC的的限制來完成這些操作。
利用白名單程序來編寫程序來繞過UAC
在這裡我用到的程序是CompMgmtLauncher.exe,在windows/system32目錄,但步僅限於僅此程序能繞過UAC,各位師傅也可找其他白名單程序進行繞過。
這裡啟動CompMgmtLauncher.exe是不會彈UAC的,它的具體功能可以不用管,我們僅僅利用它繞過UAC而已。
啟動CompMgmtLauncher.exe實際上是通過註冊表來啟動,我們可以利用註冊表的信息進行程序的編寫,這裡的註冊表信息在\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mscfile\shell\open\command裏面
也就是說,在這裡啟動的程序是不被UAC攔截的。我們可以修改想要執行的程序的路徑,進行繞過。
代碼編寫
我們利用VS編寫程序來實現這一過程。
運行,可以實現
接下來我們嘗試是否可以上線CS,首先在CS上建立監聽:
生成exe木馬文件
將生成的木馬上傳到目標機的C盤中
接着我們將代碼中的執行文件的路徑修改為木馬的路徑。
編譯成exe,在目標機中執行。
可以看到已經成功上線cs。