跳转至

应用程序访问令牌

攻击者可能使用窃取的应用程序访问令牌来绕过典型的身份验证过程,并访问远程系统上的受限账户、信息或服务。这些令牌通常从用户或服务中窃取,并用于替代登录凭证。 应用程序访问令牌用于代表用户或服务进行授权的API请求,通常用于访问云、基于容器的应用程序和软件即服务(SaaS)中的资源。(Citation: Auth0 - Why You Should Always Use Access Tokens to Secure APIs Sept 2019) OAuth 是一种常见的框架,用于向用户发放访问系统的令牌。这些框架协同工作以验证用户身份并确定用户允许执行的操作。一旦身份验证完成,令牌允许授权操作,而无需传递用户的实际凭证。因此,令牌的泄露可能使攻击者通过恶意应用程序访问其他站点的资源。(Citation: okta) 例如,对于基于云的电子邮件服务,一旦OAuth访问令牌被授予恶意应用程序,如果授予了启用后台访问的“刷新”令牌,它可能会长期访问用户账户的功能。(Citation: Microsoft Identity Platform Access 2019) 通过OAuth访问令牌,攻击者可以使用用户授予的REST API执行诸如电子邮件搜索和联系人枚举等功能。(Citation: Staaldraad Phishing with OAuth 2017) 泄露的访问令牌可能被用作入侵其他服务的初始步骤。例如,如果令牌授予了对受害者主要电子邮件的访问权限,攻击者可能能够通过触发忘记密码流程扩展到目标订阅的所有其他服务。在AWS和GCP环境中,攻击者可以触发请求具有另一个用户账户权限的短期访问令牌。(Citation: Google Cloud Service Account Credentials)(Citation: AWS Temporary Security Credentials) 攻击者随后可以使用此令牌请求数据或执行原始账户无法执行的操作。如果此功能的权限配置错误——例如,允许所有用户请求特定账户的令牌——攻击者可能能够获得对云账户的初始访问权限或提升其权限。(Citation: Rhino Security Labs Enumerating AWS Roles) 通过令牌直接访问API会削弱第二重身份验证的有效性,并且可能对直观的防御措施(如更改密码)免疫。例如,在AWS环境中,攻击者如果泄露了用户的AWS API凭证,可能能够使用sts:GetFederationToken API调用创建联合用户会话,该会话将具有与原始用户相同的权限,但即使原始用户凭证被停用,该会话也可能持续存在。(Citation: Crowdstrike AWS User Federation Persistence) 此外,通过API通道的滥用访问可能难以从服务提供商端检测到,因为访问仍然可能与合法的工作流程很好地吻合。