【云安全】阿里云 OSS对象存储攻防

【云安全】阿里云 OSS对象存储攻防

文章首发于:火线Zone社区

作者:UzJu


本文分为两个部分

第一部分介绍OSS对象存储攻防的方式
第二部分为真实漏洞案例


01 Bucket权限配置错误-公开访问


在创建Bucket桶时,默认是private的权限,如果在错误的配置下,给了listobject权限,就会导致可遍历存储桶。



在此时如果选择公有读的话,会出现两种情况:


1、在只配置读写权限设置为公有读或公共读写的情况下,无法列出对象。



但是可以直接访问对应的KEY路径:



2、如果想列出Object对象,只需要在Bucket授权策略中设置ListObject即可。



这样再当我们访问存储桶域名的时候就会发现,已经把我们存储桶的东西列出来了。



02 Bucket桶爆破


当不知道 Bucket 名称的时候,可以通过爆破获得 Bucket 名称,这有些类似于目录爆破,只不过目录爆破一般通过状态码判断,而这个通过页面的内容判断。


当对于阿里云OSS 不存在有两种返回情况,分别是 InvalidBucketName 和 NoSuchBucket。



InvalidBucketName:表示存储桶的名称不符合规范,属于无效的存储桶名称。



NoSuchBucket:表示没有这个存储桶。


当存储桶存在时,则会返回以下两种情况



这样通过返回内容的不同,就可以进行 Bucket 名称爆破了,知道 Bucket 名称后,Key 的爆破也就很容易了。


03 特定的Bucket策略配置


特定的策略配置的指的是,如果管理员设置了某些IP,UA才可以请求该存储桶的话,此时如果错误的配置了GetBucketPolicy,可导致攻击者获取策略配置。



可以看到我们此时是没有权限访问该存储桶的,我们尝试使用aliyun的cli获取policy。



我们可以看到,需要符合UserAgent为UzJu才可以访问。



04 Bucket Object遍历



如果设置了ListObject,这将会导致Bucket桶被遍历。



可通过访问Key,来下载该文件。



05 任意文件上传与覆盖


如果在配置存储桶时,管理员错误的将存储桶权限,配置为可写,这将会导致攻击者可上传任意文件到存储桶中,或覆盖已经存在的文件。



如果目标的对象存储支持 html 解析,那就可以利用任意文件上传进行 XSS 钓鱼、挂暗链、挂黑页、供应链投毒等操作。


06AccessKeyId,SecretAccessKey泄露


如果目标的 AccessKeyId、SecretAccessKey 泄露,那么就能获取到目标对象存储的所有权限,一般可以通过以下几种方法进行收集:


1、通过GitHub等开源平台中的源代码可发现存在泄露的Key



2、通过反编译APK,找到敏感信息

3、在目标网站源代码中找到(Js等)



07 Bucket接管


在阿里云下,当 Bucket 显示 NoSuchBucket 说明是可以接管的,如果显示 AccessDenied 则不行。



假设有以下一种情况,管理员通过域名解析并绑定了一个存储桶,但是管理员将存储桶删除后,没有将域名解析的CNAME删除,这时会访问域名就会出现上面的情况,NoSuchBucket。



现在我们将存储桶删除,就会出现如下情况:



现在我们再访问域名会出现如下情况



现在阿里云加了限制,必须在传输管理中配置绑定域名即可。以下情况即可接管该存储桶。



当我们访问存储桶的域名时,提示我们NoSuchBucket,这个时候可以登录自己的阿里云账号,创建同样的名称即可。



此时我们刷新



已经成功接管了该存储桶,尝试上传文件后配置权限公开访问。



08 Bucket 策略配置可写


当我们访问存储桶的时候,会提示我们已经被policy拦截。



我们可以看到Effect中设置为Deny,我们只需要将它更改为Allow即可。



随后使用PUT方法上传



随后我们再使用GET获取



此时我们可以正常看到存储桶中的对象了。



09 修改策略导致网站瘫痪


当策略可写的时候,除了上面的将可原本不可访问的数据设置为可访问从而获得敏感数据外,如果目标网站引用了某个 s3 上的资源文件,而且我们可以对该策略进行读写的话,也可以将原本可访问的资源权限设置为不可访问,这样就会导致网站瘫痪了。



此时我们如果可以修改策略,我们只需要将获取该对象的权限修改为Deny,该网站既无法在获取图片,JS等信息了。



10 实战案例


我们精心挑选了来自火线安全众测项目中,漏洞奖金较高的漏洞进行举例!


1、阿里云存储桶劫持



此时可以看到访问该域名显示NoSuchBucket,那么只需要去阿里云存储桶重新创建一个与HostID一样的存储桶名称即可。



随后只需要上传文件,就可以让该域名显示我们上传的任意文件。



2、反编译小程序,APP找到泄露的Key



3、在JS文件中找到存在泄露的AccessKey


深圳SEO优化公司淮安网站制作哪家好贺州至尊标王公司曲靖网站设计模板塘坑网站推广系统哪家好铜川外贸网站建设哪家好咸阳网站优化按天扣费多少钱来宾阿里店铺运营哪家好淮北百姓网标王阳泉百姓网标王推广推荐黄南设计网站公司成都百度标王公司温州模板推广公司山南百度网站优化报价许昌网站搜索优化公司遵义高端网站设计报价沧州设计公司网站公司临猗品牌网站设计多少钱拉萨关键词按天计费推荐阜阳百度网站优化多少钱开封网站设计模板芜湖seo网站优化报价衢州优秀网站设计多少钱黔东南网站推广方案贵阳英文网站建设黔东南百姓网标王推广价格云浮网站推广价格海口百度关键词包年推广哪家好阳泉关键词按天计费报价海西网站关键词优化推荐临沧高端网站设计多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化