Offer

Free security assessment — you only subscribe if we find a P0 or P1 vulnerability.

Claim free assessment
CyVigilant
All articles
VAPT

Cloud Penetration Testing: What It Actually Covers Across AWS, Azure, and GCP

May 5, 2026·CyVigilant Security Team
VAPTCyVigilant

Cloud penetration testing is not a synonym for cloud configuration review, and the distinction matters operationally. A configuration review — running CIS Benchmark checks or a CSPM tool like Prowler, Wiz, or Defender for Cloud — will surface misconfigurations: public S3 buckets, overly permissive security groups, MFA not enforced on IAM console users. Valuable, necessary, but not sufficient. A penetration test goes further: it simulates an adversary who has a starting foothold — a leaked key pair, a compromised developer workstation, a server-side request forgery vulnerability in a web application — and attempts to escalate privileges, move laterally, and reach sensitive data or control planes. Both disciplines are needed; neither replaces the other.

What cloud pentest scope typically includes

A well-scoped cloud pentest maps the attack surface across three layers: the management plane (cloud console, IAM, APIs), the data plane (compute, storage, databases, messaging), and the application layer (web apps, APIs, serverless functions running on the cloud). Most organisations scope a mix based on risk: a SaaS company might prioritise the application layer and secrets management; a financial services firm on AWS GovCloud might focus heavily on IAM and VPC egress controls; an enterprise with hybrid connectivity will include the ExpressRoute or Direct Connect trust boundaries.

IAM: the highest-value attack surface in any cloud

Across all three major providers, IAM misconfiguration is the primary mechanism for cloud privilege escalation. On AWS, the classic escalation paths include attaching policies to existing roles (iam:AttachRolePolicy), creating new IAM users with AdministratorAccess (iam:CreateUser + iam:AttachUserPolicy), and passing roles to EC2 instances or Lambda functions the attacker can control (iam:PassRole). CloudTrail logging provides the audit trail — but only if CloudTrail is actually enabled and aggregated to a protected log archive. In a pentest, we routinely find CloudTrail disabled in non-primary regions, or log buckets writable by the application role being tested.

On Azure, privilege escalation through Azure Active Directory is the equivalent concern. Common paths include elevating access via Azure AD role assignments (User Access Administrator, Application Administrator), abusing Managed Identity permissions assigned to VMs or Functions, or exploiting service principal secret exposure in DevOps pipelines. GCP's IAM model introduces the concept of service account key files — long-lived credentials that, when committed to a repository or stored in an accessible location, give an attacker the equivalent of a persistent administrative identity. Our penetration testing methodology covers these paths explicitly.

Exposed services and network attack surface

Cloud environments are often more porous than their operators intend. Security group rule sprawl — rules accumulated over time as teams needed quick access — leaves RDP (TCP 3389), SSH (TCP 22), database ports (3306, 5432, 27017), and Kubernetes API server ports (TCP 6443) exposed to 0.0.0.0/0. In a pentest, these are the first things probed. Beyond port exposure, object storage misconfiguration (public S3 buckets, publicly accessible Azure Blob containers, GCS buckets with allUsers or allAuthenticatedUsers ACLs) continues to be a significant source of data exposure findings. The SSRF-to-metadata-service attack path — exploiting a web application SSRF vulnerability to reach the EC2 Instance Metadata Service (IMDS v1, which has no authentication) and retrieve temporary credentials — is still live in environments that have not migrated to IMDSv2.

CIS Benchmarks and what they do and do not catch

CIS Benchmark checks are a baseline, not a pentest. CIS AWS Foundations Benchmark Level 1 checks 58 controls covering IAM password policy, CloudTrail enablement, VPC flow log status, and root account MFA. These are all important. But CIS benchmarks will not tell you whether your application has a JWT validation flaw that lets an attacker forge tokens and call your internal Lambda functions, or whether your EKS worker nodes can be used to reach the Kubernetes API server through a misconfigured NetworkPolicy, or whether your Terraform state files stored in an S3 bucket are readable by your application service role. Penetration testing finds these. Configuration review does not.

Cloud pentest methodology: a brief walkthrough

A cloud pentest typically follows: reconnaissance (enumerating exposed services, identifying cloud provider, region, and account structure), credential acquisition (OSINT, leaked keys, initial exploitation of an application vulnerability), privilege escalation (IAM path analysis, service account abuse), lateral movement (cross-account trust exploitation, VPC peering abuse), data access (reaching target databases, object storage, secrets manager), and impact demonstration (evidence of what an attacker could exfiltrate or disrupt without triggering detection). The final report maps each finding to CIS, OWASP Cloud Security Top 10, and where relevant, the CSA Cloud Controls Matrix (CCM) — a useful mapping for ISO 27017 and SOC 2 alignment.

CyVigilant conducts cloud penetration testing across AWS, Azure, and GCP for enterprises, regulated financial services firms, and fast-growing SaaS companies. To scope an engagement, explore our VAPT services or talk to an expert directly.

Get started

Put this into action.

Book a 30-minute scoping call with a CERT-In empanelled security expert.

Talk to an Expert