JAVA反序列化exp及使用方法
阿新 • • 發佈:2019-01-01
這兩天很火的java反序列化漏洞,看到烏雲大牛已經開始刷分,於是找來實踐一波
exp來源
ysoserial
這個專案針對不同的java產品給出了簡單的漏洞利用指令碼.
其中weblogic和jenkins提供python指令碼,但需自己載入payload.
而對於jboss和websphere則提供了poc的資料包.
更多資訊在:foxglovesecurity.com
foxlovesec
java專案,用於生成payload,配合前面的漏洞利用指令碼使用,便可完成exp.
iswin
http://www.iswin.org/2015/11/13/Apache-CommonsCollections-Deserialized-Vulnerability/
- 隨風師傅分析漏洞原理,並基於foxglovesec提供的payload生成指令碼,給出基於兩種不同方法的改進版exp和poc,exp裡呼叫了隨風師傅的java版反彈shell方法,它的好處是不依賴作業系統環境,相容win和linux,使反彈shell成功率和穩定性更高.
實踐
資源打包
- Java_payload 隨風師傅給出的改良版exp和foxlove的專案程式碼
- jbossexp.py 一個利用指令碼,用於發包
- kiss10500.bin/kiss10501.bin 我測試時生成的兩個payload
- shodan_data.xml 從shodan拿了一些JBOSS服務的主機IP
- shodan_data.xml_sorted 整理後的url,用於批量poc
payload生成
- 用eclipse開啟Java_payload專案,按如下路徑找到main.java
- 程式碼很清晰,找到ip和埠的地方,填入自己機器上用於接受反彈shell的**公網**ip和port.然後下面的路徑是生成payload的儲存地址.
- 執行main.java不報錯即可
- 到指定路徑檢查payload檔案是否已經生成
確定目標
在shodan_data.xml列表裡找幾個網站,放到sebug的照妖鏡裡測試一下是否存在漏洞.
有漏洞的結果是這個樣子:
反彈shell
首先開啟自己在公網接收shell的主機
使用以下命令監聽埠,等待連線
nc -lv 10501
然後開啟另一個命令列,使用python的發包指令碼向目標機發送payload.
命令格式python jbossexp.py [url] [port] [payload]
隨後公網主機會接收到反彈的shell,如下圖.
注意
並不是所有sebug驗證出漏洞的地址都能順利反彈shell,經個人測試,成功率在50%-60%左右,請多加嘗試!
可以郵箱聯絡我索取已經驗證成功並拿到shell的地址.
參考
天上繁b,乃前輩所裝,雖歷歷在目,仍不可盡數.向大牛們學習!