Google Cloud Platform: Billing account hijacking for unauthorized AI usage
Threat actors are hijacking Google Cloud Platform billing accounts via phishing and policy manipulation to conduct large-scale, unauthorized LLM inference, resulting in significant financial losses for victims.
Triage facts
Revision 1- Applicability
- Google Cloud Platform
- Evidence
- Unknown
- Severity
- High
- Action
- Immediate escalation
- Sources
- 1 public source
- Freshness
- Revision 1Oct 20, 23:53 UTC
- Detection
- 17 IOCs
- Source quality
- A1Likely
The Wiz Customer Incident Response Team (CIRT) has identified a trend where threat actors compromise Google Cloud Platform (GCP) credentials to hijack billing accounts for unauthorized AI resource consumption. By leveraging phishing campaigns via sponsored search ads, attackers obtain valid user credentials and MFA codes. Once access is gained, they perform privilege escalation and modify organizational policies, such as 'iam.allowedPolicyMemberDomains', to remove guardrails that restrict IAM membership to verified domains. This allows the integration of external, attacker-controlled accounts. The attackers then link external GCP projects to the victim's billing account. By executing AI workloads within these foreign projects, the actors obfuscate their prompts and outputs from the victim's visibility while simultaneously billing the victim for all API usage. This 'LLMjacking' activity leads to rapid billing surges, often reaching hundreds of thousands of dollars within 48 hours of initial compromise.
Attack Chain
- Attacker purchases sponsored search ads for terms like "google cloud" to host phishing kits on Google Sites.
- Victim clicks the malicious ad, provides credentials and MFA tokens on a deceptive login page, which captures the data and redirects to a legitimate Google prompt.
- Attacker uses harvested credentials to initiate login, bypassing MFA through the captured session data.
- Attacker enables the Gemini API in existing, low-usage projects and creates service accounts with high-privileged roles (e.g., 'roles/ml.admin').
- Attacker dismantles organizational policies by deleting 'iam.allowedPolicyMemberDomains' to allow external account access.
- Attacker invites external attacker-controlled accounts to the organization's billing account and assigns the 'roles/billing.admin' role.
- Attacker links their external GCP projects to the victim's billing account to offload AI API costs.
- Attacker demotes original billing administrators to 'viewer' roles to prevent detection and reclamation of administrative control.
Impact
Victim organizations in the cloud sector have faced significant financial damage, with unauthorized Gemini API charges reaching tens to hundreds of thousands of dollars within 48 hours. Because workloads are executed in foreign projects, organizations lack visibility into the nature of the data being processed, creating both financial and data security risks.
Recommendation
- Monitor Google Workspace and GCP audit logs for logins originating from the documented IP infrastructure (212.73.134.136).
- Regularly audit GCP IAM configurations for unexpected additions of external domains or personal email addresses (e.g., @gmail.com) to high-privileged roles.
- Audit GCP organization policies for modifications to 'iam.allowedPolicyMemberDomains', as this is a primary indicator of disabling organizational guardrails.
- Monitor for unexpected enabling of the Gemini API product in projects, especially those with minimal historical activity.
- Proactively audit billing account permissions to ensure only authorized corporate identities hold 'roles/billing.admin' or other administrative roles.
Immediate actions
Hunt for logins from IP 212.73.134.136 in GCP and Google Workspace audit logs.
Threat Hunt
Identify modification of organization policy "iam.allowedPolicyMemberDomains".
Data: GCP Admin Activity Logs
Mitigations
Implement strict identity governance and multi-factor authentication (MFA) enforcement across all GCP administrator accounts.
Initial Access
Indicators of compromise
16
domain
1
ip
| Type | Value |
|---|---|
| ip | 212.73.134.136 |
| domain | *.gboogl.com |
| domain | *.groosl.com |
| domain | *.gprokl.com |
| domain | *.gxoosl.com |
| domain | *.gsoolg.com |
| domain | gzoozl.com |
| domain | groonl.com |
| domain | gsool.space |
| domain | gbrokl.space |
| domain | gbrokl.xyz |
| domain | gsoosl.xyz |
| domain | gsool.xyz |
| domain | gpoosl.com |
| domain | groolg.com |
| domain | gcslom.com |
| domain | gcoalg.com |