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-2026-35616-check — Scanner não destrutivo para CVE-2026-35616, um bypass de API de pré-autenticação no FortiClient EMS. Detecta a vulnerabilidade comparando respostas HTTP com e sem cabeçalhos SSL falsificados, usando apenas a biblioteca padrão Python. | Kitploit
Ferramentas/GitHubGitHub/bishopfox/cve-2026-35616-check
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de Segurança de APIsTestes de PenetraçãoAutenticação
GitHubbishopfox/cve-2026-35616-check

CVE-2026-35616-check

Scanner não destrutivo para CVE-2026-35616, um bypass de API de pré-autenticação no FortiClient EMS. Detecta a vulnerabilidade comparando respostas HTTP com e sem cabeçalhos SSL falsificados, usando apenas a biblioteca padrão Python.

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

Ferramenta de Avaliação de Vulnerabilidade CVE-2026-35616

Detecte com segurança se um servidor FortiClient EMS é vulnerável à CVE-2026-35616 sem causar qualquer interrupção. Consulte o artigo completo no blog da Bishop Fox.

Descrição

A CVE-2026-35616 é uma bypass de API de pré-autenticação no FortiClient EMS 7.4.5 e 7.4.6 que permite que atacantes remotos não autenticados contornem a autenticação baseada em certificado por meio de falsificação de cabeçalhos HTTP. O aplicativo Django confia em cabeçalhos HTTP controláveis pelo usuário (X-SSL-CLIENT-VERIFY, X-SSL-CLIENT-CERT) como equivalentes às variáveis de ambiente WSGI do Apache mod_ssl, e a configuração do Apache nunca os remove. Combinado com uma validação de cadeia de certificados que realiza apenas a correspondência de strings de Distinguished Name (sem verificação de assinatura criptográfica), um atacante pode forjar certificados e obter acesso autenticado à API. A Fortinet confirmou exploração ativa no ambiente real.

Esta ferramenta realiza testes de vulnerabilidade não destrutivos por meio de:

  1. Envio de um POST de linha de base para /api/v1/fabric_device_auth/fortigate/init sem cabeçalhos falsificados
  • Envio do mesmo POST com X-SSL-CLIENT-VERIFY: SUCCESS, mas sem dados de certificado
  • Comparação das duas respostas para determinar se o cabeçalho chegou ao Django
  • O envio do cabeçalho de verificação sem dados PEM de certificado dispara o caminho de detecção, mas não consegue autenticar porque nenhuma cadeia de certificados é fornecida. O servidor permanece estável e pode continuar lidando com conexões.

    • Servidores vulneráveis retornarão respostas diferentes: a linha de base retorna HTTP 401 ("Certificate not found in request header"), enquanto a solicitação falsificada retorna HTTP 500 (erro de servidor), porque contains_certificate() passa pelo teste, mas validate_cert_chain() falha na ausência de dados PEM.
    • Servidores corrigidos retornarão respostas HTTP 401 idênticas para ambas as solicitações, porque o hotfix adiciona diretivas RequestHeader unset no Apache que removem o cabeçalho falsificado antes que ele chegue ao Django.
    • Servidores que não são EMS não conseguirão acessar o endpoint; nesse caso, a ferramenta reporta um resultado INCONCLUSIVE.

    Instalação

    root@kitploit:~
    git clone https://github.com/BishopFox/CVE-2026-35616-check
    cd CVE-2026-35616-check
    

    Sem dependências externas. O scanner usa apenas módulos da biblioteca padrão do Python.

    Uso

    Teste um servidor FortiClient EMS em <TARGET>:<PORT>. A porta padrão é 443/TCP.

    root@kitploit:~
    python3 CVE-2026-35616-check.py <TARGET> [PORT]
    

    Exemplo: Servidor Vulnerável

    root@kitploit:~
    $ python3 CVE-2026-35616-check.py 192.168.1.1
    ======================================================================
    FortiClient EMS CVE-2026-35616 Vulnerability Scanner
    Non-Destructive Detection
    ======================================================================
    
    [*] Target: 192.168.1.1:443
    [*] Testing for CVE-2026-35616 (non-destructive)
    
    [1] Sending baseline POST (no spoof headers)... HTTP 401
    [2] Sending POST with X-SSL-CLIENT-VERIFY: SUCCESS... HTTP 500
    
    [*] Analyzing responses...
    [+] Baseline: 401 — Certificate not found in request header.
    [+] Spoofed:  500 — Server encountered an error, please try again later.
    [!] Spoofed header changed server behavior
    [!] X-SSL-CLIENT-VERIFY is reaching Django (hotfix not applied)
    
    ======================================================================
    RESULT: VULNERABLE to CVE-2026-35616
    Affected versions: FortiClient EMS 7.4.5 - 7.4.6
    Recommendation: Apply Fortinet hotfix or upgrade to 7.4.7+
    ======================================================================
    

    Exemplo: Servidor Corrigido

    root@kitploit:~
    $ python3 CVE-2026-35616-check.py 192.168.1.1
    ======================================================================
    FortiClient EMS CVE-2026-35616 Vulnerability Scanner
    Non-Destructive Detection
    ======================================================================
    
    [*] Target: 192.168.1.1:443
    [*] Testing for CVE-2026-35616 (non-destructive)
    
    [1] Sending baseline POST (no spoof headers)... HTTP 401
    [2] Sending POST with X-SSL-CLIENT-VERIFY: SUCCESS... HTTP 401
    
    [*] Analyzing responses...
    [+] Baseline: 401 — Certificate not found in request header.
    [+] Spoofed:  401 — Certificate not found in request header.
    [-] Responses identical (header stripped by Apache)
    
    ======================================================================
    RESULT: NOT VULNERABLE (hotfix applied)
    Apache is stripping X-SSL-CLIENT-VERIFY before it reaches Django
    ======================================================================
    

    Pré-condições

    A ferramenta só consegue detectar a vulnerabilidade se as seguintes condições forem atendidas:

    • O alvo está executando FortiClient EMS 7.4.5 ou 7.4.6
    • A interface web do EMS está acessível
    • O endpoint /api/v1/fabric_device_auth/fortigate/init existe e usa autenticação cert_chain_approved

    Se qualquer condição não for atendida, a ferramenta reportará um resultado INCONCLUSIVE.

    Licença

    Este código é distribuído sob uma licença MIT.

    Aviso Legal

    O uso desta ferramenta para atacar alvos sem consentimento mútuo prévio é ilegal. É responsabilidade do usuário final obedecer a todas as leis locais, estaduais e federais aplicáveis. Os desenvolvedores não assumem qualquer responsabilidade e não são responsáveis por qualquer uso indevido ou dano causado por este programa.

    Consulte Também

    • Advisory da Fortinet FG-IR-26-099
    • Blog da Bishop Fox: Análise Técnica Completa
    • NVD — CVE-2026-35616
    Baixar ferramenta