Skip to content
Cloud Security · AWS · Azure · GCP

Cloud Security Research

Cloud attack surface reference: common misconfigurations by provider, IAM privilege escalation paths, MITRE ATT&CK for Cloud technique coverage and defensive architecture patterns.

Common Misconfigurations by Cloud Provider

AWS— top misconfigurations
SeverityMisconfigurationImpactFix
CriticalPublic S3 bucket with sensitive dataData exfiltration. PII, credentials, backups exposed.Block public access at account level (S3 account-level block). Enable S3 Access Analyzer.
CriticalIMDSv1 enabled (no hop limit)SSRF attacks can steal EC2 instance credentials from metadata service.Enforce IMDSv2 with hop-limit=1 via Launch Template or instance metadata options.
HighOverly permissive IAM role (wildcards)Privilege escalation via any compromised workload with this role.Apply least privilege. Use IAM Access Analyzer to generate least-privilege policies from access logs.
HighNo CloudTrail in all regionsAttacker activity in non-monitored regions goes undetected.Enable CloudTrail as multi-region trail with S3 encryption and log file validation.
HighSecurity group 0.0.0.0/0 on port 22/3389Brute force and credential stuffing against admin services.Restrict SSH/RDP to VPN CIDR or use AWS Systems Manager Session Manager (no open ports).
MediumNo MFA on root accountRoot account takeover gives full account control.Enable MFA on root account. Delete root access keys. Use dedicated admin IAM users.
Azure— top misconfigurations
SeverityMisconfigurationImpactFix
CriticalBlob storage with public access enabledData exfiltration from publicly readable blobs.Disable 'Allow Blob Public Access' at storage account level in Azure Policy.
CriticalGuest user in Azure AD with high permissionsExternal attacker leverages guest invite chain to access tenant resources.Restrict external collaboration settings. Audit guest user assignments in privileged roles.
HighNo Conditional Access policies for Azure ADCredential theft enables unrestricted access from any location/device.Require MFA for all users. Enforce Compliant Device policy for admin access.
HighService Principal with subscription Owner roleCompromised SP token grants full subscription control.Scope service principals to minimum required resource scope. Rotate credentials regularly.
HighLegacy authentication protocols enabledBasic Auth and SMTP/POP3/IMAP bypass Conditional Access and MFA.Block legacy authentication via Conditional Access policy. Use Sign-in logs to identify usage first.
GCP— top misconfigurations
SeverityMisconfigurationImpactFix
CriticalDefault service account with Editor roleAny compromised GCE VM has project-wide Editor permissions.Use custom service accounts per workload with minimum required IAM bindings.
HighOrg Policy not restricting external service account keysLong-lived SA keys exfiltrated and used for persistent access.Org Policy: iam.disableServiceAccountKeyCreation. Use Workload Identity Federation instead.
HighGCS bucket with allUsers or allAuthenticatedUsersPublic data exposure or any Google-authenticated user can access.Remove allUsers/allAuthenticatedUsers bindings. Use VPC Service Controls for sensitive buckets.
MediumNo Cloud Audit Logs for Data AccessData access activity not logged — exfiltration goes undetected.Enable Data Access audit logs for GCS, BigQuery and other data services in Audit Log Config.

IAM Privilege Escalation Paths

CloudPermission / PathTechniqueOutcome
AWSiam:CreatePolicyVersionCreate new default policy version with admin permissions on existing policyFull admin if policy attached to any principal
AWSiam:PassRole + ec2:RunInstancesLaunch EC2 instance with a more-privileged IAM role than attacker has directlyAssume escalated role via instance metadata
AWSiam:CreateAccessKeyCreate access key for another user (including admin user)Persistent credential for target IAM user
AWSlambda:CreateFunction + lambda:InvokeFunctionCreate Lambda with highly privileged role, invoke to run arbitrary codeArbitrary execution in context of target role
AzureMicrosoft.Authorization/roleAssignments/writeAssign Owner/Contributor role to attacker-controlled identityFull subscription or resource group control
AzureApp Registration with admin consentCreate App Registration, grant admin consent to MS Graph API permissionsGraph API access as application with tenant-wide permissions
GCPiam.serviceAccounts.actAsImpersonate service account with higher permissions via service account tokenAll permissions of the target service account
GCPcloudfunctions.functions.create + resourcemanager.projects.setIamPolicyDeploy Cloud Function with privileged SA, use it to modify IAM policyArbitrary IAM modification at project level

MITRE ATT&CK for Cloud — Key Techniques