AWS - CodeBuild Post Exploitation

Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

CodeBuild

Für weitere Informationen, siehe:

AWS - Codebuild Enum

Überprüfe Geheimnisse

Wenn Anmeldeinformationen in CodeBuild festgelegt wurden, um sich mit Github, Gitlab oder Bitbucket in Form von persönlichen Tokens, Passwörtern oder OAuth-Token-Zugriff zu verbinden, werden diese Anmeldeinformationen als Geheimnisse im Geheimnismanager gespeichert. Daher, wenn du Zugriff auf den Geheimnismanager hast, kannst du diese Geheimnisse abrufen und zu der verbundenen Plattform pivotieren.

AWS - Secrets Manager Privesc

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 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

Leaking Access Tokens from AWS CodeBuild

Du kannst den Zugriff, der in CodeBuild auf Plattformen wie Github gewährt wurde, leaken. Überprüfe, ob 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 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 Kostenverteilung, 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.

Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstütze HackTricks

Last updated