HackTheBox - Bucket Writeup [2020]
Intro
S3是AWS(Amazon)的一个云存储桶(Bucket),可以用来存储可用的公共云存储资源,可提供可伸缩性,数据可用性,安全性和性能,就容量而言,可以存储在S3中的对象的数量和数量不受限制。对象是S3中的基本实体,可以用来存储各式各样的东西,它由数据,键和元数据组成。
详见:https://aws.amazon.com/cn/s3/
Attack
首先对靶机进行扫描,并枚举出对应的服务
扫描结果发现目标机子开放了 ssh
和 http
端口,且 80 端口做了一个301跳转,这个以 .htb 结尾的域名是靶机的一个突破口,先在 hosts
文件添加该服务器的IP地址和域名,然后在访问该服务器发现可以正常打开web服务了
整个网站就一静态文件,审查元素看了下发现有个主机为 s3 的子域,但这主机是访问不了的
为此我们再往 hosts 文件里绑定这个域名,然后再打开 s3,发现图片可以正常显示了,访问网站根目录返回 {"status": "running"}
接下来一顿瞎操作,爆破ssh,查找敏感文件,最后使用 Dirsearch 找出两条可访问的路径
1 | python3 dirsearch.py -u http://s3.bucket.htb -e /usr/po7/dic/shells.txt |
访问 /health 返回如下结果
可以看出来这台服务器运行着 Awazon 的网络服务(S3存储桶以及与DynamoDB服务)访问 /shell 跳转到了 http://444af250749d:4566/shell
简单分析下接下来的流程,不出意外的话我们需要通过 aws cli 连上s3这个桶,
aws cli的使用方法
详见查看:https://blog.csdn.net/libing_thinking/article/details/48091743
官方文档:https://docs.aws.amazon.com/cli/latest/reference/
如果你没有配置任何东西的话,则需要使用 aws configure
配置CLI,题目没有给出任何的 ID和Key,为此我们随便填即可
1 | root@zqx:~/hacking# aws configure |
填好后我们开始挨个枚举服务,列出 S3 会发现一个叫 adserver 的桶
而列出 DynamoDB 的所有表,会发现一个叫 users 的表
查看表内容发现了三个账号,由于我们还不知道该在哪使用它,所以先放一边,待会用得着
返回 s3 列出adserver里边的文件
会发现这个就是我们刚才访问的那个网站,前面已经写了S3是一个存储对象,同时也是一台云服务器,我们可以在上边运行各种命令,接下来我们反弹个 shell 试试,然后用 nc -vlp [ Port ]
等待连接
脚本地址:https://github.com/icecliffs/backup/tree/main/php-webshell
访问目标php,连接成功,但这破题会隔几秒钟把新的文件删除掉,我敲了几个命令就连不上了,所以接下来必须抓紧时间获取重要信息,自己的权限低的一批,但查看 /etc/passwd
文件发现有几个用户
第一眼就看到了 roy 是个正常用户
随便翻了一下后,user.txt 有猫腻,打开后获得 flag ,本题结束
HackTheBox - Bucket Writeup [2020]
https://iloli.moe/2020/12/23/HackTheBox-Bucket-Writeup-2020/