Bitbucket: Datenleck in CI/CD-Pipeline

Table of Contents

Eine kürzlich von Mandiant durchgeführtes Untersuchung hat aufgedeckt, dass AWS-Geheimnisse aus Atlassians Code-Repository-Tool Bitbucket geleakt und von Angreifern genutzt wurden, um unautorisierten Zugang zu erlangen.

Bitbucket, eine Code-Hosting-Plattform von Atlassian, verfügt über einen integrierten CI/CD-Dienst namens Bitbucket Pipelines. Diese Pipelines können für die Bereitstellung und Wartung von AWS-Ressourcen genutzt werden. Bitbucket bietet eine Funktion namens “Secured Variables”, mit der Administratoren CI/CD-Secrets, wie AWS-Schlüssel, sicher speichern können.

CI/CD Secerets sind entscheidend für die Authentifizierung und Autorisierung innerhalb von CI/CD-Pipelines. Sie ermöglichen es den Pipelines, mit Plattformen wie AWS zu interagieren und die notwendigen Berechtigungen zu erhalten. Geheimnisse sind aufgrund ihrer Macht ein beliebtes Ziel für Angreifer, da sie direkten Zugang zu Umgebungen bieten.

Bitbucket Secured Variables bieten eine praktische Möglichkeit, Geheimnisse lokal zu speichern. Allerdings können diese Variablen durch Artefaktobjekte im Klartext offengelegt werden. Wenn eine Bitbucket-Variable - gesichert oder ungesichert - in ein Artefaktobjekt kopiert wird, entsteht eine .txt-Datei, die den Wert dieser Variable im Klartext anzeigt. Es wurden Fälle beobachtet, in denen Entwicklungsteams Bitbucket-Artefakte in Quellcode-Webanwendungen zur Fehlerbehebung verwendet haben. Unwissentlich enthielten diese Artefakte Klartextwerte von geheimen Schlüsseln, die dann öffentlich im Internet zugänglich waren und von Angreifern ausgenutzt wurden.

Reproduktion des Lecks

  1. Einrichten von Secured Variables in Bitbucket: Dies kann auf Repository- oder Workspace-Ebene erfolgen.
  2. Aktualisieren der bitbucket-pipelines.yml-Datei: Ein häufig verwendeter Befehl ist printenv, der alle Umgebungsvariablen in eine .txt-Datei kopiert. Diese Datei wird dann in ein Bitbucket-Artefaktobjekt übergeben.
  3. Herunterladen des Artefakts: Nach der Pipeline-Ausführung kann das Artefakt heruntergeladen und nach gesicherten Variablen durchsucht werden.

Empfehlungen

  • Verwenden Sie einen dedizierten Geheimnis-Manager und referenzieren Sie diese Variablen im Code.
  • Überprüfen Sie sorgfältig Bitbucket-Artefaktobjekte, um sicherzustellen, dass keine Geheimnisse im Klartext gespeichert werden.
  • Setzen Sie Code-Scans während des gesamten Lebenszyklus der Pipeline ein, um Geheimnisse im Code zu identifizieren, bevor sie in die Produktion gelangen.

Dieser Bericht zeigt, wie einfache Aktionen zu ernsthaften Sicherheitsproblemen führen können. Es reicht oft ein einziger Fehler, um Geheimnisse durch die Pipeline nach außen zu leiten und sie so für Angreifer zugänglich zu machen.

Related Posts

WordPress-Plugin "All in One SEO" anfällig für Cross Site Scripting Angriffe

Eine schwerwiegende Sicherheitslücke wurde im weit verbreiteten WordPress-Plugin “All in One SEO” entdeckt, das mehr als 3 Millionen Installationen zählt. Diese Schwachstelle, gekennzeichnet als CVE-2024-3368, ermöglicht Angreifern die Ausführung von schädlichem Code durch gespeicherte Cross-Site Scripting (XSS)-Angriffe. Dies könnte zur Erstellung von Administrator-Accounts durch Beitragsautoren führen, betroffen sind alle All in One SEO Versionen älter als 4.6.1.1.

Read More

Schwachstellen in OpenMetadata ermöglichen Angriffe auf Kubernetes-Cluster

Microsoft Threat Intelligence hat einen neuen Angriff entdeckt, bei dem kritische Schwachstellen in OpenMetadata ausgenutzt werden, um Kubernetes-Workloads zu kompromittieren und für Krypto-Mining-Aktivitäten zu nutzen. OpenMetadata ist eine Open-Source-Plattform zur Verwaltung von Metadaten über verschiedene Datenquellen hinweg.

Read More

Remote Code Execution im Honeywell ControlEdge VirtualUOC möglich

Team82 hat im Honeywell ControlEdge Virtual Unit Operations Center (UOC) mehrere Schwachstellen im EpicMo-Protokoll entdeckt. Diese können zu nicht authentifizierter Remote Code Execution führen. Der EpicMo-Protokoll (TCP-Port 55565) von Honeywell, der zur Kommunikation zwischen Experion-Servern und Controllern dient, enthält eine gefährliche Funktion, die das Schreiben von Dateien auf Virtual UOC-Controllern ohne Bereinigung ermöglicht. Dies kann die Ausführung von unbefugtem Code zur Folge haben.

Read More