当前位置: 首页 > news >正文

通过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认证流程:

$ aws configure sso
SSO start URL: https://my-sso-portal.awsapps.com/start
SSO region: us-east-1

系统会生成设备验证链接和代码,用户通过浏览器完成认证。

攻击原理

设备代码授权流程

  1. 客户端调用sso-oidc:RegisterClient注册OIDC客户端
  2. 调用sso-oidc:StartDeviceAuthorization生成验证链接
  3. 用户打开链接完成身份提供商认证
  4. 客户端调用sso-oidc:CreateToken获取SSO访问令牌

钓鱼攻击步骤

步骤0:获取目标信息
通过社会工程或子域名发现获取AWS SSO URL:

$ curl https://victim.awsapps.com/start/ | grep 'meta name="region"'

步骤1:发起设备代码授权

sso_oidc = boto3.client('sso-oidc', region_name=REGION)
client = sso_oidc.register_client(clientName='my-attacker')
authz = sso_oidc.start_device_authorization(clientId=client_id,startUrl=AWS_SSO_START_URL
)

步骤2:发送钓鱼链接
受害者看到合法的AWS验证页面,只需点击"允许"即可完成授权。

步骤3:获取访问令牌

token_response = sso_oidc.create_token(deviceCode=deviceCode,grantType="urn:ietf:params:oauth:grant-type:device_code"
)

步骤4:枚举AWS资源

  • 列出可访问账户:sso:ListAccounts
  • 列出账户角色:sso:ListAccountRoles
  • 获取STS凭证:sso:GetRoleCredentials

检测与防护

CloudTrail日志事件

攻击步骤 CloudTrail事件 源IP
生成设备代码 无日志 N/A
受害者查看提示 sso:ListApplications 受害者IP
获取访问令牌 sso-oidc:CreateToken 攻击者IP
枚举账户角色 sso:ListAccounts/sso:ListAccountRoles 攻击者IP

检测策略

  1. 邮件网关检测:拦截device.sso.<region>.amazonaws.com链接
  2. IP差异检测:监控短时间内不同IP的ListApplications和CreateToken事件
  3. 异常活动检测:监控sso:ListAccountRoles事件数量异常增长

凭证撤销

通过移除用户的所有权限集分配可立即撤销访问令牌:

  • 直接移除用户权限分配
  • 移除所属组的权限分配

结论

设备代码认证虽然提升了CLI使用体验,但存在固有的钓鱼风险。组织需要结合安全意识培训和CloudTrail监控来加强防护。AWS明确表示这是设计特性而非漏洞,所有实现OIDC设备代码认证的身份提供商都存在类似风险。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.rkmt.cn/news/12949.html

相关文章:

  • wireshark 过滤
  • 解码数据结构栈
  • 什么?你的蓝牙用不了了?
  • Halcon算子——2D几何变换
  • 2025钉螺,花螺,田螺,香辣麻辣钉螺,捞汁钉螺,鲜活钉螺,无沙去尾钉螺厂家推荐榜单:全链条生产 + 北部湾原料,破解沙臭空壳痛点钉螺工厂选购指南!
  • insta go2 对比vivo x100pro超广角
  • 《C++程序设计》笔记p4 - 指南
  • 深入解析:Tomcat
  • 概率/期望 $dp$
  • 计算机毕业设计springboot我国制氢产业专利检索系统的设计与实现 基于Spring Boot框架的中国制氢产业专利检索平台开发与设计 Spring Boot手艺驱动的中国制氢产业专利检索系统构建
  • 9.21~9.27
  • Jetbrains 全家桶激活码激活
  • 配置本地环境以管理Git多账户SSH连接
  • 2025 年空气离合器生产厂家推荐榜:电网冲击缓解技术与可靠性测评,单片空气离合器,多片空气离合器,空气离合器摩擦片,空气离合器密封件公司推荐
  • 2025 年气动离合器品牌推荐排行榜发布,聚焦博得 PLC 控制技术与降本优势,常开式气动离合器,多片式气动离合器,气动离合器电磁阀,气动离合器气缸,单片式气动离合器工厂推荐
  • Dropout
  • 经典排序算法深度解析 - 实践
  • 第十篇:模块一总结与答疑:如何养成良好的编码习惯和调试思维 - 实践
  • Java网络编程(七):NIO实战构建高性能Socket服务器 - 实践
  • 完整教程:【大模型理论篇】用于时间序列预测的纯解码器基础模型TimesFM-2.5
  • Tita 项目经营一体化建筑业企业解决方案
  • CD78.【C++ Dev】以AVL任务的bug讲讲调试技巧
  • np.random.rand
  • 冯延巳-风乍起,吹皱一池春水。
  • 完整教程:逻辑回归中的决策边界解析与应用实例
  • VSCode+Window+Chrome常用快捷键
  • Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
  • 学习Sci. Adv. 关于AMP_generator文章-复现
  • 完整教程:【微实验】激光测径系列(六)MATLAB 实现 CCD 图像像素与实际距离标定
  • 坐观垂钓者,徒有羡鱼情:孟浩然与当代人的无能为力之痛