通过 AWS SSO 设备代码认证进行 AWS 凭证钓鱼攻击(2024 年更新)
通过 AWS SSO 设备代码认证进行 AWS 凭证钓鱼攻击(2024 年更新)
背景
AWS SSO 简介
AWS SSO(现称为 Identity Center)是 AWS 提供的多账户权限管理服务。支持三种身份源:
直接创建在 AWS SSO 身份存储中
从 Active Directory 同步
通过 SAML 集成第三方身份提供商(如 Okta)
CLI 使用机制
AWS SSO 实现了 OAuth 2.0 设备授权许可标准,支持 CLI 认证流程:
系统会生成设备验证链接和代码,用户通过浏览器完成认证。
攻击原理
设备代码授权流程
客户端调用
sso-oidc:RegisterClient
注册 OIDC 客户端调用
sso-oidc:StartDeviceAuthorization
生成验证链接用户打开链接完成身份提供商认证
客户端调用
sso-oidc:CreateToken
获取 SSO 访问令牌
钓鱼攻击步骤
步骤 0:获取目标信息通过社会工程或子域名发现获取 AWS SSO URL:
步骤 1:发起设备代码授权
步骤 2:发送钓鱼链接受害者看到合法的 AWS 验证页面,只需点击"允许"即可完成授权。
步骤 3:获取访问令牌
步骤 4:枚举 AWS 资源
列出可访问账户:
sso:ListAccounts
列出账户角色:
sso:ListAccountRoles
获取 STS 凭证:
sso:GetRoleCredentials
检测与防护
CloudTrail 日志事件
检测策略
邮件网关检测:拦截
device.sso.<region>.amazonaws.com
链接IP 差异检测:监控短时间内不同 IP 的 ListApplications 和 CreateToken 事件
异常活动检测:监控 sso:ListAccountRoles 事件数量异常增长
凭证撤销
通过移除用户的所有权限集分配可立即撤销访问令牌:
直接移除用户权限分配
移除所属组的权限分配
结论
设备代码认证虽然提升了 CLI 使用体验,但存在固有的钓鱼风险。组织需要结合安全意识培训和 CloudTrail 监控来加强防护。AWS 明确表示这是设计特性而非漏洞,所有实现 OIDC 设备代码认证的身份提供商都存在类似风险。更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码

评论