Unquoted Service Paths提權


前言:都寫出來記錄下吧

當系統管理員配置Windows服務時,他們必須指定要執行的命令,或者運行可執行文件的路徑。

當Windows服務運行時,會發生以下兩種情況之一。

第一種:如果給出了可執行文件,並且引用了完整路徑,則系統會按字面解釋它並執行。

第二種:如果服務的二進制路徑未包含在引號中,則操作系統將會執行找到的空格分隔的服務路徑的第一個實例。


不帶引號的服務路徑查看方法:

wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """

例如這個服務的可執行路徑為:C:\Program Files (x86)\Sangfor\SSL\Promote\SangforPromoteService.exe

那么服務啟動的時候運行的可執行文件就會有如下幾種:

C:\Program.exe
C:\Program Files (x86)\Sangfor\SSL\Promote\SangforPromoteService.exe

我們第一個實驗:調用system函數進行執行分別來標識system("whoami >> whoami.exe")

然后我們可以嘗試運行C:\Program Files (x86)\Sangfor\SSL\Promote\SangforPromoteService.exe

發現C:\會多出whoami.exetxt的文件


第二個實驗:我們將Program Files當作一個完整的路徑,那么也就是用雙引號進行包裹

運行C:\"Program Files" (x86)\Sangfor\SSL\Promote\SangforPromoteService.exe

運行C:\Program Files.exe


總結:

1、在msf中exploit/windows/local/trusted_service_path,這個模塊也可以進行相應的利用,但是如果要更加隱蔽的話,大家還是參考上面的wmic的命令吧!

2、比較雞肋,因為大家都知道C:\ 目錄默認是不讓寫的,但是大家可以去了解下什么叫Weak File Permissions,能幫助到你進行深一步的提權!

3、對於路徑配置的提權,我們所需要的權限只需要能寫!

參考文章:https://tulpa-security.com/2016/10/20/unquoted-service-paths/


免責聲明!

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



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