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 服务枚举

  1. 检查网站首页,发现黑客留言(无实际利用价值)
  2. 查找 robots.txt 文件,发现 /hidden_text 目录
  3. /hidden_text 目录下发现 secret.dic 文件,包含大量潜在目录

目录暴力破解

处理 secret.dic 文件后,使用 dirsearch 进行目录枚举:

python3 dirsearch.py --url="192.168.190.95/" -w /path/to/secret.dic

发现重要目录:/pwned.vuln(会跳转到登录页面)

0x03 初始访问获取

Web 登录页面分析

  1. 尝试弱口令登录失败
  2. 检查请求响应,发现注释的 PHP 代码,包含用户名和密码
    • 但凭据无法直接用于登录

FTP 服务利用

  1. 使用 Web 页面发现的用户名尝试 FTP 登录
  2. 成功登录后,发现 share 文件夹,包含:
    • 私钥文件(id_rsa)
    • note.txt 文件(包含用户名 "ariana")

SSH 登录

  1. 使用 note.txt 中的用户名和私钥尝试 SSH 登录:
chmod 600 id_rsa
ssh -i id_rsa ariana@192.168.190.95
  1. 成功获取初始 shell

0x04 权限提升

Sudo 权限利用

  1. 检查 sudo 权限:
sudo -l

发现可以以 selena 用户身份无密码运行 /home/messenger.sh

  1. 分析 messenger.sh 脚本,发现存在命令执行漏洞

  2. 获取 selena 用户的 shell:

sudo -u selena /home/messenger.sh
# 在脚本执行时输入能够产生交互式 shell 的命令,如:
bash

Docker 组提权

  1. 检查 selena 用户的组:
groups

发现 selena 属于 docker 组

  1. 查看可用 Docker 镜像:
docker images
  1. 使用 GTFOBins 提供的 Docker 提权方法:
docker run -v /:/mnt --rm -it alpine chroot /mnt sh

原理:将主机根目录挂载到容器的 /mnt 目录,然后 chroot 到 /mnt

  1. 成功获取 root 权限

0x05 关键知识点总结

  1. 信息收集:不要忽视 robots.txt 和潜在字典文件
  2. 凭证复用:Web 发现的凭据可能用于其他服务(如 FTP)
  3. SSH 私钥利用:注意文件权限设置(chmod 600)
  4. Sudo 提权:始终检查 sudo -l 的输出
  5. Docker 组提权
    • 属于 docker 组的用户可以提权
    • 利用方法:挂载主机文件系统并 chroot
    • 参考资源:GTFOBins (https://gtfobins.github.io/)

0x06 防御建议

  1. 避免在代码注释中存放敏感信息
  2. 限制 FTP 匿名访问
  3. 妥善管理 SSH 私钥
  4. 谨慎分配 sudo 权限
  5. Docker 安全实践:
    • 避免将普通用户加入 docker 组
    • 使用 rootless 模式运行 Docker
    • 定期更新 Docker 版本

0x07 扩展学习资源

  1. Docker 安全最佳实践:https://docs.docker.com/engine/security/
  2. GTFOBins:Linux 二进制提权技术集合
  3. OSCP 权限提升方法大全:https://github.com/swisskyrepo/PayloadsAllTheThings
OSCP PG—Pwned1 靶机渗透测试教学文档 0x01 靶机概述 Pwned1 是一个 OSCP 练习靶机,虽然标题暗示可能存在缓冲区溢出漏洞,但实际上主要考察以下技术点: 信息收集与目录枚举 FTP 匿名登录利用 SSH 私钥利用 Sudo 权限提升 Docker 组提权 0x02 信息收集阶段 端口扫描 使用 masscan 进行快速端口扫描: 发现开放端口:21(FTP)、22(SSH)、80(HTTP) 使用 nmap 进行详细扫描: Web 服务枚举 检查网站首页,发现黑客留言(无实际利用价值) 查找 robots.txt 文件,发现 /hidden_text 目录 在 /hidden_text 目录下发现 secret.dic 文件,包含大量潜在目录 目录暴力破解 处理 secret.dic 文件后,使用 dirsearch 进行目录枚举: 发现重要目录: /pwned.vuln (会跳转到登录页面) 0x03 初始访问获取 Web 登录页面分析 尝试弱口令登录失败 检查请求响应,发现注释的 PHP 代码,包含用户名和密码 但凭据无法直接用于登录 FTP 服务利用 使用 Web 页面发现的用户名尝试 FTP 登录 成功登录后,发现 share 文件夹,包含: 私钥文件(id_ rsa) note.txt 文件(包含用户名 "ariana") SSH 登录 使用 note.txt 中的用户名和私钥尝试 SSH 登录: 成功获取初始 shell 0x04 权限提升 Sudo 权限利用 检查 sudo 权限: 发现可以以 selena 用户身份无密码运行 /home/messenger.sh 分析 messenger.sh 脚本,发现存在命令执行漏洞 获取 selena 用户的 shell: Docker 组提权 检查 selena 用户的组: 发现 selena 属于 docker 组 查看可用 Docker 镜像: 使用 GTFOBins 提供的 Docker 提权方法: 原理:将主机根目录挂载到容器的 /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