vulnhub Me-and-My-Girlfriend-1
前言
本文所使用的工具可参考以下仓库:
这是一个来自 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,所以本靶机我们将进行两轮攻击:
- 第一轮:复现 Writeup(WP)的方法操作,完成课程要求。
- 第二轮:结合自身理解与技巧,尝试更高效或独特的解决方案。
第一轮
这一轮复现WP,解题步骤及描述仅作简单调整
首先不知道靶机的IP,netdiscover(kali自带的基于ARP协议的网段扫描工具)发现靶机IP:192.168.100.128
1 | |

nmap进行扫描一波,发现开放SSH以及80。
SSH端口先放过它,基本没有弱口令,等有相关用户名密码再来搞它,去80端口看看。
1 | |
-p-:扫描目标主机 1–65535 全端口(TCP)。-A:启用“高级检测”(“aggressive”模式),包括:- 服务版本探测(
-sV) - 操作系统识别(
-O) - 默认脚本扫描(
-sC,相当于--script=default) - traceroute
- 服务版本探测(

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 | |
- 全端口扫描(不遗漏隐藏服务)
1 | |
- 主机发现
1 | |
- 服务版本及漏洞快速扫描
1 | |
- 高危服务专项扫描(如SMB/HTTP/SSH等)
1 | |
- 规避防火墙/检测IDS
1 | |
扫扫目录,目录以及文件没有有用信息,只能从80找突破口。
1 | |

访问/robots.txt
User-Agent: *
Allow: /heyhoo.txt
然后访问/heyhoo.txt,
Great! What you need now is reconn, attack and got the shell
这里是提示我们信息收集、发动攻击,然后拿到 shell。
看看misc目录
1 | |

看看config目录
1 | |

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

这是知识点了,要改xff头。
1 | |
这里在bp里添加xff头

修改完之后我们就进来了。
这结构必须试一试SQL注入和本地包含,之前找到的两个目录下还有两个PHP文件,也许有东西。
但是经过测试发现,不存在SQL注入和本地包含,这条路是死了。
1 | |
可以注意到有主页、登录、注册、等功能,但是我们不能登录。那就先注册一个。
登录之后又看到了熟悉的参数试一试有没有注入,发现还是没有。
1 | |

看看profile

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

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


| 用户名 | 密码 |
|---|---|
| eweuhtandingan | skuyatuh |
| aingmaung | qwerty!!! |
| sundatea | indONEsia |
| sedihaingmah | cedihhihihi |
| alice | 4lic3 |
| abdikasepak | dorrrrr |
这不就有了用户名和密码,回手掏,去干SSH得到账号密码
1 | |
1 | |

SSH找到第一个flag
1 | |

起服务,拉脚本
1 | |
1 | |

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

1 | |

第二轮
这一轮用更熟悉的打法
fscan扫一下网段
1 | |

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

tscanplus扫目录

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

1 | |

这结构必须试一试SQL注入和本地包含。之前找到的两个目录下还有两个PHP文件,也许有东西。但是经过测试发现,不存在SQL注入和本地包含。这条路是死了。
1 | |
可以注意到又主页、登录、注册、等功能,但是我们不能登录。那就先注 册一个。
登录之后又看到了熟悉的参数试一试有没有注入。发现还是没有。
1 | |

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

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

| 用户名 | 密码 |
|---|---|
| eweuhtandingan | skuyatuh |
| aingmaung | qwerty!!! |
| sundatea | indONEsia |
| sedihaingmah | cedihhihihi |
| alice | 4lic3 |
| abdikasepak | dorrrrr |
这不就有了用户名和密码,回手掏,去干SSH得到账号密码

SSH找到第一个flag
1 | |

有sudo提权漏洞

搜利用方式

1 | |

反弹shell,pwncat连接,得到tty
读flag
