AWS - CodeBuild Post Exploitation

Unterstütze HackTricks

CodeBuild

Für weitere Informationen, siehe:

AWS - Codebuild Enum

Missbrauch des Zugriffs auf das CodeBuild-Repo

Um CodeBuild zu konfigurieren, benötigt es Zugriff auf das Code-Repo, das es verwenden wird. Mehrere Plattformen könnten diesen Code hosten:

Das CodeBuild-Projekt muss Zugriff auf den konfigurierten Quellanbieter haben, entweder über IAM-Rolle oder mit einem GitHub/Bitbucket Token oder OAuth-Zugriff.

Ein Angreifer mit erhöhten Berechtigungen in einem CodeBuild könnte diesen konfigurierten Zugriff missbrauchen, um den Code des konfigurierten Repos und anderer, auf die die festgelegten Anmeldeinformationen Zugriff haben, zu leaken. Um dies zu tun, müsste ein Angreifer nur die Repository-URL auf jedes Repo ändern, auf das die konfigurierten Anmeldeinformationen Zugriff haben (beachte, dass die AWS-Webseite alle für dich auflistet):

Und die Buildspec-Befehle ändern, um jedes Repo zu exfiltrieren.

Diese Aufgabe ist jedoch repetitiv und mühsam und wenn ein GitHub-Token mit Schreibberechtigungen konfiguriert wurde, kann ein Angreifer diese Berechtigungen nicht (miss)brauchen, da er keinen Zugriff auf das Token hat. Oder doch? Überprüfe den nächsten Abschnitt

Zugriffstoken von AWS CodeBuild leaken

Du kannst den Zugriff, der in CodeBuild auf Plattformen wie GitHub gewährt wurde, leaken. Überprüfe, ob irgendein Zugriff auf externe Plattformen gewährt wurde mit:

aws codebuild list-source-credentials
AWS Codebuild - Token Leakage

codebuild:DeleteProject

Ein Angreifer könnte ein gesamtes CodeBuild-Projekt löschen, was zu einem Verlust der Projektkonfiguration führt und Anwendungen beeinträchtigt, die auf das Projekt angewiesen sind.

aws codebuild delete-project --name <value>

Potenzielle Auswirkungen: Verlust der Projektkonfiguration und Dienstunterbrechung für Anwendungen, die das gelöschte Projekt verwenden.

codebuild:TagResource , codebuild:UntagResource

Ein Angreifer könnte Tags von CodeBuild-Ressourcen hinzufügen, ändern oder entfernen, was die Kostenallokation, die Ressourcenverfolgung und die Zugriffskontrollrichtlinien Ihrer Organisation, die auf Tags basieren, stören würde.

aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>

Potenzielle Auswirkungen: Störung der Kostenverteilung, Ressourcenverfolgung und tagbasierter Zugriffskontrollrichtlinien.

codebuild:DeleteSourceCredentials

Ein Angreifer könnte die Quellanmeldeinformationen für ein Git-Repository löschen, was die normale Funktionsweise von Anwendungen beeinträchtigt, die auf das Repository angewiesen sind.

aws codebuild delete-source-credentials --arn <value>

Potenzielle Auswirkungen: Störung der normalen Funktion von Anwendungen, die auf das betroffene Repository angewiesen sind, aufgrund der Entfernung von Quellanmeldeinformationen.

Unterstütze HackTricks

Last updated