Vulnhub靶场之Me-and-My-Girlfriend
字数 1168 2025-08-15 21:32:43

Vulnhub靶场:Me-and-My-Girlfriend 渗透测试实战教程

一、环境准备

靶机下载

  • 下载地址:https://download.vulnhub.com/meandmygirlfriend/Me-and-My-Girlfriend-1.ova
  • 使用VMware或VirtualBox导入OVA文件

网络配置

  • 建议将Kali攻击机和靶机设置为相同网络模式(推荐NAT模式)
  • 确保两台机器可以互相通信

二、信息收集阶段

1. 网络扫描

使用nmap进行主机发现:

nmap -sn 192.168.1.0/24

发现靶机IP后,进行详细扫描:

nmap -sV -A -p- <靶机IP>

2. Web服务探测

  • 访问靶机IP的80端口
  • 查看网页源代码发现提示:需要X-Forwarded-For请求头

绕过访问限制

方法1:使用浏览器插件ModHeader

  • 添加请求头:X-Forwarded-For: 任意值

方法2:使用curl命令:

curl -H "X-Forwarded-For: 127.0.0.1" http://<靶机IP>/

三、Web应用测试

1. 用户注册与登录

  • 注册一个测试账户
  • 登录后发现Profile页面存在ID参数:id=12
  • 尝试修改ID参数进行水平越权(IDOR漏洞)

2. 密码泄露

  • 使用F12开发者工具修改密码输入框的type="password"type="text"
  • 发现Alice用户的明文密码

3. 目录扫描

使用工具如dirb、gobuster或dirsearch:

gobuster dir -u http://<靶机IP>/ -w /usr/share/wordlists/dirb/common.txt

发现敏感文件:

  • /robots.txt
  • /heyhoo.txt(包含重要提示)

四、漏洞利用

1. SSH访问

  • 使用Alice的凭据通过SSH登录:
ssh alice@<靶机IP>

密码:从Web界面获取的明文密码

2. 初步信息收集

  • 查看home目录:
ls -la /home/alice
  • 发现my_secret目录,包含第一个flag
  • 查看notes.txt获取数据库凭据

3. 数据库访问

使用获取的凭据连接MySQL:

mysql -u root -p

密码:从notes.txt获取

在MySQL中尝试提权:

\! bash

五、权限提升

方法1:通过数据库提权

  • 如上所述,通过MySQL的\!命令执行系统命令

方法2:利用sudo权限

检查Alice的sudo权限:

sudo -l

发现可以以root身份执行php:

sudo php -r "system('/bin/bash');"

方法3:SUID提权

检查具有SUID权限的可执行文件:

find / -perm -4000 2>/dev/null

六、Flag获取

  1. 第一个flag:
  • 路径:/home/alice/my_secret/flag.txt
  1. 最终flag:
  • 提权到root后,通常在/root目录下

七、总结

该靶场涉及的主要漏洞和技术:

  1. HTTP头注入(X-Forwarded-For绕过)
  2. IDOR(不安全的直接对象引用)
  3. 前端安全控制绕过(密码明文暴露)
  4. 敏感信息泄露(robots.txt和heyhoo.txt)
  5. 数据库凭据泄露
  6. 多种提权方法(数据库、sudo、SUID)

通过这个靶场,可以练习从信息收集到权限提升的完整渗透测试流程。

Vulnhub靶场:Me-and-My-Girlfriend 渗透测试实战教程 一、环境准备 靶机下载 下载地址:https://download.vulnhub.com/meandmygirlfriend/Me-and-My-Girlfriend-1.ova 使用VMware或VirtualBox导入OVA文件 网络配置 建议将Kali攻击机和靶机设置为相同网络模式(推荐NAT模式) 确保两台机器可以互相通信 二、信息收集阶段 1. 网络扫描 使用nmap进行主机发现: 发现靶机IP后,进行详细扫描: 2. Web服务探测 访问靶机IP的80端口 查看网页源代码发现提示:需要 X-Forwarded-For 请求头 绕过访问限制 方法1:使用浏览器插件ModHeader 添加请求头: X-Forwarded-For: 任意值 方法2:使用curl命令: 三、Web应用测试 1. 用户注册与登录 注册一个测试账户 登录后发现 Profile 页面存在ID参数: id=12 尝试修改ID参数进行水平越权(IDOR漏洞) 2. 密码泄露 使用F12开发者工具修改密码输入框的 type="password" 为 type="text" 发现Alice用户的明文密码 3. 目录扫描 使用工具如dirb、gobuster或dirsearch: 发现敏感文件: /robots.txt /heyhoo.txt (包含重要提示) 四、漏洞利用 1. SSH访问 使用Alice的凭据通过SSH登录: 密码:从Web界面获取的明文密码 2. 初步信息收集 查看home目录: 发现 my_secret 目录,包含第一个flag 查看 notes.txt 获取数据库凭据 3. 数据库访问 使用获取的凭据连接MySQL: 密码:从notes.txt获取 在MySQL中尝试提权: 五、权限提升 方法1:通过数据库提权 如上所述,通过MySQL的 \! 命令执行系统命令 方法2:利用sudo权限 检查Alice的sudo权限: 发现可以以root身份执行php: 方法3:SUID提权 检查具有SUID权限的可执行文件: 六、Flag获取 第一个flag: 路径: /home/alice/my_secret/flag.txt 最终flag: 提权到root后,通常在 /root 目录下 七、总结 该靶场涉及的主要漏洞和技术: HTTP头注入(X-Forwarded-For绕过) IDOR(不安全的直接对象引用) 前端安全控制绕过(密码明文暴露) 敏感信息泄露(robots.txt和heyhoo.txt) 数据库凭据泄露 多种提权方法(数据库、sudo、SUID) 通过这个靶场,可以练习从信息收集到权限提升的完整渗透测试流程。