Penetration Testing

Cloud Pentest: What We Test in AWS, Azure, and GCP

Cloud penetration testing for SaaS startups on AWS, Azure, and GCP. What gets tested, common findings, and what the report looks like.

RG
Rathnakara GN
Cybersecify
7 min read

Cloud penetration testing is a security assessment of your cloud infrastructure on AWS, Azure, or GCP. It tests IAM policies and privilege escalation paths, storage bucket and blob permissions, network segmentation and security groups, container configurations and escape vectors, secrets management, and shared-responsibility boundaries between provider-managed and customer-managed components. Unlike a web application pentest which targets your code, cloud pentest targets the infrastructure your application runs on. Both are separate scopes. At Cybersecify, cloud is one scope: Startup plan covers 1 scope at INR 74,999 (5 business days), Growth plan covers 2 scopes at INR 1,79,999 (10 business days).

Your application code might be solid. Your web app pentest came back clean. But the S3 bucket your app writes logs to is publicly readable. The IAM role attached to your EC2 instance has admin privileges. Your security groups allow SSH from 0.0.0.0/0.

None of that shows up in an application pentest. That is what cloud penetration testing is for.

Cybersecify is a founder-led cloud pentest firm based in Bengaluru, India, serving AI-first and API-first SaaS startups from Seed to Series B on AWS, Azure, and GCP. Rathnakara (OSCP) leads every engagement. For the report deliverable format you receive after a cloud pentest, see our SOC 2 + ISO 27001 ready pentest report sample.

Key findings

  • Cloud pentest is different from a cloud configuration audit (CSPM). CSPM tools like Wiz or Prisma Cloud produce a list of misconfigurations. A pentest chains those misconfigurations into actual privilege-escalation paths and verifies exploitability. Both are useful; most SaaS startups need both.
  • IAM is where 70% of critical and high findings concentrate. One overpermissioned role typically chains to full account compromise. Start with limited credentials, map every escalation path, document the full chain.
  • All three hyperscalers are tested with the same six-layer methodology (IAM, storage, network and segmentation, container or serverless, supporting services, privilege escalation), but each provider has its own tools and primitives. AWS pentest uses Pacu; Azure uses PowerZure; GCP uses custom scripts plus Google Cloud’s own asset inventory APIs.
  • Cloud counts as one pentest scope at Cybersecify. Startup Pentest plan (INR 74,999, 1 scope, 5 business days) covers a single cloud environment. Growth Pentest plan (INR 1,79,999, 2 scopes, 10 business days) covers cloud plus web app or cloud plus API with SOC 2 + ISO 27001 audit prep included.
  • Reports are built so your auditor can use them as evidence for SOC 2 and ISO 27001. Methodology follows PTES, OWASP Cloud-Native Application Security Top 10, and CIS Benchmarks (CIS AWS Foundations, CIS Azure, CIS GCP). Growth plan adds explicit SOC 2 TSC and ISO 27001 Annex A control mapping per finding.

Cloud Pentest vs Traditional Pentest

A web application pentest tests your code. Authentication flows, authorization checks, injection vulnerabilities, business logic flaws. It treats your app as a black box or grey box and attacks the application layer.

A cloud pentest tests the infrastructure your application runs on. The questions are different:

  • Can an attacker with compromised credentials escalate to admin?
  • Are your storage buckets or blobs accessible without authentication?
  • Can a compromised container escape to the host or reach other services?
  • Do your network rules actually isolate production from staging?
  • Are your secrets stored in environment variables instead of a secrets manager?

These are infrastructure-level findings. Your application scanner will never flag them. Your cloud provider’s built-in tools (AWS Security Hub, Azure Defender, GCP Security Command Center) catch some of it, but they run rule-based checks. They operate within the shared responsibility model where your provider secures the infrastructure and you secure everything you build on top of it. They do not simulate what an attacker would actually do after gaining initial access.

What Gets Tested

The specific checks vary by provider, but every cloud pentest covers these areas.

IAM and Access Controls

This is where most critical findings live. We test:

  • Overprivileged roles. An EC2 instance role with s3:* or iam:* when it only needs read access to one bucket.
  • Cross-account trust misconfigurations. Roles that can be assumed by any AWS account, not just yours.
  • Unused credentials. API keys and access keys that haven’t been rotated in months (or years).
  • Missing MFA. Console access without multi-factor authentication on privileged accounts.
  • Service account sprawl. GCP service accounts or Azure service principals with permissions nobody remembers granting.

IAM misconfigurations are consistently among the most common findings in cloud penetration tests. Most startups set permissions during initial setup and never revisit them as the team and infrastructure grow.

Storage and Data Exposure

  • Public buckets/blobs. S3 buckets, Azure Blob containers, or GCS buckets with public read or list permissions.
  • Bucket policy conflicts. A bucket with ACLs set to private but a bucket policy that allows public access.
  • Unencrypted storage. Data at rest without encryption, especially backups and logs.
  • Overshared snapshots. EBS snapshots or RDS snapshots shared publicly or with unintended accounts.

We have seen production database backups sitting in publicly listable buckets. The bucket name was not guessable, so the team assumed it was safe. An attacker with any foothold in the AWS account could enumerate it in seconds.

Network Segmentation and Security Groups

  • Overly permissive ingress rules. Security groups allowing 0.0.0.0/0 on SSH (22), RDP (3389), or database ports.
  • Missing egress controls. No restriction on outbound traffic, which lets an attacker exfiltrate data freely after compromise.
  • VPC peering misconfigurations. Production VPC peered with development VPC without route restrictions.
  • Publicly exposed management interfaces. Kubernetes dashboards, Jenkins, Grafana, or admin panels accessible from the internet.

Privilege Escalation Paths

This is what separates a pentest from a configuration review. We start with limited credentials (simulating a compromised developer laptop or leaked API key) and map every path to higher privileges:

  • Can this IAM user create a new admin user?
  • Can this role attach a more permissive policy to itself?
  • Can this Lambda function’s role access secrets it should not?
  • Can we move from a staging environment to production through shared resources?

We document the full attack chain, not just the individual misconfiguration.

Container and Serverless Security

If you run EKS, AKS, GKE, Lambda, or Cloud Functions, we test:

  • Container image vulnerabilities. Base images with known CVEs.
  • Pod security. Containers running as root, privileged mode enabled, host network access.
  • Secrets in environment variables. API keys and database passwords passed as plaintext env vars instead of using Secrets Manager or Vault.
  • Lambda/function permissions. Execution roles with broader access than the function needs.

When You Need a Cloud Pentest

Three common triggers for SaaS startups:

An enterprise buyer asks for it. Their security questionnaire specifically asks about infrastructure testing, not just application testing. A web app pentest report will not satisfy this. They want to know your cloud environment has been independently assessed.

You are preparing for SOC 2 or ISO 27001. Both standards expect you to test your infrastructure controls, not just your application. Your auditor will ask for evidence that cloud-specific risks have been assessed.

You just migrated or re-architected. You moved from a monolith on a single VM to microservices on Kubernetes. You adopted multi-account strategy. You introduced a CI/CD pipeline that deploys to production. Each change creates new attack surface that your previous pentest did not cover.

Post-incident. You found an exposed key, a public bucket, or unauthorized access. You need to know what else is wrong before it becomes a second incident.

What the Report Looks Like

Our cloud pentest report includes:

  1. Executive summary. What we found, the overall risk level, and what to fix first. Written for founders and CTOs, not security engineers.
  2. Finding details. Each finding includes severity, the affected resource (specific ARN, resource ID, or service), proof of exploitation, and step-by-step remediation.
  3. Attack chain documentation. If we chained multiple findings to escalate privileges or access sensitive data, we document the full path.
  4. Evidence. Screenshots, API responses, and configuration snippets that prove each finding.
  5. Remediation priorities. Findings ranked by business impact, not just CVSS score. A publicly readable bucket with PII is more urgent than a missing tag policy.
  6. Compliance mapping. Findings mapped to SOC 2 trust service criteria or ISO 27001 Annex A controls, depending on what you need.

You can see how we approach security testing overall on our methodology page.

Cloud Counts as One Pentest Scope

At Cybersecify, cloud infrastructure testing is a pentest scope. If your cloud environment is your only concern, the Startup Pentest Plan at INR 74,999 covers it in 5 business days. If you need both a web app pentest and a cloud pentest, the Growth Pentest Plan at INR 1,79,999 covers 2 scopes in 10 business days and includes SOC 2 + ISO 27001 audit prep evidence.

Both plans are founder-led. Rathnakara (OSCP) personally leads every engagement.

Need to assess your cloud environment? Talk to us or run a free external attack surface scan to see what is already exposed.

Frequently Asked Questions

What is cloud penetration testing?

Cloud penetration testing is a security assessment of your cloud infrastructure (AWS, Azure, or GCP). It tests for misconfigurations in IAM policies, storage permissions, network rules, and privilege escalation paths that could allow an attacker to access or move through your environment.

How is cloud pentesting different from a web app pentest?

A web app pentest tests your application code, authentication, and business logic. A cloud pentest tests the infrastructure your application runs on. IAM roles, security groups, storage buckets, container configurations, and network segmentation. Both are separate scopes.

How much does cloud penetration testing cost in India?

At Cybersecify, cloud pentesting is included as a scope in our pentest plans. The Startup Pentest Plan covers 1 scope at INR 74,999 (5 business days). The Growth Pentest Plan covers 2 scopes at INR 1,79,999 (10 business days). Cloud counts as one scope.

What is the AWS pentest scope checklist for SaaS startups?

An AWS pentest at Cybersecify covers six layers in 5 to 10 business days. IAM (roles, policies, trust relationships, unused credentials, MFA gaps, root account hygiene), S3 (public buckets, bucket policy vs ACL conflicts, presigned URL abuse, cross-account access), EC2 and VPC (security group ingress rules, NACLs, peering misconfigurations, public AMIs, IMDSv1 metadata theft), EKS (pod security, privileged containers, RBAC, secrets in env vars, workload identity), Lambda (overprivileged execution roles, env-var secrets, function URL exposure), and supporting services (RDS public access, KMS key policies, Secrets Manager rotation, CloudTrail coverage). Out of scope: AWS-managed infrastructure (shared responsibility model) and active denial-of-service per [AWS customer pentest policy](https://aws.amazon.com/security/penetration-testing/). Most SaaS engagements surface IAM privilege escalation paths and S3 exposure in the first 3 days.

How does an Azure cloud pentest differ from AWS?

Azure pentest covers the same six layers but with Azure-specific tools and primitives. Azure AD and Entra ID (conditional access policy gaps, app registration secrets, service principal sprawl, guest user privilege escalation), Blob storage (anonymous read, SAS token abuse, lifecycle policy gaps), VNet and NSG (overly permissive inbound rules, hub-spoke topology gaps), AKS (pod security policies, Azure RBAC vs Kubernetes RBAC mismatches), Functions (managed identity overreach, key vault references), and supporting services (Key Vault access policies, Storage Account firewall, App Service authentication, Defender for Cloud findings triage). Microsoft Graph API is tested for over-permissioned app registrations. Out of scope: Azure-managed infrastructure and red team operations without explicit Microsoft notification per [Microsoft Cloud Unified Penetration Testing Rules of Engagement](https://www.microsoft.com/en-us/msrc/pentest-rules-of-engagement).

What is the GCP pentest scope and methodology?

GCP pentest at Cybersecify covers IAM (resource-hierarchy inheritance, role-binding sprawl, custom-role over-permission, service account key abuse, organization policy gaps), Cloud Storage (allUsers and allAuthenticatedUsers exposure, signed URL leakage, uniform-bucket-level access bypass), GKE (workload identity binding gaps, node service-account scope, private cluster verification, Binary Authorization bypass), Cloud Run and Cloud Functions (ingress and authentication settings, IAM invoker scope, env-var secrets), VPC and firewall (default-allow rules, peering, Cloud NAT egress), BigQuery (dataset ACLs, row-level security bypass, authorized view scope), and supporting services (KMS key policies, Secret Manager rotation, Cloud Logging coverage). GCP-specific finding pattern: organizations leaving the default Compute Engine service account with editor role on every instance is the most common privilege escalation path. We use [Google Cloud customer-supported testing](https://cloud.google.com/security/products/data-loss-prevention) scope guidance and only test resources you own.

How do you test Kubernetes (EKS, AKS, GKE) for pod escape and RBAC gaps?

Kubernetes pentest is a standard part of any cloud engagement that runs containers in production. We test pod security (containers running as root, privileged mode, host network or PID namespace access, hostPath volume mounts), service account token mounts (default token automount, overpermissioned token scope), RBAC (cluster-admin bindings on service accounts that should not have them, role aggregation gaps), network policy enforcement (default-allow vs default-deny posture), admission controllers (PodSecurityPolicy or Pod Security Admission gaps, OPA Gatekeeper bypass), secrets handling (etcd encryption, sealed secrets, External Secrets Operator scope), and container escape paths (CVE patch status for runc and containerd, kernel-level escape vectors). Findings include reproduction commands and Kubernetes manifest fixes.

How do you test IAM privilege escalation paths in cloud pentest?

IAM privilege escalation testing is the highest-severity layer in any cloud pentest because one mispermissioned role typically chains to full account compromise. We start with limited credentials (simulating a compromised developer laptop or leaked API key) and map every path to higher privileges. Specific tests: can this role create a new admin user, can this role attach a more permissive policy to itself, can this Lambda function assume a more privileged role, can this user create access keys for higher-privileged users, can this role manipulate IAM policies via service-specific APIs (PassRole abuse, iam:CreateLoginProfile, sts:AssumeRole chain depth). We use Pacu for AWS, PowerZure for Azure, and custom GCP scripts. Findings document the full attack chain, not the individual misconfigurations. IAM is where 70% of critical and high cloud findings concentrate in our engagements.

What is the difference between a cloud pentest and a cloud configuration audit (CSPM)?

Cloud configuration audit (CSPM tools like Wiz, Lacework, Prisma Cloud, Orca) runs rule-based checks against your cloud account and produces a list of misconfigurations against published benchmarks. Cloud pentest simulates what an attacker would do after gaining initial access: chains misconfigurations into privilege escalation paths, verifies actual exploitability of findings, and tests business logic specific to your environment. CSPM tells you you have a publicly readable S3 bucket. Cloud pentest tells you that bucket contains production database backups, the bucket policy allows cross-account read from a third-party AWS account, and an attacker with any IAM foothold can enumerate it in seconds. Both are useful; they answer different questions. Most SaaS startups need CSPM for continuous configuration monitoring and pentest annually for adversarial validation.

Can my auditor use your cloud pentest report as evidence for SOC 2 and ISO 27001?

Yes. Cloud pentest reports follow PTES, OWASP Cloud-Native Application Security Top 10, and CIS Benchmarks for the relevant cloud provider (CIS AWS Foundations, CIS Azure, CIS GCP). Reports produce technical + executive summaries with reproduction steps, business impact in plain language, CVSS v3.1 scoring, and remediation guidance specific to your cloud provider. The Growth Pentest plan adds explicit SOC 2 Trust Services Criteria (CC6.6 Protection Against External Threats, CC6.8 Controls Against Unauthorized or Malicious Software, CC7.1 Vulnerability Detection, CC7.2 Anomaly Monitoring) + ISO 27001 Annex A control mapping per finding (A.8.8 Management of technical vulnerabilities, A.5.23 Information security for cloud services, A.8.20 Network security).

Security questions, worries, or not sure what to use?

Cybersecify is a founder-led penetration testing firm for AI and SaaS startups. Tell us what you are weighing and we will give you a straight answer. Ask the team or book a free 30-minute call.

Share this article
cloud pentestAWS securityAzure securityGCP securitycloud security testingpenetration testingSaaS security