AWS - IAM Post Exploitation
Last updated
Last updated
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
有关 IAM 访问的更多信息:
AWS - IAM, Identity Center & SSO Enum如果您允许一个外部账户 (A) 访问您账户中的 角色,您可能对 谁可以确切访问该外部账户 没有任何可见性。这是一个问题,因为如果另一个外部账户 (B) 可以访问外部账户 (A),那么 B 也可能能够访问您的账户。
因此,当允许外部账户访问您账户中的角色时,可以指定一个 ExternalId
。这是一个外部账户 (A) 需要指定的 "秘密" 字符串,以便 假设您组织中的角色。由于 外部账户 B 不会知道这个字符串,即使他可以访问 A,他也 无法访问您的角色。
但是,请注意,这个 ExternalId
"秘密" 并不是秘密,任何可以 读取 IAM 假设角色策略的人都能看到它。但只要外部账户 A 知道它,而外部账户 B 不知道它,这就 防止了 B 滥用 A 来访问您的角色。
示例:
攻击者需要以某种方式查找当前账户的主体是否可以在其他账户中冒充角色,以利用混淆的副手。
此策略允许所有AWS承担该角色。
此策略允许任何账户配置其 apigateway 以调用此 Lambda。
如果一个 S3 桶被作为主体,因为 S3 桶没有账户 ID,如果你删除了你的桶而攻击者在他们自己的账户中创建了它,那么他们可能会滥用这一点。
避免混淆代理问题的常见方法是使用带有 AWS:SourceArn
的条件来检查来源 ARN。然而,某些服务可能不支持这一点(根据一些来源,CloudTrail 就是如此)。
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)