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
gitlab-cve-2020-10977 — GitLab Arbitrary File Read Exploit | Kitploit
Ferramentas/GitHubGitHub/vandycknick/gitlab-cve-2020-10977
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubvandycknick/gitlab-cve-2020-10977

gitlab-cve-2020-10977

GitLab Arbitrary File Read Exploit

Ver Repositório
22há 5 anosAinda não revisado

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

GitLab CVE2020-10977

Introdução

Este script fornece execução remota de código contra GitLab Community Edition (CE) e Enterprise Edition (EE). O CVE é uma leitura arbitrária de arquivos que permite extrair o secret_key_base do Rails baixando o arquivo secrets.yaml do GitLab. Isso, por sua vez, permite obter execução de código assinando seu próprio cookie experimentation_subject_id que o GitLab usa internamente para testes A/B. O payload embutido no cookie contém uma vulnerabilidade de desserialização que permite executar código na instância do GitLab.

A leitura arbitrária de arquivos existe no GitLab EE/CE 8.5 e posteriores. Isso foi corrigido nas versões 12.9.1, 12.8.8 e 12.7.8. No entanto, o RCE afeta apenas a versão 12.4.0 e superiores, quando o cookie vulnerável experimentation_subject_id foi introduzido.

Testado na versão 12.8.1

Uso

O módulo foi testado com Python 3.9 e requer as seguintes dependências:

  • requests
  • beautifulsoup4

Se você tiver o pipenv instalado, pode começar rapidamente executando pipenv install e pipenv shell para obter um shell no ambiente virtual do pipenv.

root@kitploit:~
 $ ./cve_2020_10977.py --help

usage: cve_2020_10977.py [-h] --url URL -u USERNAME -p PASSWORD [--cmd CMD]

optional arguments:
  -h, --help            show this help message and exit
  --url URL             Target URL
  -u USERNAME, --username USERNAME
                        Gitlab username
  -p PASSWORD, --password PASSWORD
                        Gitlab password
  --cmd CMD             Command to execute

Desenvolvimento

Um Makefile está incluído para facilitar o desenvolvimento local ou testar o exploit. Ele depende de docker e docker-compose para iniciar rapidamente uma versão local do GitLab vulnerável a este CVE.

root@kitploit:~
make up

Vai iniciar uma instância local do GitLab e uma instância Debian para facilitar o teste de um reverse shell. A instância do GitLab estará disponível em seu localhost na porta 5580. Ter esta imagem extra fornece um IP que é acessível de dentro da rede Docker. É possível tornar seu localhost acessível a partir do contêiner Docker, mas não vale o esforço na minha opinião, e definitivamente não quero promover o uso de --privileged

Conectar-se à instância Debian RHOST pode ser facilmente feito com:

root@kitploit:~
make shell

Isso permite que você prepare seu reverse shell com nc -lnvp 9000.

Quando isso estiver pronto, você está pronto para testar o exploit. Você pode executar:

root@kitploit:~
make exploit

Para executar o exploit, isso não fará o RCE, mas em vez disso imprimirá o segredo do Rails do GitLab.

root@kitploit:~
make exploit-rce

Isto encadeará este CVE com o payload RCE mencionado acima para obter um reverse shell.

Feliz hacking!

Referências

  • https://hackerone.com/reports/827052
  • https://nvd.nist.gov/vuln/detail/CVE-2020-10977
  • https://www.exploit-db.com/exploits/48431
Baixar ferramenta