HackTheBox 靶场 Late

前期准备:

配置 openvpn 连接并开启机器。

一、信息收集

1.使用nmap对目标靶机进行端口扫描

image

发现开放了 22 和 80 端口。

2. 80 端口

image

查看源代码:

image

发现有个地址,看域名应该是这台靶机的域名,在 /etc/hosts 文件中添加上再访问:

image

是个上传文件的地方,尝试上传:

image

只能上传 png 图片,不过返回的只有 <p></p>,尝试了其他的上传也没有任何进展,回过头来重新查找线索:

image

发现这个是由 Flask(Flask是一个使用 Python 编写的轻量级 Web 应用框架。) 框架做的,网上查询他有什么漏洞时发现有 SSTI(模板注入漏洞)。

二、漏洞利用

我尝试模糊测试:

image

无果,直接抓包修改数据提交:

image

也不行,想起这是个能将图片转换成文字的网站,我尝试对注入数据进行截图上传:

image

上传后把 results.txt 下载下来查看一下:

image

成功了。之后进行构造 payload 进行测试,进行了很多次测试发现好像执行命令的参数不行,只能进行文件查看,那尝试查看用户和用户下 .ssh 中的文件:

{{url_for.__globals__.__builtins__.open("/etc/passwd").read()}}

image

发现有个 svc_acc 用户可用,看一下它家目录下 .ssh 中是否有密钥:

{{url_for.__globals__.__builtins__.open("/home/svc_acc/.ssh/id_rsa").read()}}

image

确实有,老思路了,基本只能进行文件查看的都会有 id_rsa,那就用这个密钥ssh连接:

chmod 600 id_rsa

ssh svc_acc@10.10.11.156 -i id_rsa

image

查看 flag:

image

三、提权

查看权限和SUID文件:

image

没什么可用的,跑一下 linpeas.sh:

image

image

发现有个 /usr/local/sbin/ssh-alert.sh 脚本,查看一下:

image

像是登录时用到的脚本,跑一下 pspys 确认一下:

image

我在执行登录 ssh 时,确实 root 运行了这个脚本,因为不能编辑,但别的都可以,可以删除重写,不过发现可以追加:

image

那直接追加进去一个反弹 shell:

image

新开窗口再次 ssh 连接并 nc 监听:

image

得到 root,查看 flag:

image

完成。

posted @ 2022-06-06 15:10  sainet  阅读(425)  评论(0编辑  收藏  举报