HackTheBox Soccer
0x000 信息收集
开启靶机,获取到IP地址
端口扫描
nmap -sC -sV 10.10.11.194 -o soccer
老规矩,hosts文件不能忘
访问域名,显示如下网页,是一个静态页面。
这里:作者说要制作一个专门介绍世界杯足球实况的网页,我猜测可能存在其他子域名或者其他目录
先来扫一下子域名,很遗憾,没有发现子域名信息。
目录扫描
gobuster dir -u http://soccer.htb/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
0x001 漏洞利用
源码泄露
看见文件管理,心想是不是可以找到源码,直接去GitHub碰碰运气,没想到还真找到了
https://github.com/prasathmani/tinyfilemanager
结果,不止网站源码找到了,还有意外收获
文件上传
尝试登陆后台,admin/admin@123成功进入后台
发现文件上传(要点击到这个样子才能上传文件)
发现可以直接上传php一句话木马
就当我处于获取到webshell的喜悦中,我上传的木马没了,这扯不扯。。。
重新来上传一个反弹shell 木马吧
发现普通用户player,但是当前没权限访问用户目录下的文件。
去看看/etc/nginx目录下有什么文件,发现一个可用的站点,抱着好奇的心态进去,发现有一个奇怪的文件
打开,发现这里存在一个网站域名:soc-player.soccer.htb
老规矩,添加hosts文件访问;此刻更加证实了我前面的猜想,果真还有一个子域名
Websocket SQL注入漏洞
这里有登陆界面,但是没有账号和密码,所以只能注册一个喽
查看网页源代码
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
因此,当我们传入 id 参数的时候,会发送到这个服务器“ws://soc-player.soccer.htb:9001”
https://rayhan0x01.github.io/ctf/2021/04/02/blind-sqli-over-websocket-automation.html
复制代码,然后修改如下地方
安装模块
pip3 install websocket-client
python3 so.py
运行脚本开启MiddleWare服务
sqlmap -u http://localhost:8081/?id=1 --dump-all --exclude-sysdbs
--dump-all:查找并转储找到的所有数据库
--exclude-sysdbs:不会在默认数据库上浪费时间
0x002 提权
ssh登陆
suid文件提权
查找suid权限的文件:find / -perm -u=s -type f 2>/dev/null
此刻,先来查找一下doas的配置文件
find / -type f -name "doas.conf" 2>/dev/null
接下来查找插件的目录,并在此处创建一个提权的插件
查看插件列表
doas -u root /usr/bin/dstat --list
doas -u root /usr/bin/dstat --qwed