
Пассивный сканер уязвимостей для CVE-2026-1731 — BeyondTrust RS/PRA pre-auth RCE (CVSS 9.9). Только для образовательного и защитного использования.
╔═══════════════════════════════════════════════════════════════╗
║ ║
║ CVE-2026-1731 ║
║ BeyondTrust RS/PRA Passive Vulnerability Scanner ║
║ ║
╠═══════════════════════════════════════════════════════════════╣
║ PASSIVE SCANNER — EDUCATIONAL & AUTHORIZED USE ONLY ║
║ ║
║ Performs passive fingerprinting via standard HTTP GET. ║
║ No exploit payloads sent. No WebSocket connections. ║
║ Only use against systems you own or are authorized to test. ║
║ ║
║ Methods: BRDF version extraction, /check_health, ║
║ static asset sizing, /get_mech_list API, ║
║ HTML analysis, copyright year, /nw probe ║
║ ║
║ Author: NetGuard 24/7 LLC ║
║ Web: https://netguard24-7.com ║
╚═══════════════════════════════════════════════════════════════╝
Пассивный сканер уязвимостей для CVE-2026-1731 — критической (CVSS 9.9) уязвимости удалённого выполнения кода без аутентификации в BeyondTrust Remote Support (RS) и Privileged Remote Access (PRA).
Этот инструмент выявляет уязвимые экземпляры BeyondTrust, используя только стандартные HTTP GET-запросы. Эксплуатационные полезные нагрузки не отправляются. WebSocket-соединения не устанавливаются. Аутентификация не выполняется.
Обновление: 16.02.2026
Применение горячего исправления BT26-02-RS или BT26-02-PRA приведёт к тому, что обнаруженные экземпляры BeyondTrust ниже RS (v21.3 — 25.3.1) или PRA (v22.1 — 24.X) будут отображаться как уязвимые, поскольку горячее исправление не приводит к увеличению версии. Таким образом, экземпляры, исправленные горячим патчем (BT26-02-RS или BT26-02-PRA), будут отображаться как уязвимые. После обновления базовой версии экземпляр будет отображаться как неуязвимый». По данным вендора, официальное исправление включено в Remote Support 25.3.2 и выше | Privileged Remote Access 25.1 и выше
Автор: NetGuard 24/7 LLC
Этот инструмент предоставляется ТОЛЬКО в ОБРАЗОВАТЕЛЬНЫХ и АВТОРИЗОВАННЫХ ОБОРОНИТЕЛЬНЫХ целях.
Вы можете использовать этот инструмент ТОЛЬКО против систем, которыми владеете или на тестирование которых имеете явное письменное разрешение. Несанкционированное сканирование систем, которыми вы не владеете, может нарушать применимое законодательство, включая Закон о компьютерном мошенничестве и злоупотреблениях (CFAA) и аналогичные законы в других юрисдикциях.
Авторы не несут ответственности за неправомерное использование этого инструмента. Используя данное программное обеспечение, вы соглашаетесь использовать его ответственно и в соответствии со всеми применимыми законами и нормативными актами.
| Поле | Детали |
|---|---|
| CVE | CVE-2026-1731 |
| CVSS | 9.9 (критическая) |
| Консультация | BT26-02 |
| Тип | Удалённое выполнение кода без аутентификации |
| Вектор | WebSocket-конечная точка /nw — инъекция арифметического вычисления Bash |
| Затронуты | RS ≤ 25.3.1, PRA ≤ 24.3.4 |
| Исправлено | RS 25.3.2+, PRA 25.1.1+ |
| Эксплуатация | Активна в дикой природе с 12 февраля 2026 г. |
CVE-2026-1731 — вариант CVE-2024-12356 (уязвимость, использованная китайским APT для взлома Казначейства США). Обе нацелены на одну и ту же WebSocket-конечную точку /nw и лежащий в основе Bash-скрипт thin-scc-wrapper. Патч BT24-10 для CVE-2024-12356 добавил числовую проверку корректности, но не предотвратил арифметическое вычисление Bash параметра remoteVersion — что и эксплуатирует CVE-2026-1731.
Этот сканер использует 8 методов пассивного снятия отпечатков — проверенных на реальных экземплярах BeyondTrust — для определения версии продукта и статуса уязвимости без отправки какого-либо эксплуатационного трафика.
| № | Метод | Конечная точка | Что извлекается | Уверенность |
|---|---|---|---|---|
| 1 | Извлечение версии BRDF | GET /get_rdf?comp=sdcust&locale_code=en-us | Точная версия продукта из бинарного заголовка (например, 24.1.4) | ТОЧНАЯ |
| 2 | Ответ /check_health | GET /check_health | "Health Check: Succeeded" = до 25.x / "Status: Primary" = 25.x+ | ВЫСОКАЯ |
| 3 | Размер статических ресурсов | HEAD /js/login.js | Размер файла: ~36K-39K = до 25.x / ~12K = 25.x+ | ВЫСОКАЯ |
| 4 | API /get_mech_list | GET /get_mech_list?version=3 | Название компании + поле thin_rep_enabled (только 25.x+) | ВЫСОКАЯ |
| 5 | HTML-структура | GET /login | XHTML 1.1 + BOMGAR = до 25.x / HTML5 = 25.x+ | СРЕДНЯЯ |
| 6 | Год авторского права | нижний колонтитул GET /login | 2002-2024 = до 25.x / 2002-2025 = 25.x | СРЕДНЯЯ |
| 7 | Информация портала | GET /get_portal_info | Значение X-Ns-Company (индикатор разведки злоумышленника) | — |
| 8 | WebSocket-проба | GET /nw (только HTTP) | Подтверждает доступность поверхности атаки | — |
Метод 1 (BRDF) — та же техника, что используется в Metasploit и плагине Nessus 213456. Когда BRDF возвращает точную версию, уверенность — ТОЧНАЯ. Некоторые экземпляры 25.x удаляют версию из BRDF — в таких случаях методы 2-6 оцениваются и сопоставляются для вывода диапазона версий.
/nwgit clone https://github.com/YOUR_USERNAME/cve-2026-1731-scanner.git
cd cve-2026-1731-scanner
chmod +x cve_2026_1731_scanner.py
python3 cve_2026_1731_scanner.py -t support.example.com -v
# Создайте список целей (по одному хосту в строке)
cat > targets.txt << 'EOF'
support.example.com
pra.example.com
192.168.1.50
10.0.0.100:8443
remote-support.beyondtrustcloud.com
EOF
# Запустите сканирование
python3 cve_2026_1731_scanner.py -f targets.txt --threads 20 -o results.csv --json results.json -v
usage: cve_2026_1731_scanner.py [-h] (-t TARGET | -f FILE) [-o OUTPUT]
[--json JSON_OUTPUT] [--threads THREADS] [-v]
options:
-t, --target TARGET Один целевой хост или IP-адрес
-f, --file FILE Файл с целями (по одной в строке)
-o, --output OUTPUT Экспорт результатов в CSV-файл
--json JSON_OUTPUT Экспорт результатов в JSON-файл
--threads THREADS Параллельные потоки (по умолчанию: 10)
-v, --verbose Подробный вывод по каждой цели
Файл целей принимает гибкий ввод — одна запись в строке: