CodeBuild-Projektrolle kapern (Batch)
Kann einen Batch-Build auf einem Projekt mit Override-Befehlen als dessen Service-Rolle starten.
Ermöglicht Eskalation für sich allein.
codebuild:StartBuildBatchFür sich allein kann codebuild:StartBuildBatch einen Batch-Build auf einem Projekt mit Override-Befehlen als dessen Servicerolle starten. Bei einem weiten Ressourcenbereich erreicht dies allein Administratorzugriff.
Warum es gefährlich ist
Ein Principal kann codebuild:StartBuildBatch auf einem bestehenden CodeBuild-Projekt aufrufen, das die Service-Rolle bereits trägt, und einen buildspecOverride übergeben, dessen Shell-Befehle vom Angreifer kontrolliert werden. CodeBuild führt diese Befehle auf seiner verwalteten Infrastruktur als Zielrolle aus, ohne iam:PassRole und ohne codebuild:CreateProject, weil die Zielrolle bereits an das Projekt gebunden ist. Die Befehle lesen die aktiven Anmeldeinformationen der Zielrolle aus der Build-Umgebung oder rufen AWS direkt auf; ist die Zielrolle privilegiert, ist dies eine vollständige Privilege Escalation gegen ein Projekt, dem bereits vertraut wurde.
In MITRE ATT&CK entspricht dies T1578, Modify Cloud Compute Infrastructure, unter der Taktik Privilege Escalation. AWS protokolliert dies in CloudTrail als StartBuildBatch. Der Aufruf ist in CloudTrail gut sichtbar und hebt sich von normaler Aktivität ab.
Erkennung
StartBuildBatchVoraussetzungen
Ein bestehendes CodeBuild-Projekt mit angehängter Service Role; Berechtigung, einen Batch-Build darauf zu starten. Buildspec-/Command-Overrides müssen erlaubt sein (die Voreinstellung).
MITRE ATT&CK
T1578 · Modify Cloud Compute InfrastructureTaktik
Privilege Escalation
Eine Maßnahme, die ihn beseitigen würde: codebuild:StartBuildBatch bei Projekten beschränken, die eine privilegierte Service-Rolle tragen; buildspec-Overrides nicht zulassen.
Ob sie angewendet werden sollte, hängt davon ab, wie die Berechtigung in Ihrer Umgebung verwendet wird, daher ist es eine geschäftliche Entscheidung und keine automatische Behebung. Dieselbe Berechtigung kann in einem Konto tragend und in einem anderen reines Risiko sein.
Pathbreak bestätigt, ob dieser Pfad in Ihrem Konto auflösbar ist, stuft ihn gegenüber den anderen danach ein, wie viel er eröffnet, und nutzt Ihr Bedrohungsmodell und Ihren Geschäftskontext, um zu zeigen, welche Pfade es wert sind, unterbrochen zu werden.
Fragen
Was erlaubt codebuild:StartBuildBatch?
Kann einen Batch-Build auf einem Projekt mit Override-Befehlen als dessen Service-Rolle starten.
Kann codebuild:StartBuildBatch allein Privilegien eskalieren?
Ja. Auf einer ausreichend breiten Ressource gehalten, erreicht sie ohne weitere Berechtigung Administratorzugriff.
Wie wird das Kapern einer CodeBuild-Projektrolle (Batch) erkannt?
Achten Sie in CloudTrail auf StartBuildBatch. Der Aufruf ist in CloudTrail laut und hebt sich von der normalen Aktivität ab.
Wie unterbricht man diesen Pfad?
Eine Maßnahme, die ihn beseitigen würde, ist: Beschränken Sie codebuild:StartBuildBatch bei Projekten, die eine privilegierte Service-Rolle tragen; untersagen Sie buildspec-Overrides. Ob sie angewendet werden sollte, hängt davon ab, wie die Berechtigung in Ihrem Konto verwendet wird, es ist also eine geschäftliche Entscheidung und keine automatische Behebung.
Welche MITRE ATT&CK Technik ist das?
T1578, Modify Cloud Compute Infrastructure, unter der Taktik Privilege Escalation.
Verwandte Pfade
Referenzen
Finden Sie dies in Ihrem eigenen Konto
Wir führen einen schreibgeschützten Scan eines AWS-Kontos durch und zeigen Ihnen, welche dieser Pfade existieren, nach Blast-Radius priorisiert, mit der Änderung, die jeden einzelnen unterbricht. Erste validierte Pfade innerhalb der Stunde.