Vulnhub靶场之Me-and-my-girlfriend

Vulnhub靶场"Me-and-my-girlfriend"的完整渗透测试过程。

下载连接: https://download.vulnhub.com/meandmygirlfriend/Me-and-My-Girlfriend-1.ova

靶场封面
图注:靶场封面

前置工作

下载后双击

导入虚拟机
图注:导入虚拟机

导入Vmware

Vmware
图注:Vmware

然后为这个虚拟机选择仅主机网卡

仅主机网卡
图注:仅主机网卡

渗透测试

由于我们没有这个靶机的任何信息,所以我们要进行信息收集

信息收集

首先将外网网卡断开连接,避免网卡冲突

已知的是攻击机与靶机在同一网段,我们可以使用nmap或者arp-scan攻击进行内网扫描

arp-scan -l
nmap 192.168.19.0/24
arp-scan扫描
图注:arp-scan扫描
nmap扫描
图注:nmap扫描

主机IP:192.168.19.129

开放端口: 22,80

访问端口

打开浏览器访问一下80端口

访问80端口
图注:访问80端口

查看一下页面源码

页面源码
图注:页面源码

简单的XFF,我们使用插件将访问IP改为127.0.0.1(X-Forwarded-For Header)

XFF插件
图注:XFF插件

IP填127.0.0.1

配置IP
图注:配置IP

再次刷新网页,显示出网页内容

网页内容
图注:网页内容

目录扫描

使用dirsearch,进行目录扫描

dirsearch -u "http://192.168.19.129/?page=index"
dirsearch扫描
图注:dirsearch扫描

将扫描存在的结果进行访问,在robots.txt中发现信息

robots.txt
图注:robots.txt

访问heyhoo.txt

heyhoo.txt
图注:heyhoo.txt

这里没有flag,我们回到index页想办法get shell

Get shell

这里选择注册一个用户并登录,查看登陆后有没有什么疑点

注册登录
图注:注册登录

登陆后经过观察,发现是get传参

GET传参
图注:GET传参

也许管理员用户就隐藏在其中,将id改成1试试

修改id
图注:修改id

果然,用户名也跟着发生了改变,查看页面源码,将input标签的类型改为text查看密码

查看密码
图注:查看密码

得到一组用户名和密码,继续挨个将其余的用户名和密码整理出来

id=1
Eweuh Tandingan
eweuhtandingan
skuyatuh

id=2
Aing Maung
aingmaung
aingmaung

id=3
Sunda Tea
sundatea
indONEsia

id=4
Sedih Aing Mah
sedihaingmah
cedihhihihi

id=5
Alice Geulis
alice
4lic3

在尝试到id=5的时候,得到了alice用户,题目中说girlfriend名字是alice,所以尝试使用alice的账号远程登录

ssh alice@192.168.19.129
SSH登录
图注:SSH登录

成功get shell

使用ls -a查看用户目录有什么文件

查看文件
图注:查看文件

在.my_secret下找到了flag1.txt,尝试提权寻找其它flag

提权

因为是web服务器,查看一下apache的目录

apache目录
图注:apache目录

发现root用户和密码

root/ctf_pasti_bisa

提权成功
图注:提权成功

提权成功,寻找flag2

flag2
图注:flag2

在root家目录发现flag2

总结

技术要点总结

1. 信息收集阶段

  • 使用 arp-scannmap 进行内网主机发现,定位目标IP 192.168.19.129
  • 发现开放端口:22(SSH)、80(HTTP)
  • 端口扫描是渗透测试的第一步,为后续攻击奠定基础

2. Web应用侦察

  • 通过修改 X-Forwarded-For Header 为 127.0.0.1 绕过IP访问限制
  • 使用 dirsearch 进行目录扫描,在 robots.txt 中发现关键文件 heyhoo.txt
  • 善于使用目录扫描工具和查看 robots.txt 等常见位置

3. 敏感信息获取

  • 注册并登录后发现 GET 传参漏洞:?page=profile&id=5
  • 通过修改 id 参数遍历用户信息(id=1 到 id=5)
  • 利用浏览器开发者工具修改 input 标签的 type 属性(password → text)查看明文密码
  • 最终获取到目标用户 alice 的凭据:alice / 4lic3

4. 获取初始访问权限

  • 使用获取的 SSH 凭据成功登录目标系统
  • 在用户目录 .my_secret/flag1.txt 中找到第一个 flag

5. 权限提升

  • 检查 Web 服务器配置文件(Apache 配置目录)
  • 在配置文件中发现明文的 root 用户密码:ctf_pasti_bisa
  • 使用 root 凭据通过 SSH 提权成功
  • /root/flag2.txt 中找到第二个 flag

安全启示

  • 弱口令风险:系统使用了简单的密码,容易被猜测或暴力破解
  • 配置文件泄露:敏感的数据库或管理员凭据不应明文存储在配置文件中
  • 输入验证不足:GET 参数可直接遍历用户信息,缺少访问控制
  • IP过滤不可靠:仅依赖 HTTP Header 进行IP过滤容易被绕过
  • 前端验证不可信:密码字段通过前端隐藏,后端未做额外保护

Flag 信息

Flag 1 : gfriEND{2f5f21b2af1b8c3e227bcf35544f8f09}
Flag 2: gfriEND{56fbeef560930e77ff984b644fde66e7}
文章评论