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
cpanel2shell-scanner — Scanner de alta fidelidade para CVE-2026-41940 (bypass de autenticação do cPanel & WHM) | Kitploit
Ferramentas/GitHubGitHub/assetnote/cpanel2shell-scanner
Scanners de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAutenticaçãoDesenvolvimento de Payloads
GitHubassetnote/cpanel2shell-scanner

cpanel2shell-scanner

Scanner de alta fidelidade para CVE-2026-41940 (bypass de autenticação do cPanel & WHM)

Ver Repositório
922416há 5 mesesRevisado pelo Kitploit

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

cpanel2shell-scanner

Um scanner de alta fidelidade para a bypass de autenticação do cPanel/WHM identificada como CVE-2026-41940. Ele identifica hosts vulneráveis sem produzir os falsos negativos comuns em provas de conceito e detecções públicas, e sem acionar os mecanismos de bloqueio de conta e de lista de permissão de IP raiz que interferem em varreduras ingênuas.

A ferramenta também inclui uma cadeia de exploração separada e opt-in para um bug de path traversal CalDAV da mesma família no cpdavd (portas 2079 sem TLS / 2080 TLS) — CVE-2026-29205 — que permite a um atacante remoto ler arquivos arbitrários como root desde que uma pequena etapa de preparação via SMTP seja bem-sucedida. O cPanel 11.134.0.26 corrige o bug subjacente de ciclo de vida do RAII, então a leitura agora é executada como o proprietário da conta sem privilégios; o path traversal em si ainda alcança o cpdavd, mas não pode escalar além do que essa conta já consegue ler. A cadeia CalDAV é controlada por --exploit e fica desativada por padrão, pois envia e-mails reais e lê arquivos de alvos confirmados — consulte a seção Modo de exploração (ativo).

Por que este scanner

A maioria das detecções públicas para CVE-2026-41940 compartilha três problemas. Este scanner resolve cada um deles.

Você pode ler nossa publicação no blog sobre esta técnica de detecção aqui: https://slcyber.io/research-center/high-fidelity-check-for-the-cpanel-authentication-bypass-cve-2026-41940/

Ele verifica os caminhos de proxy, não apenas as portas de gerenciamento

A configuração do Apache por vhost do cPanel instala um ProxyPass que encaminha /___proxy_subdomain_whm para 127.0.0.1:2086 e /___proxy_subdomain_cpanel para 127.0.0.1:2080 independentemente do cabeçalho Host da requisição. O RewriteCond apenas restringe o rewrite que mapeia o subdomínio de gerenciamento para o caminho de proxy; o ProxyPass em si é incondicional. Acessar esses caminhos em qualquer vhost servido por um Apache gerenciado pelo cPanel alcança o mesmo backend vulnerável das portas de gerenciamento.

Scanners que sondam apenas as portas 2082/2083/2086/2087 relatam um host como não vulnerável quando essas portas estão protegidas por firewall, mesmo que a falha seja totalmente acessível pela 443. Este scanner sonda 2087, 2083 e os dois caminhos de proxy na 443 por padrão.

Ele não é bloqueado pelo cphulkd nem pela lista de permissão de IP raiz

O cPanel inclui o cphulkd, que bloqueia contas após um pequeno número de tentativas de senha com falha, e o authorized_whm_root_ips, que restringe logins root a uma lista configurada de endereços de origem. Um scanner que explora a bypass tentando injetar uma sessão para root:

  • será silenciosamente ignorado quando o IP do scanner não estiver na lista de permissão root, produzindo um falso negativo; e
  • contribuirá com eventos de senha com falha para qualquer conta que ele tiver como alvo, eventualmente bloqueando essa conta e impedindo tanto a detecção quanto logins legítimos.

Este scanner evita ambos os problemas no lado WHM ao injetar expired=1 na carga útil da sessão sob um nome de usuário gerado aleatoriamente. A injeção de sessão é verificada visitando a URL cpsessXXXX resultante e encontrando msg_code:[expired_session] no corpo da resposta, que só está presente quando a injeção é bem-sucedida. Nenhuma conta real é alvo, portanto nenhuma conta real pode ser bloqueada, e a lista de permissão root é irrelevante porque nenhum login root é tentado.

Ele usa uma wordlist de nomes de usuário quando necessário

O daemon do cPanel (cpaneld, portas 2083 e o caminho /___proxy_subdomain_cpanel) exige que o nome de usuário fornecido corresponda a uma conta cPanel existente no disco (-f /var/cpanel/users/$user). Um nome de usuário root nunca satisfará essa verificação porque root é um usuário de sistema, não um usuário do cPanel. Detecções que tentam apenas root produzem falsos negativos nessa superfície. Este scanner usa uma wordlist configurável de nomes de usuário comuns do cPanel contra a superfície do cPanel e recorre ao caminho de nome de usuário aleatório na superfície WHM, que não tem essa restrição.

Como funciona a detecção

Para cada alvo, o scanner executa as seguintes etapas por superfície:

  1. Emite GET /login e lê o cabeçalho Set-Cookie tanto para whostmgrsession (WHM) quanto para cpsession (cPanel). O cookie contém um componente de nome de sessão separado por vírgulas.
  2. Emite GET / com um cabeçalho Authorization: Basic cujo valor decodificado é <user>:\xff\nexpired=1. O \nexpired=1 final é a carga útil da injeção de sessão. O cookie de sessão da etapa 1 é reproduzido sem modificação.
  3. Lê o cabeçalho Location da resposta e extrai o token cpsessXXXX.
  4. Emite GET /<cpsessXXXX>/ com o cookie original e procura por msg_code:[expired_session] no corpo. Sua presença prova que a injeção de sessão foi bem-sucedida e que o host é vulnerável.

No WHM (porta 2087 e o caminho /___proxy_subdomain_whm na 443), o nome de usuário é um u aleatório seguido de dez caracteres hexadecimais. No cPanel (porta 2083 e o caminho /___proxy_subdomain_cpanel na 443), o scanner percorre sua wordlist de nomes de usuário e para na primeira correspondência.

Por padrão, o scanner sonda 2087, 2083 e 443 nessa ordem e para assim que qualquer superfície confirma vulnerabilidade.

Exploração de path traversal CalDAV (--exploit)

CVE-2026-29205 — Atualização de Segurança cPanel/WHM WP2, 13 de maio de 2026. Corrigido no cPanel 11.134.0.26. O aviso acompanha a mesma regressão de redução de privilégio do cpdavd que esta cadeia de exploração abusa.

Descrição completa da falha e da cadeia de exploração: https://slcyber.io/research-center/new-age-of-collisions-reading-arbitrary-files-pre-auth-as-root-in-cpanel-cve-2026-29205

O cpdavd nas portas 2079 (HTTP puro) e 2080 (TLS) confia no caminho <principal>/<collection>/... que ele constrói ao servir recursos CalDAV/CardDAV. Ao criar uma requisição cujo componente de caminho codifica segmentos .. e apontá-la para uma pasta maildir cujo nome em disco também codifica a travessia (x-attachment-1-y), o cpdavd pode ser coagido a ler qualquer arquivo no disco como root, independentemente de propriedade ou permissões — incluindo /etc/shadow, /etc/passwd e os spools de e-mail por usuário.

A defesa em profundidade que deveria reduzir os privilégios para o proprietário da conta antes da leitura falhou silenciosamente: o objeto Cpanel::AccessIds::ReducedPrivileges foi construído em contexto void, então seu destrutor restaurou os privilégios de root antes que a leitura fosse executada. O cPanel 11.134.0.26 vincula o objeto a uma variável lexical my $privs, para que ele viva por toda a cadeia -f / stat / open / read; em hosts corrigidos, a leitura é executada como o proprietário da conta sem privilégios em vez de root.

A pasta vulnerável precisa existir em disco antes que a leitura funcione. O cPanel cria automaticamente uma pasta chamada .x-attachment-1-y para o destinatário <user>+x-attachment-1-y@<domain> na primeira vez que um e-mail chega nesse sub-endereço. A cadeia é, portanto:

Baixar ferramenta