JBoss漏洞总结
近期遇到一次考核,兩題都是關于jboss的相關漏洞,雖然都復現過,畢竟腦子有限,所以記錄一下,有不對的地方歡迎指正
jboss一般有2種類型的的漏洞:
a.訪問控制不嚴導致的漏洞 b.反序列化漏洞Jboss管理控制臺說明
jboss 4.x 及其之前的版本 console 管理路徑為 /jmx-console/ 和 /web-console/
jmx-console的配置文件為:
/opt/jboss/jboss4/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml
web-console的配置文件為:
/opt/jboss/jboss4/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml
一定要注意不同網站之間jboss的絕對路徑一定是有區別的
jboss的控制臺賬號密碼說明
jmx-console 和 web-console的賬戶密碼相同密碼文件保存在一下路徑下:
/opt/jboss/jboss4/server/default/conf/props/jmx-console-users.properties1:訪問控制不嚴導致的漏洞
a :JMX Console未授權訪問Getshell
漏洞描述:
由于JBoss中/jmx-console/HtmlAdaptor路徑對外開放,并且沒有任何身份驗證機制,導致攻擊者可以進?到jmx控制臺,并在其中執?任何功能
影響版本:
Jboss4.x以下版本。
利用方式:
Jboxx4.x /jmx-console/ 后臺存在未授權訪問,進入后臺后,可直接部署 war 包Getshell。若需登錄,可以嘗試爆破弱口令登錄(類似于tomcat的War包配置漏洞)
注:因為沒有環境:操作方式就略過。
b :JMX Console HtmlAdaptor Getshell(CVE-2007-1036)
漏洞描述:
此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路徑對外開放,并且沒有任何身份驗證機制,導致攻擊者可以進?到jmx控制臺,并在其中執?任何功能。
該漏洞利?的是后臺中jboss.admin -> DeploymentFileRepository -> store()利用?法,
通過向四個參數傳?信息,達到上傳shell的?的,
其中arg0傳?的是部署的war包名字,
arg1傳?的是上傳的?件的?件名,
arg2傳?的是上傳?件的?件格式,
arg3傳?的是上傳?件中的內容。
通過控制這四個參數即可上傳shell,控制整臺服務器
影響版本:
Jboss4.x以下
漏洞利用:
輸?url
定位到store?法
注:后面的CVE-2010-0738和CVE-2006-5750漏洞也存在這一特性。
c :JMX控制臺安全驗證繞過漏洞(CVE-2010-0738)
漏洞描述:
該漏洞利??法跟CVE-2007-1036?樣,只是繞過了get和post傳輸限制,?
head傳輸?式發送payload
影響版本:
jboss4.2.0、jboss 4.3.0
漏洞利用:
利?head傳輸?式,payload如下:
d :CVE-2006-5750
漏洞描述:
此漏洞利用原理和CVE-2007-1036漏洞相同,唯一的區別是CVE-2006-5750漏洞利用methodIndex進行store()方法的調用。其中methodIndex是通過方法的編號進行調用。
以下是高版本的jboss后臺
Jboss5.x/6.x控制臺
Jboss5.x開始棄用了 web-console ,增加了 admin-console。
jboss5.x / 6.x 版本 console 路徑為 /jmx-console/ 和 /admin-console/。
jmx-console的配置文件為:
admin-console的配置文件為:
jboss/common/deploy/admin-console.war/WEB-INF/jboss-web.xml #jboss的絕對路徑不同網站不一樣控制臺賬號密碼:
jmx-console 和 web-console 共用一個賬號密碼 ,賬號密碼文件該路徑下
Jboss 5.x/6.x admin-Console后臺部署war包Getshell:
Jboss5.X開始,jmx-console不能部署war包了,需要admin-console后臺部署
2:反序列化漏洞。
a :JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501):
這是經典的 JBoss 反序列化漏洞
漏洞描述:
JBoss在 /invoker/JMXInvokerServlet 請求中讀取了用戶傳入的對象,
然后我們可以利用 Apache Commons Collections 中的 Gadget 執行任意代碼。
由于JBoss中invoker/JMXInvokerServlet路徑對外開放,JBoss的jmx組件?持Java反序列化
影響版本:
實際上主要集中在 jboss 6.x 版本上:
漏洞探測方法:
此漏洞存在于JBoss中 /invoker/JMXInvokerServlet 路徑。訪問若提示下載 JMXInvokerServlet,則可能存在漏洞。
之后的步驟:簡要說明
b:JBoss EJBInvokerServlet CVE-2013-4810 反序列化漏洞
此漏洞和CVE-2015-7501漏洞原理相同,
兩者的區別
就在于兩個漏洞選擇的進行其中JMXInvokerServlet和EJBInvokerServlet利用的是org.jboss.invocation.MarshalledValue進行的反序列化操作,
而web-console/Invoker利用的是org.jboss.console.remote.RemoteMBeanInvocation進行反序列化并上傳構造的文件。
影響版本
實際上主要集中在 jboss 6.x 版本上:
漏洞利用:
同CVE-2015-7501利??法?樣,只是路徑不?樣,這個漏洞利?路徑是 /invoker/EJBInvokerServlet
c:JBOSSMQ JMS CVE-2017-7504 集群反序列化漏洞 4.X
漏洞描述:
JBoss AS 4.x及之前版本中,JbossMQ實現過程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java?件存在反序列化漏洞,
遠程攻擊者可借助特制的序列化數據利?該漏洞執?任意代碼。
影響版本
JBoss AS 4.x及之前版本
漏洞利用
1、 首先驗證目標jboss是否存在此漏洞,直接訪問 /jbossmq-httpil/HTTPServerILServlet 路徑下。若訪問200,則可能存在漏洞。
使用工具:此處我們使用JavaDeserH2HC工具來利用該漏洞,嘗試直接彈回一個shell。
d :JBoss 5.x/6.x CVE-2017-12149 反序列化漏洞
漏洞描述:
該漏洞為 Java反序列化錯誤類型,存在于 Jboss 的 HttpInvoker 組件中的 ReadOnlyAccessFilter 過濾器中。
該過濾器在沒有進行任何安全檢查的情況下嘗試將來自客戶端的數據流進行反序列化,從而導致了漏洞。
該漏洞出現在**/invoker/readonly**請求中,服務器將用戶提交的POST內容進行了Java反序列化,導致傳入的攜帶惡意代碼的序列化數據執行。
影響版本
JbossAS 5.x
JbossAS 6.x
漏洞驗證POC:
http://目標:8080/invoker/readonly 如果出現報 500 錯誤,則說明目標機器可能存在此漏洞
還可以利用現成工具:CVE-2017-12149 jboss反序列化v1.0探測
然后使用 javadeserh2hc 完成利用過程
-----------------------------------------------分割線------------------------------------------------------------
最后如果有不對的地方歡迎大家指正,近期會發表關于zabbix的漏洞復現
總結
- 上一篇: 液压外部测试系统软件,液压测试系统的软件
- 下一篇: 戴尔bios升级