Missbrauch von Dev-Container

Wie Angreifer GitHub Codespaces nutzen könnten

Hacker könnten eine neue GitHub-Funktion missbrauchen, die eigentlich für Entwickler gedacht ist.
Von 
CSO | 24. Januar 2023 05:21 Uhr
Das neue GitHub-Feature Codespaces ermöglicht es Softwareentwicklern, Anwendungen in Container zu testen und zu teilen. Doch diese Funktion könnte auch von Hackern missbraucht werden.
Das neue GitHub-Feature Codespaces ermöglicht es Softwareentwicklern, Anwendungen in Container zu testen und zu teilen. Doch diese Funktion könnte auch von Hackern missbraucht werden.
Foto: Casimiro PT - shutterstock.com

Das neue GitHub-Feature Codespaces ermöglicht es Softwareentwicklern, Anwendungen in Container zu erstellen und zu testen. Dabei wird eine Vorschau über öffentliche GitHub-URLs für andere zugänglich gemacht. Diese Funktion kann aber auch von Cyberkriminellen ausgenutzt werden, um heimlich Malware zu verteilen.

"Wird der Anwendungs-Port privat geteilt wird, werden Browser-Cookies verwendet und für die Authentifizierung benötigt", erklären Forscher des IT-Sicherheitsunternehmens Trend Micro in einem neuen Bericht. "Werden die Ports jedoch für die Öffentlichkeit freigegeben (ohne Authentifizierung oder Authentifizierungskontext), können Angreifer diese Funktion missbrauchen, um bösartige Inhalte wie Skripte und Malware-Samples zu hosten."

Lesetipp: Schwachstelle in GitHub Actions gefährdet Software-Supply-Chain

GitHub Codespaces und Portweiterleitung

Codespaces ist eine cloudbasierte integrierte Entwicklungsumgebung (IDE), mit der Code direkt in einer webbasierten Oberfläche geschrieben und ausgeführt werden kann. Entwickler ersparen sich damit die Verwendung einer lokal gehosteten Umgebung, deren Konfiguration viel Zeit in Anspruch nehmen kann. Stattdessen können sie Dev-Container verwenden, die mit allen Tools, Bibliotheken und Programmierlaufzeiten vorkonfiguriert sind, die sie für die Ausführung ihres Codes benötigen. Anschließend können sie diesen Container in der GitHub-Cloud ausführen und über die GitHub-CLI steuern.

Dev-Container werden automatisch ausgeführt, wenn sie in das Repository eines Benutzers mit einer zugehörigen Konfigurationsdatei hochgeladen werden. Dies bietet eine Menge an Flexibilität und Automatisierungsmöglichkeiten im Vergleich zu traditionellen Setups. GitHub bietet die Anwendung 60 Stunden pro Monat kostenlos auf einer Two-Core-VM an.

Jede Codespaces-Umgebung hat ihre eigene VM und verfügt über ein isoliertes virtuelles Netzwerk. Entwickler können jedoch eine Funktion namens Port-Weiterleitung nutzen, um Vorschaulinks zu ihren Anwendungen mit anderen Mitgliedern ihrer Organisation oder öffentlich zu teilen.

Wenn der Benutzer beispielsweise eine interne Anwendung an Port 8080 weiterleitet, generiert der Dienst eine eindeutige URL in der Form <GitHub_Username>-<Codespace_name>-<random_identifier>-<exposed_port>.preview.app.github.dev. Im Wesentlichen stellt dies eine eindeutige Subdomain auf der Domain preview.app.github.dev. da.

Missbrauch von GitHub Codespaces

Auch wenn die Container-Images vorkonfiguriert sind, können Benutzer über die GitHub-CLI Befehle in ihnen ausführen. In einer Demonstration verwendeten die Trend-Micro-Forscher ein von Microsoft verwaltetes Dev-Container-Image. Damit schrieben sie eine Konfiguration, die einen einfachen HTTP-Server mit der standardmäßig enthaltenen Python-Laufzeitumgebung öffnete und Port 8000 öffentlich weiterleitete.

Außerdem nutzten sie die GitHub-CLI, um sich bei dem Container zu authentifizieren und zwei einfache Befehle auszuführen. Dadurch gelang es den Forscher, ein Archiv mit Malware von einer externen URL zu laden und es dann lokal im Verzeichnis zu entpacken, das vom Python-basierten Webserver bedient wurde. Auf diese Weise wurde ein offenes Verzeichnis mit Malware-Dateien erstellt, die über eine URL preview.app.github.dev zugänglich waren.

Die Analysten automatisierten den gesamten Prozess über ein Skript und stellten es so ein, dass es den Codespace nach 100 Sekunden oder nach dem Zugriff auf die URL löscht. Dies ermöglicht es Malware-Droppern, im Handumdrehen auf einem lokalen Rechner, temporäre Codespaces einzurichten und zusätzliche Nutzerdaten von dort herunterzuladen. Das Herunterladen von Dateien von einer GitHub-eigenen Domain, die einen guten Ruf genießt und mit einem Dienst verbunden ist, der in der Umgebung des Opfers genutzt werden könnte, wird vermutlich nicht von Netzwerksicherheits-Gateways blockiert oder gekennzeichnet.

"Mithilfe solcher Skripte können Angreifer GitHub Codespaces leicht missbrauchen, um bösartige Inhalte schnell zu verbreiten, indem sie Ports in ihren Codespace-Umgebungen öffentlich zugänglich machen", so die Forscher. "Da jeder erstellte Codespace eine eindeutige Kennung hat, ist auch die zugehörige Subdomain eindeutig. Dies gibt dem Angreifer genügend Möglichkeiten, verschiedene Instanzen von offenen Verzeichnissen zu erstellen. Darüber hinaus können Codespaces maximal 30 Tage lang aufbewahrt werden, was bedeutet, dass Angreifer innerhalb dieses Zeitraums dieselbe URL für ihre Operationen verwenden können."

Der Missbrauch von legitimen Cloud-Service-Anbietern zum Hosten von Malware ist nicht neu. Allerdings scheint die Kostenbarriere für den Missbrauch bei GitHub Codespaces niedriger zu sein als bei anderen Cloud-Service-Anbietern wie Amazon Web Services, Microsoft Azure oder der Google Cloud Platform, bei denen in der Regel eine Registrierung mit einer gültigen Kreditkarte erforderlich ist, selbst bei kostenlosen Testversionen.

Angreifer haben die Cloud-Computing-Ressourcen von GitHub schon früher missbraucht. Einem aktuellen Bericht von Palo Alto Networks zufolge erstellte eine Gruppe namens Automated Libra seit Oktober 2022 über 130.000 Konten auf GitHub, Heroku und Togglebox erstellt, um deren kostenlose Dienste und Testversionen für Kryptomining zu nutzen. Insbesondere bei GitHub hat die Gruppe den Prozess der Kontoerstellung vollständig automatisiert, einschließlich eines CAPTCHA-Lösungsskripts.

"Cloud-Dienste bieten sowohl für legitime Nutzer als auch für Angreifer Vorteile", so die Trend-Micro-Experten. "Sie helfen Angreifern, ihre Angriffe schnell und einfach zu skalieren, ihre Spuren zu verwischen und eine Entdeckung zu vermeiden, indem sie legitime Dienste wie GitHub Codespaces missbrauchen." (jm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.

Tipp: Sie möchten regelmäßig über wichtige Themen rund um IT-Sicherheit informiert werden? Abonnieren Sie doch einfach unseren kostenlosen Newsletter.

Lucian Constantin arbeitet als Korrespondent für den IDG News Service.