跳转至

额外的云凭据

对手可能会向云账户添加对手控制的凭据,以保持对受害者账户和环境中实例的持续访问。 例如,对手可能会向 Azure / Entra ID 中的服务主体和应用程序添加凭据,除了现有的合法凭据之外。(引用: Microsoft SolarWinds Customer Guidance)(引用: Blue Cloud of Death)(引用: Blue Cloud of Death Video) 这些凭据包括 x509 密钥和密码。(引用: Microsoft SolarWinds Customer Guidance) 在具有足够权限的情况下,有多种方法可以添加凭据,包括 Azure Portal、Azure 命令行界面和 Azure 或 Az PowerShell 模块。(引用: Demystifying Azure AD Service Principals) 在基础设施即服务 (IaaS) 环境中,在通过云账户获得访问权限后,对手可能会使用 AWS 中的 CreateKeyPairImportKeyPair API 或 GCP 中的 gcloud compute os-login ssh-keys add 命令生成或导入自己的 SSH 密钥。这允许在不进一步使用被妥协的云账户的情况下持续访问环境中的实例。(引用: Expel IO Evil in AWS)(引用: Expel Behind the Scenes) 对手还可能使用 AWS 中的 CreateAccessKey API 或 GCP 中的 gcloud iam service-accounts keys create 命令向账户添加访问密钥。或者,他们可能使用 AWS 中的 CreateLoginProfile API 添加一个密码,该密码可用于登录 AWS 管理控制台以进行云服务仪表板。(引用: Permiso Scattered Spider 2023)(引用: Lacework AI Resource Hijacking 2024) 如果目标账户的权限与请求账户不同,对手也可能能够在环境中提升其权限(即云账户)。(引用: Rhino Security Labs AWS Privilege Escalation)(引用: Sysdig ScarletEel 2.0) 例如,在 Entra ID 环境中,具有应用程序管理员角色的对手可以向其应用程序的服务主体添加一组新的凭据。通过这样做,对手将能够访问服务主体的角色和权限,这些角色和权限可能与应用程序管理员的不同。(引用: SpecterOps Azure Privilege Escalation) 在 AWS 环境中,具有适当权限的对手还可以使用 sts:GetFederationToken API 调用创建一组临时凭据,以伪造 Web 凭据,这些凭据与原始用户账户的权限相关联。这些临时凭据可能在其生命周期内保持有效,即使原始账户的 API 凭据被停用。 (引用: Crowdstrike AWS User Federation Persistence) 在启用了应用程序密码功能的 Entra ID 环境中,对手可能能够向用户账户添加应用程序密码。(引用: Mandiant APT42 Operations 2024) 由于应用程序密码旨在用于不支持多因素身份验证 (MFA) 的旧设备,添加应用程序密码可以允许对手绕过 MFA 要求。此外,即使用户的主密码被重置,应用程序密码也可能保持有效。(引用: Microsoft Entra ID App Passwords)