Skip to content
Talk to a Security Expert
CLOUD PENETRATION TESTINGAWS · IAM / S3 / EC2 / VPCSAMPLE REPORT

Cloud Penetration Testing Report — Sample

AstraVault Technologies, Inc. — AWS Cloud Security Assessment. A fictional Cloud Penetration Testing engagement targeting AstraVault Technologies, Inc.'s AWS-primary environment, showing how TMG Security structures scope, methodology, IAM and privilege-escalation testing, S3/storage and workload security, network segmentation, logging and detection review, findings, risk analysis, and remediation guidance for an AWS Cloud Penetration Testing engagement.

Illustrative Sample Fictional Organization Not an Actual Client Assessment

AstraVault Technologies, Inc. and its AWS accounts are fictional. All AWS account IDs (123456789012, 123456789013, 123456789014), domains, and resources referenced are fictional, non-resolving placeholders. No real AWS account, resource, or workload was tested, and no real customer data was involved in the creation of this document. TMG Security is not affiliated with, endorsed by, or certified by AWS.

01 · OVERVIEW

Cloud Penetration Testing — Overview

A Cloud Penetration Testing engagement is an authorized, hands-on security assessment that combines external black-box reconnaissance, authenticated cloud configuration review, limited-privilege IAM testing, and assumed-breach/compromised-workload testing to identify exploitable weaknesses across a cloud environment's identity, storage, network, workload, and logging layers. This illustrative sample shows how TMG Security structures that deliverable for an AWS-primary environment spanning multiple accounts.

This sample report demonstrates TMG Security's approach for a fictional organization, AstraVault Technologies, Inc., a FinTech / enterprise SaaS company providing a cloud-based financial workflow and analytics platform on Amazon Web Services (AWS). TMG Security did not have, and does not claim to have had, unrestricted AWS Management Console access at any point in this fictional engagement — testing was conducted from four defined assessment perspectives: external black-box, authenticated cloud configuration review, limited-privilege IAM assessment, and assumed-breach / compromised-workload.

02 · WHAT THIS SAMPLE DEMONSTRATES

What This Cloud Penetration Testing Sample Demonstrates

This sample cloud penetration testing report is a fictional, illustrative deliverable prepared for an AWS cloud security assessment — not to describe any real organization's security posture.

  • How TMG defines scope, rules of engagement, and testing objectives across a multi-account AWS organization
  • How identity and access management (IAM), cross-account trust, and privilege-escalation paths are tested and validated
  • How data storage services (S3, RDS, Secrets Manager, KMS) are assessed for unauthorized access, exposure, and weak encryption/backup practices
  • How network segmentation, security groups, and workload configuration (EC2, ECS, Lambda, ECR) are tested for over-permissioned execution roles and metadata exposure
  • How logging, monitoring, and detection posture (CloudTrail, CloudWatch, GuardDuty, Security Hub) are assessed for coverage gaps
  • How individual findings are constructed and validated into realistic, non-destructive composite cloud attack chains

None of these samples is a certification, an attestation, an actual client engagement, or proof of any compliance or security status. This report is labeled as illustrative throughout and carries a full disclaimer on this page and within the sample PDF.

03 · CLOUD ENVIRONMENT PROFILE

Cloud environment profile

AstraVault's fictional AWS environment is organized under a single AWS Organization spanning three accounts: AstraVault Production, which hosts primary production workloads, the customer-facing API, and transactional data; AstraVault Security, which centralizes logging, CloudTrail/GuardDuty/Security Hub aggregation, and break-glass administrative access; and AstraVault Development, the engineering development and staging/CI-build environment. The architecture follows a public-facing content-delivery and web path (Route 53 → CloudFront → AWS WAF → Application Load Balancer → ECS/EC2 application workloads → RDS), a parallel API/event-driven path (API Gateway → Lambda → SQS/EventBridge → processing workloads), and a security-services layer (CloudTrail, CloudWatch, GuardDuty, Security Hub, KMS, Secrets Manager) spanning both.

OrganizationAstraVault Technologies, Inc. (Fictional)
IndustryFinTech / Enterprise SaaS — Cloud-Based Financial Workflow & Analytics Platform
Cloud ProviderAmazon Web Services (AWS) — Fictional Multi-Account Environment, us-east-1
Accounts In ScopeAstraVault Production, Security & Development (3 fictional AWS accounts)
Assessment TypeCloud Penetration Testing — AWS Configuration, IAM & Workload Security Assessment
Assessment Period07 September 2026 – 25 September 2026 · 138 fictional test cases executed
04 · TESTING SCOPE & RULES OF ENGAGEMENT

Testing scope & rules of engagement

In scope

  • Identity & Access Management — IAM users, roles, groups, policies, permission boundaries, STS/AssumeRole, cross-account trust relationships
  • Storage — S3 (bucket policies, encryption, versioning, logging, access points), RDS, Secrets Manager, KMS
  • Compute & Workloads — EC2 (instances, AMIs, instance profiles), ECS (task definitions, task roles), Lambda, ECR (image scanning, lifecycle policies)
  • Network — VPC, subnets, route tables, Internet/NAT Gateways, Security Groups, Network ACLs, VPC endpoints, peering, Transit Gateway
  • Edge & Delivery — CloudFront, Route 53, AWS WAF, API Gateway
  • Logging & Detection — CloudTrail, CloudWatch, GuardDuty, Security Hub, AWS Config
  • Operations & CI/CD — Systems Manager (Patch Manager, Session Manager), AWS Backup, the fictional deployment pipeline (source → build → container build → ECR → deployment role → production)

Out of scope

  • Non-AWS infrastructure — this engagement is AWS-only (see TMG Security's companion Network, Web Application, API, Android, and iOS sample reports)
  • Denial-of-service testing and destructive testing, under any circumstances
  • Social engineering and physical security
  • Unrestricted AWS Management Console access — TMG Security operated from four defined assessment perspectives only
  • Third-party SaaS integrations' own infrastructure (only client-side/AWS-side integration configuration reviewed)
  • Application-layer source code review — this is an infrastructure/cloud-configuration assessment, not a source-code audit

Testing was conducted over the fictional window of 07 September 2026 – 25 September 2026 (13 business days), from four assessment perspectives: external black-box; authenticated cloud configuration review (read-only, cross-account audit-scoped role); limited-privilege IAM assessment (standard low-privilege application/engineering-tier identity); and assumed-breach/compromised-workload (simulating a workload already compromised via SSRF or a vulnerable container, without performing the initial compromise technique against a real system). No destructive testing, denial-of-service testing, or resource deletion of any kind was performed. Critical findings were communicated to the fictional AstraVault security team within 24 hours of confirmation.

05 · METHODOLOGY & RISK RATING

Cloud Penetration Testing Methodology & Risk Rating

TMG Security's fictional cloud penetration testing methodology combined external unauthenticated reconnaissance of AstraVault's internet-facing AWS surface, authenticated configuration review across all three fictional accounts using a read-only cross-account audit role, limited-privilege IAM testing to validate documented privilege-escalation and cross-account trust techniques, and assumed-breach testing to assess blast radius from a simulated compromised workload. Each finding is assigned an illustrative CVSS v3.1-inspired base score and a qualitative severity rating (Critical, High, Medium, Low, Informational); these are TMG Security's own sample estimations for this fictional exercise and are not submitted to any CVSS numbering authority.

TMG Security’s fictional AWS Cloud Penetration Testing methodology and severity-rating approach are informed by, but not certified against, the AWS Well-Architected Framework Security Pillar, combined with hands-on testing specific to the target’s multi-account IAM and workload architecture.

TMG Security is not affiliated with, endorsed by, reviewed by, or certified by AWS, PTES, NIST, OWASP, or any other standards organization unless explicitly stated otherwise. Nothing in this report implies AWS certification, partnership, or endorsement of TMG Security or of this assessment.

06 · IAM & PRIVILEGE ESCALATION

IAM assessment & privilege escalation

TMG Security enumerated assumable roles reachable from a fictional low-privilege AstraVault Production IAM user and tested documented AWS IAM privilege-escalation patterns, including cross-account trust relationships and IAM policy-chaining techniques.

CLOUD-001 · CRITICAL · CWE-269 Improper Privilege Management

Overly Permissive IAM Role Enables Cross-Account Administrative Privilege Escalation

The fictional astravault-security-crossaccount-role, deployed in the AstraVault Security account to support centralized log aggregation, carries an inline policy granting iam:*, sts:AssumeRole on Resource "*", and organizations:* rather than the narrow logs:PutLogEvents / logs:CreateLogGroup scope its stated purpose requires. Its trust policy allows sts:AssumeRole from the entire fictional AstraVault Production account with no external ID, no MFA condition, and no source-identity restriction. Recommendation: scope the cross-account role's permissions to only logs:PutLogEvents and logs:CreateLogGroup on the specific fictional log group; restrict the trust policy to a single named Production role ARN; require sts:ExternalId and an MFA condition (aws:MultiFactorAuthPresent) on the trust policy.

Owner: Cloud Security Engineering Lead (Fictional Role) · Target: 14 October 2026 · Status: Remediation In Progress

CLOUD-004 · HIGH · IAM Assessment / Privilege Escalation

Privilege Escalation via IAM Policy Chaining (iam:PassRole + iam:CreatePolicyVersion)

The astravault-platform-engineers group's iam:CreatePolicyVersion and iam:PassRole permissions allow a member to create a new policy version granting broader access and pass an elevated role to a newly created Lambda function — a documented IAM privilege-escalation pattern that ultimately reaches the same cross-account administrative path as CLOUD-001. Recommendation: remove iam:CreatePolicyVersion and iam:PassRole from the engineering-tier group; require these permissions only through a scoped, logged break-glass role.

Owner: IAM & Identity Lead (Fictional Role) · Target: 10 October 2026 · Status: Remediation Planned

07 · S3 & DATA STORAGE SECURITY

S3 assessment & data storage security

TMG Security enumerated all fictional production S3 buckets for public accessibility, encryption enforcement, versioning, and access logging, and reviewed bucket resource policies for unnecessary cross-account grants.

CLOUD-002 · CRITICAL · CWE-284 Improper Access Control

Publicly Accessible S3 Bucket Exposes Sensitive Financial Data

One of 22 fictional production S3 buckets — astravault-prod-financial-statements — permits unauthenticated GetObject/ListBucket access to any internet user, with no Block Public Access setting or bucket-policy restriction preventing it, and no server-side encryption enforced as a compensating control. Recommendation: apply Block Public Access at the bucket and account level, remove the public-read bucket policy statement, and enforce SSE-KMS by default on all buckets storing financial or customer data.

Owner: Cloud Platform Engineering Lead (Fictional Role) · Target: 14 October 2026 (full remediation incl. encryption enforcement) · Status: Remediation In Progress

CLOUD-013 / CLOUD-014 · MEDIUM · S3 Assessment

Missing Encryption Enforcement & Versioning Disabled on Buckets Storing Financial Records

Beyond the majority of buckets that correctly enforce Block Public Access and default encryption, TMG Security found a subset of S3 buckets storing sensitive data without server-side encryption enforcement (CLOUD-013), and buckets storing financial records with versioning disabled, removing a recovery path against accidental or malicious overwrite (CLOUD-014). Recommendation: enforce SSE-KMS bucket-default encryption and enable versioning with MFA delete consideration on every bucket classified as storing sensitive or financial data.

08 · EC2, WORKLOAD & METADATA SECURITY

EC2 assessment, workload & metadata service security

TMG Security tested EC2 instance-metadata-service configuration for IMDSv1 exposure and tested whether an internet-facing application feature could be converted into server-side credential theft via SSRF.

CLOUD-003 · CRITICAL · CWE-918 Server-Side Request Forgery

EC2 Workload Metadata Exposure Enables Credential Theft and Privilege Escalation

The internet-facing report-fetch feature on api.astravault-example.com performs no destination validation, and the backing EC2 fleet permits legacy IMDSv1 with no session-token requirement, allowing an unauthenticated attacker to supply a link-local metadata URL and recover live, temporary IAM credentials for the astravault-ec2-app-role instance profile directly from the metadata response. Recommendation: enforce IMDSv2 (token-required) account-wide via a Service Control Policy; apply outbound-URL allowlisting/destination validation to any feature capable of server-initiated requests; scope the instance profile's permissions to only what the workload's actual function requires.

Owner: Platform Engineering Lead (Fictional Role) · Target: 14 October 2026 · Status: Remediation In Progress

CLOUD-021 · MEDIUM · EC2 Assessment

Missing Workload Integrity Controls on EC2 AMI Build Pipeline

The EC2 AMI build pipeline does not verify base-image provenance or apply image-signing before promoting a new AMI to production use. Recommendation: integrate AMI signature verification and a vulnerability-scanning gate into the build pipeline before any new AMI is marked available for production launch.

09 · VPC, NETWORK SEGMENTATION & SECURITY GROUPS

VPC assessment, network segmentation & security groups

TMG Security reviewed AstraVault's four-tier subnet model (public, private-application, private-database, and management) for correct isolation, and reviewed security-group rules for unnecessary administrative-port exposure.

CLOUD-006 · HIGH · Security Groups

Security Group Permits Unrestricted Administrative Access to Management Ports

A security group attached to the management/bastion subnet permits inbound SSH (22) and RDP (3389) from 0.0.0.0/0 rather than a defined allowlist of fictional corporate IP ranges. Recommendation: restrict administrative-port ingress to a named allowlist of source ranges, and require Systems Manager Session Manager as the primary access path in place of direct SSH/RDP exposure.

CLOUD-016 · MEDIUM · Security Groups

Permissive Security Group Egress Rules Allow Unrestricted Outbound Access

Multiple security groups permit unrestricted outbound access (0.0.0.0/0, all ports), which would allow a compromised workload to reach arbitrary external endpoints, including attacker-controlled infrastructure. Recommendation: scope egress rules to only the specific destinations and ports each workload legitimately requires.

10 · LAMBDA & API GATEWAY

Lambda assessment & API Gateway

TMG Security reviewed Lambda execution-role permissions against each function's actual requirements, and reviewed API Gateway endpoints for missing request validation.

CLOUD-009 · HIGH · Lambda Assessment

Lambda Execution Role Grants Excessive IAM Permissions Beyond Function Requirements

AstraVault's Lambda/task execution roles follow a broadly-shared, over-permissioned pattern rather than function-scoped least privilege, allowing a compromised function's credentials to modify cloud resources — including S3 objects and DynamoDB records — well beyond that function's legitimate purpose. Recommendation: apply function-scoped IAM roles with least-privilege permission sets, replacing the shared over-permissioned execution-role pattern.

Owner: Serverless Engineering Lead (Fictional Role) · Target: 24 October 2026 · Status: Remediation Planned

CLOUD-020 / CLOUD-039 · MEDIUM / INFORMATIONAL · Lambda & API Gateway

Excessive Function Configuration & Missing Request Validation

Several Lambda functions are configured with timeout and memory allocations well beyond operational need (CLOUD-020), and selected public API Gateway endpoints are missing request-schema validation, relying on downstream application logic alone (CLOUD-039). Recommendation: right-size Lambda configuration per function and enable API Gateway request validation at the gateway layer as defense-in-depth ahead of application logic.

11 · CONTAINER SECURITY & ECR

Container security & ECR

TMG Security scanned production container images in ECR for known-vulnerable packages and reviewed ECS task definitions for excessive Linux capabilities.

CLOUD-008 · HIGH · CWE-1104 Use of Unmaintained Third-Party Components

Vulnerable Container Image With Exploitable Package in Production ECR Repository

The currently-deployed astravault/analytics-worker container image contains a known-vulnerable base-image package that the CI/CD pipeline did not block despite an available Critical-severity scan finding. Recommendation: enforce a CI/CD pipeline gate that blocks image promotion on any Critical-severity vulnerability finding, and patch/rebuild the affected image immediately.

Owner: DevOps / Platform Engineering Lead (Fictional Role) · Target: 17 October 2026 · Status: Remediation In Progress

CLOUD-024 · MEDIUM · Container Security

ECS Task Definition Runs Containers With Elevated Linux Capabilities

The affected ECS task definition grants elevated Linux capabilities (SYS_ADMIN, NET_ADMIN) broader than its documented functional need, increasing the feasibility of moving from application-level code execution toward the container boundary. Recommendation: drop all non-required Linux capabilities in the task definition, following least-privilege container configuration.

12 · RDS, SECRETS MANAGER & KMS

RDS assessment, Secrets Manager & KMS

TMG Security tested network-layer reachability of RDS instances, reviewed how database credentials are supplied to workloads, and reviewed KMS key policies for overly broad decrypt permissions.

CLOUD-010 · HIGH · RDS Assessment

RDS Database Instance Publicly Reachable From the Internet

The astravault-analytics-reporting-db RDS instance is placed in a public subnet (rather than the private-database subnet tier used by the primary transactional database) and is independently reachable at the network layer from the internet. Recommendation: move the instance into the private-database subnet tier, remove its public accessibility flag, and restrict security-group access to the application tier only.

Owner: Data Engineering Lead (Fictional Role) · Target: 24 October 2026 · Status: Remediation Planned

CLOUD-007 / CLOUD-032 / CLOUD-023 · HIGH / LOW / MEDIUM · Secrets & KMS

Secrets Exposed Through Workload Configuration & Broad KMS Decrypt Permissions

A fictional payment-aggregator API key was found exposed through workload environment configuration rather than Secrets Manager (CLOUD-007); the recovered database credential itself was correctly stored in Secrets Manager but was not rotated on a defined schedule (CLOUD-032); and a KMS key policy grants overly broad decrypt permissions beyond the principals that require them (CLOUD-023). Recommendation: migrate all workload secrets into Secrets Manager with scheduled rotation, and scope KMS key policies to named principals per key.

13 · LOGGING & DETECTION (CLOUDTRAIL / CLOUDWATCH / GUARDDUTY / SECURITY HUB)

CloudTrail, CloudWatch, GuardDuty & Security Hub

TMG Security reviewed CloudTrail data-event coverage, CloudWatch alerting on high-risk IAM and security events, and whether GuardDuty and Security Hub findings route to a centralized alerting channel across all three fictional accounts.

CLOUD-011 · HIGH · CloudTrail

CloudTrail Logging Coverage Gap on Security-Sensitive API Activity

While the organization trail is correctly multi-region and enforces log-file validation, data-event logging is not enabled for the S3 buckets and Lambda functions most relevant to this report's Critical and High findings, limiting forensic reconstruction of exactly what a real compromise of those resources would have touched. Recommendation: enable S3 and Lambda data-event logging for all fictional production resources classified as sensitive.

CLOUD-015 / CLOUD-029 / CLOUD-034 · MEDIUM / LOW / INFORMATIONAL · Detection

Alerting & Finding-Routing Gaps Across CloudWatch, GuardDuty & Security Hub

CloudWatch alerting on high-risk IAM and security-group events is insufficient (CLOUD-015), GuardDuty findings are not routed to a centralized alerting channel (CLOUD-029), and Security Hub standard subscriptions are incomplete across accounts despite organization-wide enablement (CLOUD-034). Recommendation: route all GuardDuty and Security Hub findings to a centralized, monitored alerting channel and standardize Security Hub subscriptions across every account in the organization.

14 · WAF & CLOUDFRONT (EDGE SECURITY)

WAF & CloudFront edge security

TMG Security reviewed AWS WAF rule coverage on public-facing endpoints and reviewed CloudFront's security-header enforcement.

CLOUD-030 · LOW · WAF

WAF Rule Set Missing Rate-Based Rule on Public API Gateway

Managed WAF rule groups are present on the public API Gateway, but no rate-based rule is configured to throttle high-volume abusive request patterns. Recommendation: add a rate-based WAF rule scoped to the public API Gateway's sensitive endpoints.

CLOUD-022 · MEDIUM · CloudFront

Insufficient Security-Header Controls at CloudFront Edge

app.astravault-example.com is served via CloudFront with incomplete edge security-header enforcement (missing or inconsistent Content-Security-Policy and related headers). Recommendation: enforce a consistent security-header policy at the CloudFront response-headers-policy layer across all distributions.

15 · CROSS-ACCOUNT SECURITY, BACKUP & CI/CD

Cross-account security, backup & CI/CD security

TMG Security reviewed the trust relationships between AstraVault's three accounts, reviewed AWS Backup configuration for production database resources, and reviewed the CI/CD pipeline's handling of deployment credentials.

CLOUD-005 · HIGH · Cross-Account Security

Excessive Trust Relationship Between Production and Development AWS Accounts

The astravault-prod-devsupport-role trust policy allows assumption from the entire fictional Development account with no MFA condition and no ExternalId, meaning Development's weaker security baseline is not contained from reaching Production. Recommendation: narrow the trust policy to named Development principals only, and require MFA and ExternalId on the trust relationship.

Owner: Cloud Security Engineering Lead (Fictional Role) · Target: 17 October 2026 · Status: Remediation Planned

CLOUD-019 / CLOUD-041 · MEDIUM / INFORMATIONAL · Backup & Account Baseline

Weak Backup Configuration & Development Account Baseline Gap

AWS Backup configuration for production database resources does not meet the fictional recovery-point objective documented for the platform (CLOUD-019), and the Development account overall lacks an equivalent security baseline to Production — the structural gap that CLOUD-005's cross-account trust relationship fails to contain (CLOUD-041). Recommendation: align Development's IAM, logging, and encryption baseline with Production, and bring AWS Backup configuration in line with the documented RPO/RTO for production database resources.

16 · FINDINGS SUMMARY

Cloud Penetration Testing — Findings Summary

This fictional assessment identified 42 illustrative findings across AstraVault Technologies, Inc.'s AWS cloud environment, drawn from 138 fictional test cases. Every finding, severity rating, and evidence reference below is fictional and specific to this Cloud Penetration Testing engagement.

3
Critical
8
High
13
Medium
9
Low
9
Informational
Full illustrative finding register — fictional sample data, Appendix K of the sample PDF.
IDTitleSeverity
CLOUD-001Overly Permissive IAM Role Enables Cross-Account Administrative Privilege EscalationCritical
CLOUD-002Publicly Accessible S3 Bucket Exposes Sensitive Financial DataCritical
CLOUD-003EC2 Workload Metadata Exposure Enables Credential Theft and Privilege EscalationCritical
CLOUD-004Privilege Escalation via IAM Policy Chaining (iam:PassRole + iam:CreatePolicyVersion)High
CLOUD-005Excessive Trust Relationship Between Production and Development AWS AccountsHigh
CLOUD-006Security Group Permits Unrestricted Administrative Access to Management PortsHigh
CLOUD-007Secrets Exposed Through Workload Environment ConfigurationHigh
CLOUD-008Vulnerable Container Image With Exploitable Package in Production ECR RepositoryHigh
CLOUD-009Lambda Execution Role Grants Excessive IAM Permissions Beyond Function RequirementsHigh
CLOUD-010RDS Database Instance Publicly Reachable From the InternetHigh
CLOUD-011CloudTrail Logging Coverage Gap on Security-Sensitive API ActivityHigh
CLOUD-012Overly Broad S3 Bucket Resource Policy Grants Unnecessary Cross-Account AccessMedium
CLOUD-013Missing Server-Side Encryption Enforcement on S3 Buckets Storing Sensitive DataMedium
CLOUD-014S3 Bucket Versioning Disabled on Buckets Storing Financial RecordsMedium
CLOUD-015Insufficient CloudWatch Alerting on High-Risk IAM and Security EventsMedium
CLOUD-016Permissive Security Group Egress Rules Allow Unrestricted Outbound AccessMedium
CLOUD-017Stale IAM Users With Long-Unused Console and API AccessMedium
CLOUD-018Unused and Unrotated IAM Access Keys Exceeding Recommended AgeMedium
CLOUD-019Weak AWS Backup Configuration for Production Database ResourcesMedium
CLOUD-020Lambda Function Configured With Excessive Timeout and Memory Beyond Operational NeedMedium
CLOUD-021Missing Workload Integrity Controls on EC2 AMI Build PipelineMedium
CLOUD-022Insufficient Security-Header Controls at CloudFront EdgeMedium
CLOUD-023KMS Key Policy Grants Overly Broad Decrypt PermissionsMedium
CLOUD-024ECS Task Definition Runs Containers With Elevated Linux CapabilitiesMedium
CLOUD-025Incomplete Resource Tagging Undermines Cost and Security GovernanceLow
CLOUD-026S3 Access Logging Not Enabled on Selected BucketsLow
CLOUD-027VPC Flow Logs Not Enabled on Selected VPCsLow
CLOUD-028Route 53 DNS Zone Lacks Query LoggingLow
CLOUD-029GuardDuty Findings Not Routed to a Centralized Alerting ChannelLow
CLOUD-030WAF Rule Set Missing Rate-Based Rule on Public API GatewayLow
CLOUD-031ECR Repository Missing Image Lifecycle Policy (Unbounded Image Retention)Low
CLOUD-032Secrets Manager Rotation Not Configured for Long-Lived Database CredentialsLow
CLOUD-033SNS Topic Policy Permits Overly Broad Publish AccessLow
CLOUD-034Security Hub Standard Subscriptions Incomplete Across AccountsInformational
CLOUD-035Inconsistent Resource Naming Convention Complicates GovernanceInformational
CLOUD-036Infrastructure-as-Code Drift Observed Between Deployed and Templated ResourcesInformational
CLOUD-037EventBridge Rule Lacks Dead-Letter Queue for Failed InvocationsInformational
CLOUD-038Systems Manager Patch Compliance Reporting Gaps on EC2 FleetInformational
CLOUD-039API Gateway Missing Request Validation on Selected Public EndpointsInformational
CLOUD-040CloudWatch Log Group Retention Set to Indefinite on Non-Critical LogsInformational
CLOUD-041Development Account Lacks Equivalent Security Baseline to ProductionInformational
CLOUD-042Documentation Gap in Incident Response Runbook for Cloud-Specific ScenariosInformational
17 · ATTACK PATH ANALYSIS

Attack path analysis

Individual findings, viewed in isolation, can understate real-world cloud risk. TMG Security chained this report's findings into four realistic, fictional, non-destructive composite scenarios and validated the technical feasibility of each step in a controlled manner — no chain was executed end-to-end against a live system, and no destructive or state-changing action was taken at any point.

AP-01 — External Attack Surface → SSRF → Instance Metadata → S3 Financial Data

Step 1: An unauthenticated attacker discovers the internet-facing report-fetch feature on api.astravault-example.com during external reconnaissance. Step 2: The attacker supplies a link-local metadata URL as the export destination; the feature performs no destination validation, and the backing EC2 fleet permits legacy IMDSv1 with no session-token requirement (CLOUD-003). Step 3: The attacker recovers live, temporary IAM credentials for the astravault-ec2-app-role instance profile directly from the metadata response. Step 4: That role's permissions — broader than the workload's actual function requires, echoing the over-permission pattern in CLOUD-001 — allow read access to the publicly-adjacent astravault-prod-financial-statements S3 bucket (CLOUD-002), which was already independently confirmed reachable by any unauthenticated user.

Business impact: This chain demonstrates that AstraVault's most severe fictional exposure requires no insider access and no social engineering — only a single unauthenticated application-layer weakness, converted into cloud credential theft and sensitive financial-data access through two further, independently-documented misconfigurations.

AP-02 — Compromised Developer Identity → Cross-Account Trust → Secrets Manager → RDS Access

Step 1: An attacker compromises a fictional Development-account developer credential — the more attainable target given the Development account's weaker baseline controls (CLOUD-041). Step 2: The attacker assumes the astravault-prod-devsupport-role using the overly broad Production-to-Development cross-account trust relationship, which requires no MFA or ExternalId (CLOUD-005). Step 3: Using the assumed role's read access, the attacker retrieves the financial-database credential from Secrets Manager — correctly stored, but not rotated on a defined schedule (CLOUD-032). Step 4: The attacker uses the recovered credential to connect to the astravault-analytics-reporting-db instance, which is independently reachable at the network layer from the internet (CLOUD-010).

Business impact: This chain shows how a gap in account segmentation allows a foothold in AstraVault's lowest-assurance environment to reach production database credentials and a network-exposed database instance, entirely bypassing the isolation the account structure is intended to provide.

AP-03 — Compromised Container → Task Role Credentials → Excessive IAM Permissions → Cloud Resource Modification

Step 1: An attacker exploits the known-vulnerable base-image package in the currently-deployed astravault/analytics-worker container image, which the CI/CD pipeline did not block despite an available Critical-severity scan finding (CLOUD-008). Step 2: The container's elevated Linux capabilities (SYS_ADMIN, NET_ADMIN), broader than its documented functional need, increase the feasibility of moving from application-level code execution toward the container boundary (CLOUD-024). Step 3: The attacker retrieves the ECS task role's temporary credentials via the in-container task metadata endpoint. Step 4: Because Lambda/task execution roles in AstraVault's environment follow a broadly-shared, over-permissioned pattern (CLOUD-009), the attacker uses the recovered credentials to modify cloud resources (e.g., S3 objects, DynamoDB records) beyond the compromised service's legitimate function.

Business impact: This chain illustrates how a single unpatched container dependency, combined with excess container privilege and over-permissioned execution roles, escalates from application-level compromise to unauthorized cloud-resource modification — all three contributing weaknesses independently remediable.

AP-04 — IAM Policy Chaining → Role Assumption → Full Account Compromise

Step 1: An attacker compromises a standard fictional engineering-tier credential (e.g., via phishing) — a much lower bar than compromising an already-privileged identity. Step 2: Using the astravault-platform-engineers group's iam:CreatePolicyVersion and iam:PassRole permissions, the attacker creates a new policy version granting broader access and passes an elevated role to a newly created Lambda function — a documented IAM privilege-escalation pattern (CLOUD-004). Step 3: The attacker executes arbitrary AWS API calls under the elevated role's identity, including further AssumeRole calls. Step 4: This reaches the same overly broad cross-account trust path documented in Attack Chain 1 and CLOUD-001, achieving full fictional Security-account compromise from a starting point that required no privileged access at all.

Business impact: This chain demonstrates that AstraVault's most critical exposure (CLOUD-001) is reachable not only by directly compromising a highly-privileged identity, but via a documented, automatable technique from a standard engineering credential — meaningfully widening the realistic population of attack starting points.

Attack path summary — fictional sample data, Section 40 of the sample PDF.
PathFindings InvolvedEntry Point
AP-01CLOUD-003, CLOUD-001, CLOUD-002Unauthenticated attacker reaches the internet-facing report-fetch feature
AP-02CLOUD-005, CLOUD-032, CLOUD-010Compromised fictional Development-account developer credential
AP-03CLOUD-008, CLOUD-024, CLOUD-009Known-vulnerable package in the analytics-worker container image
AP-04CLOUD-004, CLOUD-001Compromised standard fictional engineering-tier credential
18 · BUSINESS IMPACT

Business impact

This section translates the technical findings above into fictional business terms for AstraVault's executive and board-level audiences, framed around the specific risks a FinTech / enterprise SaaS platform faces from cloud misconfiguration.

Impact CategoryFictional Business Narrative
Regulatory & Compliance ExposureA real-world equivalent of CLOUD-002 (public exposure of customer financial statements) would likely trigger mandatory breach-notification obligations under applicable U.S. state data-breach laws and could implicate contractual obligations to AstraVault's fictional banking and payment partners.
Financial ImpactDirect incident-response and forensic costs (slowed by the CloudTrail/CloudWatch gaps), potential regulatory fines and notification costs, reputational damage and customer-trust erosion, and business-disruption costs if a real-world equivalent of Attack Chain 3 disrupted core financial-workflow features.
Third-Party & Partner RiskCLOUD-007's exposure of a fictional payment-aggregator API key illustrates how a cloud misconfiguration inside AstraVault's own environment can create risk for external partners and integrations, independent of any direct AstraVault customer impact.
Operational ImpactFindings such as CLOUD-004 and CLOUD-009 (the shared execution-role pattern) represent structural risk that would recur with each new feature or workload unless the underlying IAM patterns are corrected — the business impact compounds over time rather than being a one-time exposure.
19 · REMEDIATION ROADMAP

Remediation roadmap

The fictional remediation roadmap below phases all 42 findings into four windows aligned to severity and technical dependency, so AstraVault's engineering teams can sequence work efficiently — addressing the findings that unlock the Section 17 attack chains first.

Immediate — 0–14 days (Critical)

  • Overly permissive IAM role enabling cross-account privilege escalation (CLOUD-001)
  • Publicly accessible S3 bucket exposing sensitive financial data (CLOUD-002)
  • EC2 workload metadata exposure enabling credential theft (CLOUD-003)

0–30 days (High)

  • IAM policy chaining privilege escalation (CLOUD-004)
  • Excessive Production/Development trust relationship (CLOUD-005)
  • Unrestricted administrative security-group access (CLOUD-006)
  • Secrets exposed through workload configuration (CLOUD-007)
  • Vulnerable container image in production ECR (CLOUD-008)
  • Excessive Lambda execution-role permissions (CLOUD-009)
  • Publicly reachable RDS instance (CLOUD-010)
  • CloudTrail logging coverage gap (CLOUD-011)

31–60 days (Medium, Part 1)

  • S3 governance, encryption/versioning enforcement, alerting expansion, egress scoping, and KMS policy scoping — 10 Medium findings (CLOUD-012 through CLOUD-021 and CLOUD-023)

61–90 days (Medium tail + Low)

  • Remaining Medium items (CLOUD-022, CLOUD-024) plus all 9 Low findings — IAM hygiene, backup hardening, container capability minimization, logging completeness, WAF rate-limiting, ECR lifecycle policies, secret rotation, SNS policy scoping (CLOUD-025 through CLOUD-033)

Continuous (Informational)

  • 9 informational observations tracked outside the formal remediation SLA — governance, tagging, IaC drift reconciliation, documentation, and process improvements (CLOUD-034 through CLOUD-042)
20 · POSITIVE SECURITY CONTROLS & TESTING LIMITATIONS

Positive security controls & testing limitations

Consistent with TMG Security's standard reporting practice, this section documents fictional controls confirmed operating effectively during this assessment — an important counterweight to the findings sections, since a cloud security report that only lists problems gives an incomplete picture of AstraVault's actual fictional posture. Confirmed positive controls include: the primary transactional RDS Aurora cluster correctly placed in a private database subnet with scoped security-group access; the organization CloudTrail correctly multi-region with log-file validation and a tamper-resistant delivery-bucket policy; 21 of 22 fictional production S3 buckets correctly enforcing Block Public Access, and 16 of 22 correctly enforcing default SSE-KMS encryption; an OIDC/workload-identity-federated CI/CD deployment pipeline with no hard-coded static secrets found in build configuration; GuardDuty and Security Hub enabled organization-wide with centralized delegated-administrator visibility; a four-tier network-segmentation model correctly implemented for the vast majority of Production resources; several documented IAM privilege-escalation patterns correctly blocked by existing permission boundaries; encryption at rest confirmed enabled fleet-wide for EBS volumes and all reviewed database resources; a correctly-scoped break-glass administrative role with hardware MFA and approval logging; and broken object-level authorization testing against account-data and funds-transfer endpoints finding no exploitable authorization bypass. These positive observations do not offset the findings elsewhere in this report; they are provided for a complete and balanced picture of AstraVault's fictional security posture.

As with any time-boxed security assessment, this fictional engagement is subject to inherent limitations. This assessment reflects AstraVault's fictional AWS environment configuration as observed during the 07–25 September 2026 assessment window; any configuration change made after that window is not reflected in this report. Testing was performed from the four assessment perspectives defined in Section 04; TMG Security did not have unrestricted AWS Management Console access and cannot claim complete visibility into every possible misconfiguration an administrator-level review might surface. No destructive or denial-of-service testing was performed; some classes of availability-impacting weakness may not have been fully validated. Source-code-level application security testing was out of scope for this cloud-infrastructure-focused engagement; application-layer vulnerabilities not visible at the cloud-configuration layer may exist and are better addressed by TMG Security's companion Web Application and API assessment services. Third-party vendor infrastructure (e.g., the fictional payment aggregator) was not tested directly; only AstraVault-side integration configuration was reviewed. This report represents a point-in-time assessment; cloud environments change continuously, and TMG Security recommends recurring assessments (at minimum annually, or after significant architecture changes) to maintain an accurate risk picture.

21 · IMPORTANT DISCLAIMER
Illustrative Sample — Not an Actual Client Cloud Penetration Testing Engagement

AstraVault Technologies, Inc. is a fictional entity. It does not correspond to any real company, and any resemblance to an actual organization is purely coincidental. All AWS accounts referenced in this report — including account IDs 123456789012, 123456789013, and 123456789014 — are fictional and do not correspond to any real AWS account. All domains referenced throughout this report (console.astravault-example.com, api.astravault-example.com, app.astravault-example.com, and astravault-example.com generally) are fictional, non-resolving placeholder domains used only for illustration.

No real client was engaged and no real AWS environment, account, resource, or workload was tested, scanned, or accessed in the creation of this report. No production environment, system, network, cloud resource, container, database, or code repository of any kind was accessed, scanned, or tested. No real user data, personal information, payment data, or customer records were accessed, viewed, or processed. No real credentials — including IAM access keys, database passwords, API keys, or third-party integration secrets — were used or are disclosed anywhere in this report. All credential-shaped values shown (e.g., AKIAEXAMPLE-prefixed access key IDs) are non-functional illustrative placeholders. All AWS CLI output, IAM policy documents, JSON responses, S3 configuration, security-group rules, CloudTrail events, and IAM trust policies shown in this report are synthetic and constructed for illustration only.

All vulnerabilities, findings, risk ratings, CVSS-style scores, dates, and remediation statuses described in this report are fictional and were constructed for demonstration purposes. All attack paths and proofs-of-concept (PoCs) described in this report are illustrative, synthetic, and non-destructive; none were executed against a real or live AWS account, and no real cloud resource was exploited, modified, or deleted. No real exploitation occurred at any point during the preparation of this document, and no actual customer or business impact occurred.

TMG Security is not affiliated with, endorsed by, reviewed by, or certified by AWS, PTES, NIST, OWASP, or any other standards organization unless explicitly stated otherwise. Nothing in this report implies AWS certification, partnership, or endorsement of TMG Security or of this assessment. This report does not represent an actual TMG Security client engagement and must not be relied upon as evidence of the security posture of any real organization, cloud account, or application.

22 · FREQUENTLY ASKED QUESTIONS

Frequently asked questions

What is a cloud penetration testing report?+

A cloud penetration testing report is the formal deliverable produced after an authorized, hands-on security assessment of a cloud environment such as AWS. It documents scope and methodology, IAM and privilege-escalation testing, storage and workload security review, network segmentation testing, logging and detection assessment, detailed findings with severity ratings and evidence, risk and business-impact analysis, and remediation guidance — giving cloud engineering and security leadership an evidence-based roadmap for closing the gaps found.

What does a cloud penetration test cover?+

Cloud Penetration Testing covers identity and access management (IAM, cross-account trust, privilege escalation), data storage (S3, RDS, Secrets Manager, KMS), compute and workloads (EC2, ECS, Lambda, ECR/container images), network segmentation and security groups, edge and delivery (CloudFront, WAF, API Gateway), and logging/detection posture (CloudTrail, CloudWatch, GuardDuty, Security Hub) — 10 testing areas in this sample, spanning 27 assessed AWS service domains.

What AWS accounts and services are covered in this sample?+

This fictional sample covers a three-account AWS Organization — Production, Security, and Development — and assesses IAM, S3, EC2, VPC, Security Groups, Lambda, API Gateway, ECS/ECR containers, RDS, Secrets Manager, KMS, CloudTrail, CloudWatch, GuardDuty, Security Hub, WAF, CloudFront, cross-account trust, AWS Backup, and CI/CD deployment security.

What is an IAM privilege-escalation path and why does it matter?+

An IAM privilege-escalation path is a documented technique — such as iam:PassRole combined with iam:CreatePolicyVersion — that lets an identity with limited permissions grant itself broader access without administrator approval. This sample's CLOUD-004 and CLOUD-001 findings show how such a path can lead to full cross-account administrative compromise.

How is S3 bucket security is tested in Cloud Penetration Testing?+

TMG Security enumerates every bucket for public accessibility, Block Public Access configuration, default encryption enforcement, versioning status, access logging, and resource-policy scope, as shown in this sample's CLOUD-002, CLOUD-012, CLOUD-013, and CLOUD-014 findings.

What is EC2 instance-metadata-service (IMDS) exposure?+

Instance-metadata-service exposure occurs when an EC2 instance permits the older IMDSv1 protocol, which has no session-token requirement, allowing a server-side request forgery (SSRF) vulnerability in an application to be converted directly into theft of the instance's live IAM credentials. This sample's CLOUD-003 finding and Attack Path AP-01 illustrate exactly this chain.

Why isn't every misconfiguration finding rated Critical?+

TMG Security's fictional rating approach for this report weighs unauthenticated reachability, the sensitivity of the affected resource, and whether the finding independently enables full account or data compromise versus requiring further chaining. Findings that require multiple additional conditions to reach serious impact are generally rated High or Medium rather than Critical, even when part of a larger attack chain.

How are cloud attack chains validated without touching a real account?+

Because AstraVault Technologies, Inc. and its AWS accounts are entirely fictional, each attack-chain step in this sample report is a documented, illustrative technique cross-referenced against the specific finding IDs it depends on, rather than an action executed against any live AWS account. In a real client engagement, TMG Security validates chain feasibility through controlled, authorized, non-destructive testing.

Is this an actual client penetration testing report?+

No. This is a fictional sample/demonstration report and does not represent an actual client engagement. AstraVault Technologies, Inc. and all AWS accounts, resources, findings, and evidence referenced are fictional, and no real AWS environment was assessed.

23 · VIEW FULL SAMPLE PDF

View the full sample PDF

The complete 109-page illustrative report, including the full methodology, AWS account and cloud architecture overview, all 42 detailed findings with evidence panels, the attack path analysis, business impact analysis, remediation roadmap, and every appendix — cloud test case register, AWS account register, IAM principal register, S3 bucket register, EC2/workload register, VPC/subnet/security-group register, Lambda/API register, container/ECR register, database register, cloud security control matrix, finding register, evidence register, attack path register, remediation priority matrix, and test accounts/assumed roles register.

TMG_Security_Cloud_Penetration_Testing_Sample_Report_FINAL.pdf
CLOUD PENETRATION TESTING REPORT · AWS IAM / S3 / EC2 / VPC · AstraVault Technologies, Inc. · 109 Pages · Illustrative Sample
24 · REQUEST A SIMILAR ASSESSMENT

Request a similar assessment

Looking to validate your own AWS environment's security directly? TMG Security's Cloud Security Testing team can scope a real Cloud Penetration Testing engagement built with the same structure, methodology, and reporting depth shown in this sample — IAM and privilege-escalation testing, S3 and workload security, network segmentation review, and a full sample findings report.