渗透测试之劫持国外某云BucketName


0. 起因:

几天前,收到一个国外目标(公司)的渗透测试任务,时间为两周;

大概看了一下目标是类似于国内阿里云那样提供云服务的平台;

常规信息收集过后,尝试渗透三天无果... 于是下班前只能祭出我的"大杀器"---缝合怪.py。缝合了一些好用的扫描器,一键 XRAY多线程批量扫 + 自动添加任务到AWVS + 自动添加任务到arl + ...加入资产后就下班回家了。

到了第二天一看扫描结果,心里暗道不妙,md坏起来了啊。。。

扫描器里一个洞都没,goby里所有资产显示只开放两个端口80、443。

不慌,问题不大,时间还长,接下来要做的,就是整理思路,重新来过。

在重新整理之前收集到的资产中,发现测试目标的旁站有一个有趣的404页面:

NoSuchBucket + BucketaName

想到了 阿里云 的bucket劫持漏洞,幸福来得太突然了。

1. 经过:

使用测试账号登录自己的云平台尝试进行劫持:

  1. 点击对象存储服务:

  1. 点击创建桶:

  1. 桶的名字为BucketName字段:

  1. 将访问控制权限更改为公共读写:

  1. 点击对象,创建hack.txt:

  1. 完成后刷新http://321.asd.com为如下:

发现BucketName字段消失了,原来的NoSuchBucket也变成了NoSuchCustomDomain,说明我们的修改对它造成了影响!

  1. NoSuchCustomDomain?那我们就来给他设置一个,点击域名管理尝试绑定域名:

  1. 访问http://321.asd.com/

  1. 访问:http://321.asd.com/hack.txt (hack.txt为我们刚才上传的)

    (后期尝试上传图片,html等文件均可)

劫持成功!拿来吧你!

2. 结果:

  1. 删除该桶后,http://321.asd.com/恢复bucket字段:

漏洞危害:劫持Bucket,并开放匿名读取功能。可以挂黑页或引用了js文件,攻击者可以上传恶意js文件,去盗取用户信息。。。

  1. 还有几天时间,接着搞搞(ji xu mo yu),渗透测试一定要耐心并且专注~