vulnhub靶机 PWNLAB:INIT
下载地址:https://www.vulnhub.com/entry/pwnlab-init,158
信息搜集
获取IP地址
端口扫描
80端口
在http://192.168.1.179/?page=login页面发现文件包含漏洞
在index页面也找到了对应的源码,并且有两个文件包含漏洞
另一个是cookie包含文件,也是可以利用成功的
在login源码看到有config.php
在config.php源码当中发现了数据库的用户名密码
之前扫描端口的时候发现开发了3306,使用mysql远程连接
查看登录页面的用户名密码
使用获取的用户名密码登录,密码需要使用base64解密
登录成功,发现上传页面但不允许上传php文件
返回文件包含看一下upload的源码,在这里看到了限制方法
上传一个图片木马
查看图片获得上传路径
getshell
这里可以使用之前发现的cookie文件包含执行命令
kali开启监听,反弹shell
提权
查看用户
看到这些用户感觉特别熟悉,使用之前获取的用户名密码登录靶
直接切换用户发现shell限制,使用python交互shell,再次切换用户
在kane用户的家目录里面找到一个二进制文件
这个程序的作者试图在cat
没有提供完整路径的情况下运行命令。cat
我在运行 Bash 程序的目录中创建了一个文件(基本上是一个 shell 脚本)/tmp
,并将其添加到$PATH
环境变量的开头。这样系统将首先cat
在目录中查找二进制文件,/tmp
然后执行我们的 shell
这样就成功提权到mike了
因为为组设置了 SUID 位,并且可以看到 Mike 在mike
andkane
组中。
在 Mike 的主目录中,有另一个可执行文件可以引导我们进入根目录。另一方面,这个不同。我strings
在文件上运行,发现输入被记录到/root
目录中的文本文件中。用户输入被传递给/bin/echo
命令并最终附加到该messages.txt
文件中。在回显输入后,使用命令注入(基本上是命令连接)来执行 shell。Bash 没有用,所以使用/bin/sh
返回一个 root shell。
成功提权到root
到这里成功完成了该靶机!