免责声明:本教程仅限学术讨论使用,请勿作用于非法用途!!!如有用于非法用途,本人概不负责。
一、信息收集
1、端口扫描
发现两个端口:22、80;其中80端口扫描后发现其重定向至域名
我们将域名添加至/etc/hosts中,使kali可以解析。
2、子域名收集
我们发现一个域名,所以我们可以尝试是否存在子域名。
找到子域名 mattermost.shoppy.htb,并将其添加到/etc/hosts中。
3、跑目录
通过对shoppy.htb扫描,发现路径中有/admin跳转至/login
二、对已知信息进行手动检查
访问shoppy.htb并查看源代码,没有发现。
访问mattermost.shoppy.htb发现登录页面
访问shoppy.htb/admin也发现登录页面
此时可想到尝试使用万能密码对两个登录页面进行尝试,在shoppy.htb/admin,使用payload:admin'||''==='可进入后台
在搜索框中搜索admin'||''===',可获得用户hash
使用 hashcat搭配字典rockyou(默认在/usr/share/wordlists/下)可获得密码
此时可尝试用该用户名和密码登录mattermost.shoppy.htb
通过查看内容,发现一个用户名和密码,尝试使用该用户名和密码进行ssh连接即可获取user flag。
三、提权
首先sudo -l检查该用户可执行与无法执行的指令
发现该用户可以deploy用户运行 /home/deploy/password-manager,我们运行该指令,发现需要输入密码
一番尝试后决定去查看这个文件夹看看能否有收获
在查看该文件时发现密码,尝试使用该密码
得到deploy用户的密码,通过ssh可进入该用户
一番尝试后发现可能漏掉了什么信息导致无法获取root,于是又一次返回网站查看是否有提示,发现该网站的部署是用docker,可尝试使用
docker run -v /:/mnt --rm -it alpine chroot /mnt sh来获得root的shell(参考docker | GTFOBins)
查看/即可获得flag
本文发布于:2024-01-28 19:44:10,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064422569823.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |