下载靶机
地址:Me and My Girlfriend: 1 ~ VulnHub
下载.ova文件,在VMware中导入该虚拟机,导入完成后开启虚拟机。
靶机背景
这个靶场背景告诉我们有一对恋人,即 Alice 和 Bob,这对情侣原本很浪漫,但自从 Alice 在一家私人公司“Ceban Corp”工作后,Alice 对 Bob 的态度发生了一些变化,就像“ 隐藏”了什么,Bob 请求您帮助以获取 Alice隐藏的内容并获得对公司的完全访问权限!
信息收集
打开我们的Kali,查看kali的ip地址,为192.168.87.170
ip a
由于是靶机环境,目标主机与本地在同一网段,使用nmap进行网段扫描,探测存活主机,由结果判断192.168.87.169看起来像目标主机ip。
nmap -sn 192.168.87.0/24
使用nmap对目标主机进行扫描,显示开放了22端口和80端口,分别是ssh和http服务
nmap -A 192.168.87.169
我们首先使用浏览器访问目标主机的http服务,结果如下图
查看网页源代码,提示我们可以通过x-forwarded-for伪装成本地访问
X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。如今它已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中。
提示我们可以使用这个“x-forwarded-for”插件,这个插件可以在火狐浏览器中直接安装使用
在插件中设置地址为127.0.0.1并刷新页面,发现可以正常访问了。
然后挨个标签点一下看看,发现除了注册页面,其他地方都没有什么端倪。尝试注册一个账号。
我们发现在地址栏中的URL有漏洞可以利用。我自己创建的账号登陆成功后,最后显示这个user_id=12,那似乎说明user_id还可以等于12之前的数字。挨个尝试一下看效果
这个用户名眼熟啊,在介绍里看到这就是这个故事里面的主人公之一。但是现在只能看见用户名,不知道密码。再次打开页面源码,发现可以找到明文的密码。
由于靶机开放了22端口可以用来远程登陆,使用这个用户名和密码尝试登陆靶机。
ssh alice@192.168.87.169
用户:alice
密码:4lic3
然后使用ls -la命令,查看当前用户所在目录的内容。
ls -la
有个名为“my_secret”的隐藏目录,这是有小秘密啊,这不看一看
cd my_secret
看到有flag1.txt和my_notes.txt
cat flag1.txt
再查看my_notes.txt 除了bob的绿帽子没有任何收获。
cat my_notes.txt
根据flag信息的提示,得知我们下一步应该尝试获取到root权限。
使用sudo -l命令,看到这个账号在php下可以执行root权限
sudo -l
那就使用PHP回调bash提权。
sudo php -r 'system("/bin/bash");'
然后使用find命令,全局搜索文件名包含flag字样的文件,读取文件,得到第二个flag。
至此,此次试验圆满完成!