內網滲透——struts2遠程任意代碼執行(s2-046)


0X01:struts2介紹:

Struts2是一個基於MVC設計模式的web應用框架,它本質上相當於一個servlet,在MVC設計模式中,struts2作為控制器來建立模型與視圖的數據交互。Struts2的使用范圍及其廣泛,國內外均有大量廠商使用該框架。

 

0X02:漏洞介紹:

根據漏洞提交者紕漏,s2-046的利用條件有以下三個方面:

1.系統必須使用jakarta插件,檢查struts2配置文件中是否有以下配置:<constant name = “struts.multipart.parser” value = “Jakarta-stream”/>。

2.上傳文件的大小(由content-Lsength頭指定)大於struts2允許的最大大小(2GB)。

3.文件名內容構造惡意的OGNL內容。

 

0X03:利用環境:

攻擊機:windows 10物理機

靶   機:實際內網環境

 

0X04:整體思路:

step1:取得權限。

step2:權限提升。

step3:密碼讀取。

step4:內網拓展,密碼碰撞,獲取多台服務器權限。

 

0X05:攻擊過程:

使用poc檢測到目標主機存在此漏洞。

使用漏洞利用工具進行遠程命令執行:添加賬戶test(用戶名:test、密碼:19491001China!)。

 將test賬戶添加到管理員(administrators)組。

 探測發現目標開啟3389端口,所以使用創建的test賬戶進行遠程登錄測試。

 上傳mimikatz抓取管理員(administrator)用戶名、密碼,首先提權。

成功抓取到管理員(administrator)的用戶名、密碼(用戶名:administrator、密碼:Qhwy520)。

根據抓取到administrator的用戶名、密碼,對整個B段開放3389端口的服務器進行密碼碰撞,成功獲取到多台服務器用戶名、密碼,如下圖所示:

 


免責聲明!

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



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