Zum Inhalt springen
Nehmen Sie am 10. September 2024 an Censys teil und besuchen Sie unseren Bedrohungsabwehr Workshop in San Francisco, CA | Jetzt anmelden
Blogs

GoCD Unauthenticated Takeover

Einführung

Am 27. Oktober stellte ein Ingenieur bei SonarSource fest, dass eine 2018 vorgenommene Änderung am Code des GoCD Continuous Integration-Systems die Authentifizierungslogik für eingehende Anfragen an das Addon-Verzeichnis des Dienstes vollständig entfernt hat. Es scheint auch, dass mehrere Addons, die standardmäßig installiert und aktiviert sind, einige eigene Fehler hatten. In Kombination mit der entfernten Authentifizierungslogik könnte dies einem Angreifer die Möglichkeit geben, mit wenig oder gar keinem Aufwand eine Remotecodeausführung (RCE) durchzuführen.

Was ist das Problem?

Censys fand heraus, dass 458 Hosts mit dieser einfachen Censys -Suche 592 GoCD-Dienste im Internet betreiben. Nachstehend finden Sie eine Aufschlüsselung der GoCD-Versionen, die Censys im öffentlichen Internet finden konnte. Anfällige Versionen sind rot markiert.

Diese Art von Systemen wird in der Softwareentwicklung zur Überwachung und automatischen Erstellung und Prüfung von Software eingesetzt. Diese Build-Systeme kompilieren, testen, führen aus und stellen in einigen Fällen Software für die Produktion bereit. Aus diesem Grund hat die Serversoftware, auf der diese Pipelines laufen, auch vollen Zugriff auf den Code und die Entwicklungsumgebungen eines Unternehmens, wo ein bösartiger Akteur bösartigen Code in den Build-Zyklus einschleusen könnte. Diese Angriffsmethode wird häufig als "Supply-Chain-Attacke" bezeichnet, bei der Angreifer automatisierte Systeme angreifen, die für den Betrieb eines Unternehmens von entscheidender Bedeutung sind; es gibt nichts Gefährlicheres als ein schwaches Glied in dieser Kette, das Zugriff auf die Quellcode-Ebene hat (und in der Lage ist, einen Build zu manipulieren).

Warum ist das wichtig?

Viele wichtige Komponenten eines Unternehmens hängen von den Build-Prozessen der Softwareentwicklungsteams ab. Schwachstellen in solchen Bereichen können zu einem Dominoeffekt kompromittierter Geräte und Dienste führen, bei dem jede Komponente, die auf einem CI-System aufgebaut ist, potenziell mit bösartigem Code infiziert werden kann.

Da der von SonarSource beschriebene Angriff außerordentlich trivial auszuführen ist, sollten Administratoren Installationen dieses Dienstes sofort aktualisieren. Derzeit sind drei Angriffspunkte bekannt, die alle von einem Addon namens "Business Continuity" ausgehen:

Pfad Beschreibung
/add-on/business-continuity/api/plugin Hat ein vom Benutzer kontrollierbares Argument namens "pluginName", das die Eingabe nicht korrekt bereinigt, so dass ein Angreifer jede Datei auf dem System lesen kann. (Screenshot des Angriffs oben).
/add-on/business-continuity/api/cruise_config Ermöglicht es einem Angreifer, die gesamte Konfigurationsdatei für den GoCD-Dienst abzurufen, einschließlich aller zugehörigen Umgebungsvariablen, die während des Starts verwendet werden. Eines der gefährlichsten Konfigurationselemente, die ein Angreifer in dieser Datei finden kann, ist der `agentAutoRegisterKey`, der verwendet wird, um neue GoCD-Build-Agents ohne jegliche Authentifizierung zu erstellen (und damit möglicherweise bösartige Elemente in den endgültigen Build einzuschleusen).
/add-on/business-continuity/api/cipher.aes Ermöglicht es dem Angreifer, den privaten Verschlüsselungsschlüssel herunterzuladen, der zur Verschlüsselung sensibler Daten auf dem Host verwendet wird (z. B. Zugangstoken und Kennwörter, die vom cruise_config-Endpunkt zurückgegeben werden)

Was kann ich dagegen tun?

Über den Autor

Mark Ellzey
Senior Security Researcher Alle Beiträge von Mark Ellzey
Mark Ellzey ist ein leitender Sicherheitsforscher bei Censys. Vor seiner jetzigen Tätigkeit war Mark Ellzey über 22 Jahre lang als Netzwerksicherheitsingenieur und Softwareentwickler für verschiedene Internetdienstleister und Finanzinstitute tätig.
Lösungen für das Management von Angriffsflächen
Mehr erfahren