安全路透社
当前位置:安全路透社 > 网络转载 > 正文

AWS常见安全问题汇总

*原创作者:c0debreak

简介

前段时间看到一个CTF: flaws.cloud,它展示了AWS和S3一些常见的安全问题

intro.jpg

场景一

对 S3 权限的利用:当 Everyone 具有访问权限时,带来一系列安全问题

level1-intro.jpg

那么如何找到 flaws.cloud 对应的 S3 Bucket 呢?

通过DNS解析,我们发现 flaws.cloud 指向 54.231.176.211,再经过反解,得知这台服务器在 s3-website-us-west-2.amazonaws.com

level1-1.jpg

从解析记录来看,服务器在 us-west-2 区域,尝试读取一下内容,

level1-2.jpg

在 secrets.html 里找到了下一关的域名,进入下一关

level1-3.jpg

HackerOne 案例

Shopify S3 Bucket 信息泄露 – $500

修复方式

在 Bucket Permission 里删除相关权限配置

screen 2017-03-19 at 09.18.44.jpg

场景二

还是S3权限问题,虽然去掉了 Everyone 的权限,但是却给 “Any Authenticated AWS User” 授予了权限,

level2-1.jpg

所以,我们可以注册一个账号,也可以直接从 github 找一个 aws access key

不论是哪种方式,配置好 awscli 之后,即可用相同的方法下载S3的数据

level2-2.jpg

HackerOne 案例

Udemy S3 写权限控制不当

修复方式

同场景一

场景三

aws access key 管理问题,

level3-intro.jpg

用同样的方式下载 S3 的内容,

level3-1.jpg

在 git log 中发现端倪

level3-2.jpg

使用 git diff f7cebc46b471ca9838a0bdd1074bb498a3f84c87 找到了删除的 aws access key & secret

level3-3.jpg

用这个 access key 列出全部的 S3 实例

level3-4.jpg

level3-5.jpg

找到了 level4 的地址,继续

修复方式

删掉 .git,

在 IAM -> Users -> Access Keys 里重新分配 aws access key & secret

场景四

这一关是对 EC2 快照的利用,对于一个没有权限限制的快照,任何人都可以通过挂载这个快照,并提取快照里的内容

l4.jpg

通过 snapshot 相关指令获取到了 snapshot 的编号,

l4-2.jpg

l4-3.jpg

然后我们尝试挂载一下这个快照,

level5-0.jpg

挂载的时候似乎一直不成功,最后在控制台里发现,这个快照是 us-west-2a 区域的,而新申请的 EC2 实例是 2c 区域的

console.jpg

level5-1.jpg

快照是无法跨区挂载的,只好跳关~

场景五

AWS 开放代理和 metadata 地址的利用;metadata 目前有一些自动化的利用工具,e.g nimbostratus

简而言之,通过 169.254.169.254 这个地址可以获取到一些信息,用于提升权限等等

level5-intro.jpg

我们用代理服务访问以下 metadata 地址,

level5-1.jpg

经过一层层深挖,找到了 aws access key & secrets

level5-2.jpg

按照同样的方式,建立一个新的 level5 profile,然后读取 level6 的内容,e.g

curl http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws/ | jq -rj '"[level5]\naws_access_key_id = ", .AccessKeyId, "\naws_secret_access_key = ", .SecretAccessKey, "\naws_session_token = ", .Token, "\n"' >> ~/.aws/credentials

找到最后一关的 URL,继续

level5-3.jpg

场景六

这一关是对 IAM 权限 的利用,

level6-intro.jpg

使用上面的信息配置好 awscli 后,我们先看下这个key的权限有多大,

level6-2.jpg

尝试读取一下这个 list_apigateways 策略,先获取默认版本号,再读指定顶版本号的策略

level6-3.jpg

level6-4.jpg

可以看出,当前用户有 API gateway 的权限,那么都有哪些可以调用呢?

level6-1-1.jpg

那么这个 AWS Lamba 的URL是什么呢?

level6-1-2.jpg

使用 stageName、region 以及函数名,拼凑出完整的 API 路径。

level6-1-3.jpg

按照提示打开页面,结束战斗

end.jpg

最后发个广告,点这里有惊喜哦

*原创作者:c0debreak

未经允许不得转载:安全路透社 » AWS常见安全问题汇总

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册