DEV Community

IC Governance Systems
IC Governance Systems

Posted on

Finding AWS IAM Privilege Escalation Paths Offline with CloudAttack

Finding AWS IAM Privilege Escalation Paths Offline with CloudAttack

Introduction

AWS IAM is one of the most powerful security controls in AWS, but it can also become one of the most difficult to review as environments grow.

A common challenge is identifying privilege escalation paths that are not immediately obvious when reviewing policies manually.

For example:

  • A developer role may appear to have limited permissions.
  • That same role may have the ability to use iam:PassRole.
  • The target role may have access to higher privilege services such as Lambda, EC2, or other AWS resources.

This creates a potential escalation path that may not be visible during a simple policy review.

To explore this problem, I built CloudAttack Community Edition, a lightweight open-source tool that analyses exported IAM JSON files locally and highlights common identity risks.

Why Offline Analysis?

Many organisations operate in environments where:

  • Internet access is restricted
  • AWS credentials cannot be shared
  • Security reviews must be performed locally

CloudAttack was designed with those scenarios in mind.

The Community Edition:

  • Runs locally
  • Requires no AWS credentials
  • Requires no cloud access
  • Analyses exported IAM JSON files

Example IAM Risk

Consider the following scenario:

{
  "Role": "developer-role",
  "Permissions": [
    "iam:PassRole"
  ]
}
Enter fullscreen mode Exit fullscreen mode

If the developer role can pass another role with elevated permissions, an attacker may be able to abuse that relationship and gain additional access.

Manually identifying these paths across multiple roles becomes increasingly difficult as environments grow.

Example CloudAttack Output

=== CloudAttack Community Edition ===

[CRITICAL] Privilege Escalation Path Detected

Role:
  developer-role

Issue:
  Can pass role lambda-role

Impact:
  This chain may allow privilege escalation across roles

Path:
  developer-role → lambda-role

----------------------------------------

[HIGH] External Account Access

Role:
  lambda-role

Issue:
  External account can assume this role

Impact:
  External AWS account may inherit permissions

----------------------------------------

Summary:
  2 issues found
Enter fullscreen mode Exit fullscreen mode

Current Detection Capabilities

The current Community Edition can identify:

  • iam:PassRole abuse paths
  • External trust relationships
  • Overly permissive trust policies
  • Simple privilege escalation chains

Future Enhancements

Potential future capabilities include:

  • Risk scoring
  • Attack path visualisation
  • Multi-account analysis
  • Blast radius estimation
  • Advanced privilege escalation modelling

Project

CloudAttack Community Edition is available on GitHub.

Feedback, feature requests, and contributions are welcome.

Conclusion

IAM remains one of the most common sources of cloud security risk.

Even relatively small misconfigurations can create privilege escalation opportunities that are difficult to identify manually.

CloudAttack was created to provide a simple way to analyse IAM configurations locally and surface these risks quickly.

If you're working in AWS security, cloud engineering, or DevSecOps, I'd be interested to hear your feedback.

Top comments (0)