AWS - CodeBuild Post Exploitation

Unterstütze HackTricks

CodeBuild

Für weitere Informationen siehe:

AWS - Codebuild Enum

Missbrauch von CodeBuild Repo-Zugriff

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 Repos, auf die die gesetzten Anmeldeinformationen Zugriff haben, zu leaken. Um dies zu tun, müsste ein Angreifer nur die Repository-URL zu jedem Repo ändern, auf das die Konfigurationsanmeldeinformationen Zugriff haben (beachte, dass die aws-Webseite alle für dich auflisten wird):

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? Siehe den nächsten Abschnitt

Leaking von Zugriffstokens aus AWS CodeBuild

Du kannst den Zugriff, der in CodeBuild auf Plattformen wie Github gewährt wurde, leaken. Überprüfe, ob ein 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 zum Verlust der Projektkonfiguration und zur Beeinträchtigung von Anwendungen führt, die auf das Projekt angewiesen sind.

aws codebuild delete-project --name <value>

Potentieller Einfluss: 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 Kostenverteilung, Ressourcennachverfolgung und Zugriffskontrollrichtlinien Ihrer Organisation basierend auf Tags stören könnte.

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

Potentieller Einfluss: Störung der Kostenverteilung, Ressourcennachverfolgung und tag-basierten Zugriffskontrollrichtlinien.

codebuild:DeleteSourceCredentials

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

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

Potentieller Einfluss: Störung des normalen Betriebs von Anwendungen, die auf das betroffene Repository angewiesen sind, aufgrund der Entfernung von Quell-Anmeldeinformationen.

Unterstütze HackTricks

Last updated