rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口。由于配置不当,导致任何人可未授权访问rsync,上传本地文件,下载服务器文件。这种漏洞被称为rsync权限认证漏洞(CVE-2022-29154)。
**漏洞原理**
rsync客户端对文件名的验证不足,攻击者可以利用该漏洞绕过认证机制,获取目标系统的敏感信息。具体来说,当rsync客户端向服务器发送一个带有特殊字符的文件名时,服务器会将该文件名解析为一个命令,并在服务器上执行该命令。这样,攻击者就可以通过构造恶意的文件名来执行任意命令。
**影响范围**
该漏洞影响了rsync 3.2.3及之前的版本。如果您使用了这些版本,并且没有正确配置rsync服务,那么您的系统可能存在该漏洞。
**风险级别**
该漏洞被评为中危。因为该漏洞需要攻击者知道目标系统的rsync模块名,并且需要目标系统开启了rsync服务。但是,一旦攻击者满足了这些条件,他们就可以轻易地获取目标系统的任意文件或执行任意命令。
**利用方法**
利用该漏洞的方法有多种,以下是一些常见的例子:
- 利用nmap或其他工具对目标服务器进行端口扫描,当检测到目标服务器开放873端口后,使用rsync命令,查看是否能获取到模块名列表(需要同步的目录),然后查看模块内的文件。
- 利用metasploit或其他框架提供的模块或脚本来自动化地探测和利用该漏洞。
- 利用crontab定时任务反弹shell¹²。具体步骤如下:
- 下载cron定时任务配置文件并且查看任务内容
- 创建shell文件,写入反弹shell命令
- 传入/etc/cron.hourly目录下
- 监听端口,等待定时任务触发后,接收反弹shell
**防范措施**
针对该漏洞,我们可以采取以下措施来防范:
- 执行升级命令:yum update rsync,将rsync升级到最新版本。
- 更改rysnc默认配置文件/etc/rsyncd.conf,添加或修改参数:
- 访问控制;设置host allow,限制允许访问主机的IP。
- 权限控制;设置read only,将模块设置成只读。
- 访问认证;设置auth、secrets,认证成功才能调用服务。
- 模块隐藏;设置list,将模块隐藏起来¹² 。
- 定期监测rsync服务的运行状态和日志,发现异常及时处理。
**总结**
rsync权限认证漏洞(CVE-2022-29154)是一种由于配置不当导致的漏洞,攻击者可以利用该漏洞获取目标系统的敏感信息或执行任意命令。为了保障系统的安全,建议用户尽快升级到最新版本,并加强系统的安全配置和监测。

发表评论 取消回复