OSCP PG—Pwned1
字数 1441 2025-08-10 14:13:03
OSCP PG—Pwned1 靶机渗透测试教学文档
0x01 靶机概述
Pwned1 是一个 OSCP 练习靶机,虽然标题暗示可能存在缓冲区溢出漏洞,但实际上主要考察以下技术点:
- 信息收集与目录枚举
- FTP 匿名登录利用
- SSH 私钥利用
- Sudo 权限提升
- Docker 组提权
0x02 信息收集阶段
端口扫描
使用 masscan 进行快速端口扫描:
masscan -p 0-65535 192.168.190.95 --rate=10000 -e tun0
发现开放端口:21(FTP)、22(SSH)、80(HTTP)
使用 nmap 进行详细扫描:
nmap -sC -sS -p 21,22,80 192.168.190.95 -oN nmap.txt
Web 服务枚举
- 检查网站首页,发现黑客留言(无实际利用价值)
- 查找 robots.txt 文件,发现
/hidden_text目录 - 在
/hidden_text目录下发现secret.dic文件,包含大量潜在目录
目录暴力破解
处理 secret.dic 文件后,使用 dirsearch 进行目录枚举:
python3 dirsearch.py --url="192.168.190.95/" -w /path/to/secret.dic
发现重要目录:/pwned.vuln(会跳转到登录页面)
0x03 初始访问获取
Web 登录页面分析
- 尝试弱口令登录失败
- 检查请求响应,发现注释的 PHP 代码,包含用户名和密码
- 但凭据无法直接用于登录
FTP 服务利用
- 使用 Web 页面发现的用户名尝试 FTP 登录
- 成功登录后,发现
share文件夹,包含:- 私钥文件(id_rsa)
- note.txt 文件(包含用户名 "ariana")
SSH 登录
- 使用 note.txt 中的用户名和私钥尝试 SSH 登录:
chmod 600 id_rsa
ssh -i id_rsa ariana@192.168.190.95
- 成功获取初始 shell
0x04 权限提升
Sudo 权限利用
- 检查 sudo 权限:
sudo -l
发现可以以 selena 用户身份无密码运行 /home/messenger.sh
-
分析 messenger.sh 脚本,发现存在命令执行漏洞
-
获取 selena 用户的 shell:
sudo -u selena /home/messenger.sh
# 在脚本执行时输入能够产生交互式 shell 的命令,如:
bash
Docker 组提权
- 检查 selena 用户的组:
groups
发现 selena 属于 docker 组
- 查看可用 Docker 镜像:
docker images
- 使用 GTFOBins 提供的 Docker 提权方法:
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
原理:将主机根目录挂载到容器的 /mnt 目录,然后 chroot 到 /mnt
- 成功获取 root 权限
0x05 关键知识点总结
- 信息收集:不要忽视 robots.txt 和潜在字典文件
- 凭证复用:Web 发现的凭据可能用于其他服务(如 FTP)
- SSH 私钥利用:注意文件权限设置(chmod 600)
- Sudo 提权:始终检查 sudo -l 的输出
- Docker 组提权:
- 属于 docker 组的用户可以提权
- 利用方法:挂载主机文件系统并 chroot
- 参考资源:GTFOBins (https://gtfobins.github.io/)
0x06 防御建议
- 避免在代码注释中存放敏感信息
- 限制 FTP 匿名访问
- 妥善管理 SSH 私钥
- 谨慎分配 sudo 权限
- Docker 安全实践:
- 避免将普通用户加入 docker 组
- 使用 rootless 模式运行 Docker
- 定期更新 Docker 版本
0x07 扩展学习资源
- Docker 安全最佳实践:https://docs.docker.com/engine/security/
- GTFOBins:Linux 二进制提权技术集合
- OSCP 权限提升方法大全:https://github.com/swisskyrepo/PayloadsAllTheThings