一、环境准备
搭建靶机环境
VMWare虚拟机镜像下载地址
https://download.vulnhub.com/meandmygirlfriend/Me-and-My-Girlfriend-1.ova
配置VMware net模式下kali机可以联网
二、发现靶机
查看攻击机kali的ip为192.168.152.128
使用nmap扫描网段内的ip地址
启动靶机(kali和靶机需要均在net模式下)
在kali上再次扫描
可以确定192.168.152.129就是目标靶机的IP地址
三、端口扫描
使用nmap对目标靶机开放的端口进行扫描
nmap -Pn -n -sV 192.168.152.129
发现靶机仅开放了两个tcp端口22和80
四、查询Alice账户
访问80端口,提示我们此网站只能在本地访问
查看网页源码,注释部分提示我们使用x-forwarded-for
使用bursuit抓取此页面的包
用本地地址127.0.0.1替换x-Forwarder-For的8.8.8.8
点击Forward发送包,发现一个注册登录界面
翻译如下
我们注册一个合法用户
注:这里需要一直开着burpsuit,每次都要修改x-Forwarder-For为127.0.0.1,后面就略过了)
注册成功后点击login登录
查看用户信息页面的url发现其中携带有用户id
(如图我们注册的用户的id为12,可推测Alice的id可能小于12)
我们尝试更改用户id,来找到Alice的id。
...
通过id的遍历最终我们找到Alice的id为5,发现他的账户信息
通过查看源码发现Alice账户的密码为4lic3
五、我们进行撞库测试
用获取的Alice账户和密码尝试远程登录
ssh 192.168.152.129 -l alice
连接成功
六、获取第一个flag
七、提权
搜索带有SUID的程序,查看是否存在可以被利用提权的
find / -user root -perm -4000 -print 2>/dev/null
发现没有可以被利用来提权的
查看sudo配置
sudo -l
(下图/usr/bin/php是PHP的程序文件,通过php命令可以直接执行PHP代码)
大体意思如下
我们发现alice用户可以用sudo执行php的命令
所以我们让alice以sudo的方式执行system()函数,并通过该函数去执行系统中的/bin/bash程序。
sudo php -r “system(‘/bin/bash’);”
这个命令的实质就是以root用户的身份去执行/bin/bash,因此就以root的身份打开了一个shell,从而实现了提权
八、获取第二个Flag2