AWS - CodeBuild Post Exploitation
CodeBuild
Für weitere Informationen siehe:
AWS - Codebuild EnumMissbrauch 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:
codebuild:DeleteProject
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.
Potentieller Einfluss: Verlust der Projektkonfiguration und Dienstunterbrechung für Anwendungen, die das gelöschte Projekt verwenden.
codebuild:TagResource
, codebuild:UntagResource
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.
Potentieller Einfluss: Störung der Kostenverteilung, Ressourcennachverfolgung und tag-basierten Zugriffskontrollrichtlinien.
codebuild:DeleteSourceCredentials
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.
Potentieller Einfluss: Störung des normalen Betriebs von Anwendungen, die auf das betroffene Repository angewiesen sind, aufgrund der Entfernung von Quell-Anmeldeinformationen.
Last updated