文章首发于:火线Zone云安全社区
作者:ricky
01
Blob配置错误-公开访问
在创建存储账户时,默认是启用Blob公共访问的,当创建容器的访问级别配置为容器(匿名读取访问容器和blob)时,就会导致匿名请求枚举容器中的 blob。
https://pic1.zhimg.com/80/v2-2ba2203ef229148644e4a9a6a0069dc4_1440w.jpg
https://pic4.zhimg.com/80/v2-822d44750f5773b4cd3e92356b0bbeeb_1440w.jpg
当配置访问级别为专用或禁用Blob公共访问时,提示ResourceNotFound。
https://pic1.zhimg.com/80/v2-91567f7cfb0db10df95e90171b71da90_1440w.jpg
当配置访问级别为Blob(仅匿名读取访问blob)时,可以读取容器中的blob,但是不可以枚举。
https://pic1.zhimg.com/80/v2-3deaab956558118aa16c847da01643e4_1440w.jpg
https://pic2.zhimg.com/80/v2-f31aa062b56bac8cd64f7b7716906221_1440w.jpg
02
使用DNS枚举
每个资源终结点都是<存储帐户>.blob.core.windows.net
存在时,可以解析
https://pic1.zhimg.com/80/v2-2e5c4f35368773383cd0df18d993f120_1440w.jpg
不存在时,无法解析
https://pic1.zhimg.com/80/v2-996e407559b59c1cd94abd5d17d15c90_1440w.jpg
使用Dns 枚举进行发现
python dnscan.py -d http://blob.core.windows.net -w subdomains-100.txt
https://pic2.zhimg.com/80/v2-86c452af77fbb64560541a44f7650da1_1440w.jpg
03
Bucket Object 遍历
当创建容器的访问级别配置为容器(匿名读取访问容器和blob)时,就会导致匿名请求枚举容器中的 blob。
https://pic4.zhimg.com/80/v2-822d44750f5773b4cd3e92356b0bbeeb_1440w.jpg
04
account keys泄漏
• Github代码中泄露
• 网站JS代码
https://pic1.zhimg.com/80/v2-e0809a8d6201889742dca328f54b98d0_1440w.jpg
05
子域名接管
创建好Blob后自定义域,即可以通过自定义域去访问资源。
https://pic4.zhimg.com/80/v2-9bcae478ef64df14312722b364811817_1440w.jpg
https://pic4.zhimg.com/80/v2-70f26d9ee00f11bf36c9884b69ccffc3_1440w.jpg
当删除该存储账户后访问。
https://pic1.zhimg.com/80/v2-1820932c027b602496b704045743ca38_1440w.jpg
再次创建相同的存储账户去接管子域名。
https://pic2.zhimg.com/80/v2-c770358846b3ac4cc327f4e10ea686f5_1440w.jpg