Field
RedTeam
Beginner
Free
Tags
brute force
fuff
lambda
s3
ssm
Status
Done
Huge Logistics, a global powerhouse, has enlisted your expertise to evaluate their cloud security measures. During your preliminary scans, an S3 bucket titledhlogistics-web
caught your attention. Your mission is to use knowledge of the naming convention to access other S3 buckets, and pivot to other cloud services if possible.
题目提供的信息:S3 bucket hlogistics-web
本地打开是一个 HTML 页面,里面有两个桶
hlogistics-images
和 hlogistics-staticfiles
,但里面没啥,版本也看不了,写也写不进去没发了,只能 fuzz 一下有没有其他桶,毕竟它们家公司的桶都是以
hlogistics-
开头的装个 fuzz
region,写入为 regions.txt
下载 aws s3 bucket 字典
开 fuzz!
有个没见过的
hlogistics-beta
,里面有个脚本里面有个 AKSK,看脚本内容是用来操作 lambda 函数的
调用一下
权限不足…
查看一下策略啥的
该策略允许查看 SSM(AWS Systems Manager) 参数
SSM参数允许安全地存储和管理敏感信息和配置数据。我们可以将密码、数据库连接字符串和许可证代码等数据存储为参数值。SSM 和 AWS Secrets Manager 在成本和功能上有所不同。SSM 的免费标准参数高达10000个条目,更具成本效益,而 Secrets Manager 对 API 调用和每个秘密每月收费。Secrets Manager 提供 SSM 所缺乏的自动密码生成和轮换功能。Secrets Manager 被推荐用于全面的秘密管理,而 SSM 是一种成本友好的基本解决方案。
describe 权限不足
get arn 限定的可以,拿到新的 AKSK,以
,
分割查看一下用户,通过 aws-enumerator 枚举发现
ListFunctions
权限查看所有函数
调用
防御
S3存储桶的名称是全局唯一的,公司通常使用易于识别的存储桶名称,并结合位置、公司名称和存储的资源类型或功能。虽然这种方法可以方便地进行内部识别和组织,但它也可以使这些桶成为恶意行为者更可预测的目标。因此,需要在命名的清晰性和安全性之间取得平衡,以便轻松发现S3资产。
将随机字符串附加到S3存储桶名称(例如
hlogistics-backups-626825
)可以帮助隐藏存储桶,使其不容易被发现,这作为深度防御策略的一部分非常有用。这种缓解措施是通过模糊实现安全的一个例子,不建议仅依靠模糊实现安全。虽然随机字符串可以阻止基本的发现尝试,但它不应该是唯一的防线。适当的权限、存储桶策略和监控是必不可少的。我们可以使用 AWS CloudTrail 和 S3 服务器访问日志记录来检测异常活动,以监控对 S3 存储桶的访问和API调用。必须小心过滤掉合法和非合法的请求,否则可能导致“雪盲症”。此外,根据您的公司和内部资源面临的敌对环境,实施 “蜜罐桶” 也可能是值得的,它们使用与对手可能猜测或发现的命名约定相同的命名约定,而您的代码或基础设施都没有引用。对于庞大物流来说,这可能是桶名称,如
hlogistics academy
和 hlogisticswidgets
,使用常见单词列表中的环境名称。可以为这些桶启用日志记录,以便其中一个桶上的任何警报(特别是如果两者都有)都能提供潜在对手正在进行OSINT的良好预警。为了强化 S3 bucket 攻击面,在绝对需要之前限制公共访问是很重要的。此外,bucket策略可以实现为只允许特定的IP地址或VPC端点,理想情况下限制对源自VPC内的请求的访问。
进一步阅读,S3 安全最佳实践