vulnhub Mercury
0x01 端口扫描
扫描结果:8080、22
其余信息什么也没有,开始web渗透:
0x02 web渗透
可以确定是目录爆破
各目录扫描均无结果,怀疑是特殊目录名,打开浏览器测试:
熟悉的django的404页面,而且开启了debug,暴露出了所有目录,由此得知了隐藏目录mercuryfacts
好像没什么信息,下载图片检查,没有信息
又注意到facts/1处伪静态传参,想到todo里面说直接连接了数据库,测试注入:
测出注入,选用报错注入:
另注意:若跑sqlmap,注入点在url要在注入点前加星号
1 |
|
webmaster登录成功
0x03 提权–pwnkit
拿到linuxmaster的凭证
枚举时意外的发现polkit有root的s位,尝试提权:
常规利用失败,尝试打pwnkit:
成功提权
0x04 预期提权–环境变量劫持+sudo提权
在linuxmaster下sudo枚举:
有sudo权限的脚本文件使用了tail命令,很遗憾这个脚本没有写权限,但是可以执行,想到可以用环境变量去劫持掉tail命令,替换成vim命令,此时就可以把命令执行点外带出来
注意:,sudo 命令会使用安全的默认的PATH路径,并不会使用我们刚export的当前目录,故产生了上述报错,需要加一个
--preserve-env=PATH
参数
成功root
1 |
|
0x05 非预期–内核提权
0x06 总结
- 端口扫描:ssh、web
- web渗透:django未关debug导致404报错出隐藏目录,对url的页面参数注入,报错注入拿到登录凭据
- 提权:在web用户家目录下发现系统用户的凭据,登录后枚举到polkit的s位,使用pwnkit提权成功;预期提权,劫持有sudo权限的脚本所使用的tail命令为vim的执行文件,外带出root的命令执行点,成功提权
vulnhub Mercury
https://fyhypo.github.io/blog/vulnhub/vulnhub Mercury/