Aria2 任意文件寫入漏洞
Path aria2/rce
Aria2是一個命令行下輕量級、多協議、多來源的下載工具(支持 HTTP/HTTPS、FTP、BitTorrent、Metalink),內建XML-RPC和JSON-RPC接口。在有權限的情況下,我們可以使用RPC接口來操作aria2來下載文件,將文件下載至任意目錄,造成一個任意文件寫入漏洞。
參考文章:https://paper.seebug.org/120/
環境搭建
啟動漏洞環境:
docker-compose up -d
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:

然后點擊Add,增加一個新的下載任務。在Dir的位置填寫下載至的目錄,File Name處填寫文件名。比如,我們通過寫入一個crond任務來反彈shell:

這時候,arai2會將惡意文件(我指定的URL)下載到/etc/cron.d/目錄下,文件名為shell。而在debian中,/etc/cron.d目錄下的所有文件將被作為計劃任務配置文件(類似crontab)讀取,等待一分鐘不到即成功反彈shell:

如果反彈不成功,注意crontab文件的格式,以及換行符必須是
\n,且文件結尾需要有一個換行符。
當然,我們也可以嘗試寫入其他文件,更多利用方法可以參考這篇文章
Vulhub 文檔
推薦文章: