AWS - CodeBuild Post Exploitation
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen, siehe:
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.
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
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:
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.
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.
Potenzielle Auswirkungen: Störung der Kostenallokation, 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.
Potenzielle Auswirkungen: Störung der normalen Funktion von Anwendungen, die auf das betroffene Repository angewiesen sind, aufgrund der Entfernung von Quellanmeldeinformationen.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)