freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何查找目标S3 Bucket属于哪一个账号ID
2021-07-20 00:05:14

关于S3 Account Search

S3 Account Search可以帮助广大研究查找目标S3 Bucket属于哪一个账号ID。为了实现这个功能,我们需要拥有至少下列权限之一:

从Bucket下载一个已知文件的权限(s3:getObject);

枚举Bucket内容列表的权限(s3:ListBucket);

除此之外,你还需要一个角色,能够包含上述之一权限。

工具安装

我们可以通过pypi来安装S3 Account Search工具包,比如说,我们可以使用下列其中一个命令来完成安装,这里推荐使用pipx:

pipx install s3-account-search
pip install s3-account-search

工具使用样例

# 使用一个bucket进行查询

s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket

# 使用一个对象进行查询

s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket/path/to/object.ext

# Y还可以去掉s3://

s3-account-search arn:aws:iam::123456789012:role/s3_read my-bucket

# 或者提供一个指定的源配置文件进行查询

s3-account-search --profile source_profile arn:aws:iam::123456789012:role/s3_read s3://my-bucket

工具运行机制

S3中有一个IAM策略条件-s3:ResourceAccount,这个条件用来给指定账号提供目标S3的访问权,但同时也支持通配符。通过构建正确的模式,我们就可以查看哪些模式将导致拒绝访问或允许访问,这样就能够找出目标账号ID了。

项目开发

我们使用Poetry来管理这个项目,首先,我们需要使用下列命令将该项目源码克隆至本地:

git clone https://github.com/WeAreCloudar/s3-account-search

然后,运行下列安装命令:

poetry install

最后,使用下列命令激活虚拟环境:

poetry shell

poetry run $command

向pypi发布一个新版本

编辑toml并更新版本号;

提交版本号;

运行下列命令:

poetry publish --build

推送至GitHub;

在GitHub上创建一个新的Release;

项目地址

S3 Account Search:GitHub传送门

参考资料

https://www.cloudar.be/awsblog/finding-the-accountid-of-any-public-s3-bucket/

# Bucket # S3 # AWS安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录