Zum Inhalt springen
← Alle Artikel Cloud

Cloud IAM Privilege Escalation — vom Service Account zum Cloud Admin

Cloud Identity and Access Management (IAM) ist die zentrale Kontrollschicht jeder Cloud-Infrastruktur — und gleichzeitig die größte Angriffsfläche für Privilege Escalation. In AWS ermöglichen überflüssige Berechtigungen wie iam:PassRole kombiniert mit lambda:CreateFunction die direkte Eskalation zum Administrator, während sts:AssumeRole-Chains über Account-Grenzen hinweg ausgenutzt werden können. Azure bietet mit RBAC-Rollen (Owner, Contributor, User Access Administrator), Managed Identities und Automation Account RunAs-Konten zahlreiche Eskalationspfade — besonders wenn Privileged Identity Management (PIM) falsch konfiguriert ist. In GCP führen Service-Account-Key-Diebstahl, Impersonation-Chains und setIamPolicy-Missbrauch zur vollständigen Projektübernahme. Cross-Cloud-Angriffe über OIDC-Federation und Workload Identity verbinden diese Angriffsvektoren zu komplexen, schwer erkennbaren Eskalationsketten.

Steckbrief
TypCloud Security / Privilege Escalation
TechnikIAM Policy Abuse / Role Chaining
MITRE ATT&CKT1078.004 / T1098 / T1548 / T1550
ToolsPacu / ROADtools / ScoutSuite / Prowler
VerteidigungLeast Privilege / CloudTrail / CSPM
KritikalitätKritisch
Cloud IAM Privilege Escalation Cloud IAM Privilege Escalation nutzt übermäßige Berechtigungen und Fehlkonfigurationen, um von eingeschränkten Zugriffsrechten zur vollständigen Cloud-Kontrolle zu eskalieren.

AWS IAM — Privilege Escalation Chains & IMDS-Exploitation

AWS IAM ist ein Policy-basiertes Berechtigungssystem mit Identity Policies (an User/Role/Group angeheftet), Resource Policies (an S3/SQS/Lambda angeheftet) und Permission Boundaries. Die Komplexität dieses Systems — insbesondere die Evaluation Logic (Explicit Deny > SCP > Permission Boundary > Identity Policy) — führt zu zahlreichen Fehlkonfigurationen, die Privilege Escalation ermöglichen. Das Tool Pacu (Rhino Security Labs) automatisiert die Erkennung und Ausnutzung dieser Schwachstellen.

  • iam:PassRole + Service Exploitation: Die gefährlichste AWS-Privilege-Escalation nutzt iam:PassRole in Kombination mit Service-Erstellungsberechtigungen: Ein Benutzer mit iam:PassRole und lambda:CreateFunction + lambda:InvokeFunction kann eine Lambda-Funktion erstellen, die eine hochprivilegierte Rolle annimmt — und dann beliebige Aktionen in deren Kontext ausführen. Gleiches gilt für iam:PassRole + ec2:RunInstances (EC2-Instanz mit Admin-Role starten), iam:PassRole + glue:CreateDevEndpoint (Glue-Endpoint mit priveligierter Rolle), iam:PassRole + ecs:RegisterTaskDefinition (ECS-Task mit Rolle). Pacu erkennt diese Kombinationen automatisch mit dem Modul iam__privesc_scan. Verteidigung: iam:PassRole auf spezifische Rollen-ARNs einschränken — niemals Resource: "*" verwenden.
  • iam:CreatePolicyVersion & Policy-Manipulation: Ein Benutzer mit iam:CreatePolicyVersion kann eine neue Version einer bestehenden IAM-Policy erstellen und als Default setzen — effektiv beliebige Berechtigungen hinzufügen: aws iam create-policy-version --policy-arn arn:aws:iam::123456789012:policy/MyPolicy --policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":"*","Resource":"*"}]}' --set-as-default. Verwandte Techniken: iam:AttachUserPolicy (AWS-Managed-Admin-Policy anhängen), iam:PutUserPolicy (Inline-Policy mit *:* erstellen), iam:AttachGroupPolicy/iam:AttachRolePolicy (indirekte Eskalation über Gruppen/Rollen). sts:AssumeRole Chains: Rolle A darf Rolle B annehmen, Rolle B darf Rolle C annehmen — transitive Eskalation über mehrere Konten hinweg. AWS Access Analyzer erkennt Cross-Account-Zugriffsberechtigungen, findet aber nicht alle transitiven Pfade.
  • IMDS v1 Credential Theft & SSRF: Der Instance Metadata Service (IMDS) unter http://169.254.169.254 liefert temporäre Credentials der an eine EC2-Instanz angehefteten IAM-Rolle. IMDS v1 ist per einfachem HTTP-GET erreichbar — jede Server-Side Request Forgery (SSRF)-Schwachstelle in einer Webanwendung auf EC2 kann diese Credentials exfiltrieren: curl http://169.254.169.254/latest/meta-data/iam/security-credentials/RoleName liefert AccessKeyId, SecretAccessKey und SessionToken. Berühmtester Fall: Capital One Breach 2019 (100 Millionen Datensätze via SSRF + IMDS v1). IMDS v2 erfordert einen PUT-Request mit TTL-Header zum Erhalt eines Session-Tokens — dies blockiert die meisten SSRF-Angriffe, da SSRF typischerweise keine Custom-Header setzen kann. Maßnahme: IMDS v1 deaktivieren mit aws ec2 modify-instance-metadata-options --instance-id i-xxx --http-tokens required.
  • Cross-Account-Angriffe & Organization-Exploitation: In AWS Organizations mit vielen Accounts eröffnet die Kompromittierung eines einzelnen Accounts oft laterale Bewegung: sts:AssumeRole mit Cross-Account-Trust-Policies ermöglicht den Wechsel in andere Accounts. OrganizationAccountAccessRole — die Default-Rolle, die AWS beim Account-Erstellen über Organizations anlegt — hat AdministratorAccess und vertraut dem Management-Account: Kompromittierung des Management-Accounts = Zugriff auf alle Member-Accounts. SCPs (Service Control Policies) können Eskalation einschränken, werden aber oft umgangen, wenn iam:CreatePolicyVersion nicht explizit denied wird. Terraform/CloudFormation State Files in S3 enthalten häufig Secrets und IAM-Keys im Klartext — ein oft übersehener Angriffsvektor. Empfehlung: S3-Bucket-Policies mit s3:GetObject-Deny für State Files, Encryption at Rest, und State Locking mit DynamoDB.

Azure & GCP — RBAC & Service Account Abuse

Azure RBAC und GCP IAM verwenden rollenbasierte Zugriffskontrolle mit feingranularen Berechtigungen, die auf verschiedenen Ebenen (Management Group, Subscription, Resource Group bzw. Organization, Folder, Project) zugewiesen werden können. Beide Plattformen haben spezifische Eskalationspfade, die sich fundamental von AWS unterscheiden — insbesondere durch Managed Identities (Azure) und Service Account Impersonation (GCP). Die Tools ROADtools (Azure AD Enumeration), AzureHound (BloodHound für Azure), MicroBurst und ScoutSuite (Multi-Cloud) automatisieren die Erkennung.

  • Azure RBAC Privilege Escalation: Die drei gefährlichsten Azure-Rollen: Owner (Vollzugriff + Rollenzuweisung), Contributor (Vollzugriff ohne Rollenzuweisung — kann aber über Automation Accounts, Function Apps oder Custom Script Extensions eskalieren), User Access Administrator (kann sich selbst Owner-Rechte zuweisen). Eskalationspfad: Contributor erstellt eine Azure Function mit System-Assigned Managed Identity → weist dieser Identity über ARM-Template die Owner-Rolle zu → nutzt die Function zum Ausführen privilegierter Aktionen. Custom-Role-Abuse: Ein Benutzer mit Microsoft.Authorization/roleDefinitions/write kann eine Custom-Role erstellen, die beliebige Berechtigungen enthält. AzureHound/BloodHound visualisiert diese Eskalationspfade als Graphen — kürzester Pfad von kompromittiertem Benutzer zu Global Admin.
  • Managed Identity & Automation Account Abuse: System-Assigned Managed Identities sind an Azure-Ressourcen gebunden und erhalten IAM-Tokens über den IMDS-Endpunkt (http://169.254.169.254/metadata/identity/oauth2/token): Jede Code-Ausführung auf der Ressource (VM, Function App, App Service) kann das Token abrufen und dessen Berechtigungen nutzen. Automation Accounts mit RunAs-Konten (Service Principals mit Zertifikat) haben oft übermäßige Berechtigungen — Contributor auf Subscription-Ebene ist üblich. Ein Angreifer mit Zugriff auf den Automation Account kann Runbooks erstellen, die im Kontext des RunAs-Accounts ausgeführt werden. PIM-Abuse (Privileged Identity Management): Wenn ein Benutzer eine eligible Global-Admin-Rolle hat, kann er diese aktivieren — ohne Approval, wenn MFA die einzige Anforderung ist und der Angreifer bereits MFA-Zugriff hat (z. B. über AitM-Phishing mit Evilginx2). Gegenmaßnahme: PIM mit Approval-Workflow, Conditional Access mit Compliant Device als Anforderung.
  • GCP IAM & Service Account Exploitation: GCP IAM verwendet Rollen (Predefined + Custom) die auf Resources (Organization, Folder, Project, einzelne Ressource) gebunden werden. Kritischste Berechtigungen: iam.serviceAccounts.getAccessToken (Token eines Service Accounts anfordern — direkte Impersonation), iam.serviceAccounts.signBlob (beliebige Daten im Namen des SAs signieren — ermöglicht OAuth-Token-Erstellung), resourcemanager.projects.setIamPolicy (IAM-Policy des Projekts ändern — sich selbst Owner geben). Service Account Key Theft: Heruntergeladene JSON-Keys haben keine Ablaufzeit und sind äquivalent zu Langzeit-Credentials. Impersonation Chains: SA-A darf SA-B impersonaten, SA-B darf SA-C impersonaten — transitive Eskalation, die IAM Analyzer nicht vollständig erkennt. Default Service Accounts (Compute Engine, App Engine) haben oft die Rolle Editor auf Projektebene — viel zu weit gefasst.
  • Cross-Cloud-Angriffe & OIDC Federation: Moderne Multi-Cloud-Umgebungen nutzen Workload Identity Federation: GCP-Workloads authentifizieren sich bei AWS über OIDC, Azure-Pipelines erhalten GCP-Tokens über WIF. Ein Angreifer, der einen Cloud-Provider kompromittiert, kann über Federation in den nächsten eskalieren: Kompromittiertes AWS-Konto → OIDC-Token erstellen → GCP Service Account annehmen → GCP-Ressourcen kompromittieren. GitHub Actions OIDC zu AWS/Azure/GCP ist besonders kritisch: Ein Angreifer mit Push-Zugriff auf ein Repository kann den Workflow modifizieren und damit Cloud-Credentials erhalten. CloudTrail/Azure Activity Log Evasion: Einige API-Calls werden nicht geloggt (z. B. s3:GetObject in Data Events, die separat aktiviert werden müssen), und Log-Manipulation ist möglich, wenn der Angreifer cloudtrail:StopLogging oder cloudtrail:DeleteTrail ausführen kann. Empfehlung: CloudTrail Organization Trail mit S3 Object Lock (WORM) und CloudTrail Log File Integrity Validation.

Cloud Security Monitoring & Hardening — Eskalation verhindern

Cloud Security Posture Management (CSPM) und Cloud Infrastructure Entitlement Management (CIEM) sind die zentralen Verteidigungssäulen gegen IAM-Privilege-Escalation. CSPM-Tools wie Prowler, ScoutSuite und CloudSploit scannen kontinuierlich nach Fehlkonfigurationen, während CIEM-Plattformen wie Ermetic und CloudKnox übermäßige Berechtigungen identifizieren und Least-Privilege-Empfehlungen aussprechen. Die Kombination aus präventiven Controls (SCPs, Permission Boundaries, Conditional Access) und detektiven Controls (CloudTrail, GuardDuty, Azure Sentinel) bildet eine effektive Defense-in-Depth-Strategie.

  • AWS-Hardening & Least Privilege: IAM Access Analyzer generiert Least-Privilege-Policies basierend auf CloudTrail-Logs: aws accessanalyzer generate-policy --policy-generation-details '{"principalArn":"arn:aws:iam::123456789012:role/MyRole"}' — analysiert 90 Tage CloudTrail und erstellt eine Policy mit nur den tatsächlich genutzten Berechtigungen. SCPs (Service Control Policies) auf OU-Ebene verhindern gefährliche Aktionen organisationsweit: {"Effect":"Deny","Action":["iam:CreateUser","iam:CreateAccessKey","iam:CreatePolicyVersion"],"Resource":"*"}. Permission Boundaries begrenzen die maximalen Berechtigungen, die ein Benutzer delegieren kann — selbst wenn er iam:PassRole hat. Prowler (Open Source) scannt AWS-Accounts gegen CIS Benchmark, NIST 800-53, PCI-DSS und identifiziert über 300 Fehlkonfigurationen. GuardDuty erkennt IAM-Anomalien: ungewöhnliche API-Calls, Credential-Nutzung aus unüblichen Regionen, bekannte Angreifer-IPs.
  • Azure Security Hardening: Conditional Access Policies sind die erste Verteidigungslinie: Compliant Device als Anforderung für privilegierte Rollen (blockiert Token-Theft-Angriffe), Named Locations (nur aus Firmennetzwerk), Sign-in Risk Policy (blockiert Anmeldungen mit hohem Risiko-Score). PIM Best Practices: Alle privilegierten Rollen als eligible (nicht permanent) konfigurieren, Approval-Workflow für Global Admin / Privileged Role Admin, maximale Aktivierungsdauer von 4 Stunden, Access Reviews alle 30 Tage. Microsoft Defender for Cloud (CSPM-Modul) bewertet den Security Score und identifiziert übermäßige Berechtigungen. Entra ID Workload Identity: Service Principals mit Federated Credentials statt Client Secrets (keine langlebigen Credentials). Azure Policy: Deny-Policies für Custom-Role-Erstellung und Managed-Identity-Zuweisung auf sensiblen Ressourcen.
  • Multi-Cloud-Monitoring mit SIEM-Integration: CloudTrail (AWS), Azure Activity Log (Azure) und Cloud Audit Logs (GCP) müssen zentral in einem SIEM (Splunk, Microsoft Sentinel, Elastic) aggregiert werden. Kritische Detection Rules: iam:CreatePolicyVersion mit Effect:Allow, Action:* (Privilege Escalation Attempt), sts:AssumeRole von ungewöhnlichen Quell-Accounts, ConsoleLogin ohne MFA, CreateAccessKey für fremde Benutzer, StopLogging/DeleteTrail (Anti-Forensik). ScoutSuite (NCC Group) führt Multi-Cloud-Audits durch und generiert HTML-Reports mit priorisierten Findings. Cartography (Lyft) erstellt einen Graphen aller Cloud-Assets und Beziehungen in Neo4j — ermöglicht Cypher-Queries wie „Finde alle IAM-Rollen, die indirekt s3:* erlauben“. CloudQuery synchronisiert Cloud-Assets in PostgreSQL für SQL-basierte Sicherheitsanalysen.
  • Infrastructure as Code Security: Terraform/CloudFormation-Templates sind der Ursprung vieler IAM-Fehlkonfigurationen — Security muss im CI/CD-Pipeline ansetzen, nicht erst nach dem Deployment. Checkov (Bridgecrew/Palo Alto) scannt Terraform/CloudFormation/Kubernetes-Manifeste auf über 1.000 Security-Policies: checkov -d ./terraform --check CKV_AWS_61 prüft, ob IAM-Policies *:* enthalten. tfsec (Aqua Security) ist spezialisiert auf Terraform und erkennt IAM-Misconfigurations: wildcard Actions, fehlende Permission Boundaries, offene S3-Buckets. OPA/Rego (Open Policy Agent) ermöglicht Custom-Policies: deny[msg] { input.resource.aws_iam_policy.policy contains "Action\": \"*\"" }. Shift-Left-Strategie: IDE-Plugins (VS Code Checkov Extension) zeigen IAM-Probleme bereits beim Schreiben des Codes. Sentinel (HashiCorp) erzwingt Policies direkt im Terraform-Workflow und blockiert terraform apply bei Verstößen.

Sie benötigen Unterstützung?

Cloud IAM Privilege Escalation ist der häufigste Angriffsvektor in modernen Cloud-Umgebungen. Wir führen Cloud-Security-Assessments durch, identifizieren übermäßige Berechtigungen und implementieren Least-Privilege-Architekturen — über AWS, Azure und GCP hinweg.

Security & Firewall ansehen →
Emre Uygunsoy — Gründer & Geschäftsführer von IT-ZU Verfügbar
🛡 BSI Grundschutz ☁ Azure Certified 🔒 DSGVO Experte
Ihr persönlicher Ansprechpartner

Emre Uygunsoy

Geschäftsführer & Senior IT-Consultant

„Jedes Unternehmen verdient eine IT, die einfach funktioniert. Lassen Sie uns gemeinsam herausfinden, wie wir Ihre IT auf das nächste Level bringen können.“
Hybrid Infrastructure On-Premise & Cloud Architektur
🛡
IT-Security Zero Trust, Firewall, EDR
🔄
Migration & Rollout M365, Azure, Virtualisierung

Bereit für eine IT, die einfach funktioniert? Lassen Sie uns sprechen.

Kostenlose und unverbindliche Erstberatung. Wir analysieren Ihre IT-Situation und zeigen Optimierungspotenzial — ohne Verpflichtung.

Noch diese Woche: Freie Beratungstermine verfügbar