Sploitus

Exploit for cve-2026-1731-scanner

kitploit · 2026-08-27

Exploit Code

MARKDOWN299 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-CYBRDUDE-CVE-2026-1731-SCANNER
# CVE-2026-1731 — Пассивный сканер уязвимостей BeyondTrust RS/PRA

root@kitploit:~
    
    
        ╔═══════════════════════════════════════════════════════════════╗
        ║                                                               ║
        ║                      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 оцениваются и сопоставляются для вывода диапазона версий.

### Что этот инструмент НЕ делает

  * ❌ Не отправляет WebSocket-запросы на обновление
  * ❌ Не передаёт сформированные полезные нагрузки на `/nw`
  * ❌ Не предпринимает попыток эксплуатации
  * ❌ Не выполняет аутентификацию или подбор паролей
  * ❌ Не изменяет данные на целевых системах
  * ❌ Не устанавливает постоянные или сохраняющие состояние соединения



* * *

## Быстрый старт

### Требования

  * Python 3.8+
  * Нет внешних зависимостей (только стандартная библиотека)



### Установка

root@kitploit:~
    
    
    git clone https://github.com/YOUR_USERNAME/cve-2026-1731-scanner.git
    cd cve-2026-1731-scanner
    chmod +x cve_2026_1731_scanner.py
    

### Сканирование одной цели

root@kitploit:~
    
    
    python3 cve_2026_1731_scanner.py -t support.example.com -v
    

### Массовое сканирование из файла

root@kitploit:~
    
    
    # Создайте список целей (по одному хосту в строке)
    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
    

### Полное использование

root@kitploit:~
    
    
    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           Подробный вывод по каждой цели
    

### Формат входных данных

Файл целей принимает гибкий ввод — одна запись в строке:

root@kitploit:~
    
    
    # Комментарии поддерживаются (строки, начинающиеся с #)
    192.168.1.1
    10.0.0.5
    support.example.com
    support.example.com:8443
    https://support.example.com
    http://support.example.com    # автоматически обновляется до HTTPS
    support.example.com/login     # пути удаляются автоматически
    

* * *

## Понимание вывода

### Уровни риска

Уровень| Значение  
---|---  
**КРИТИЧЕСКИЙ**|  Точная версия подтверждена как уязвимая через BRDF, или несколько сигналов с высокой уверенностью указывают на версию до 25.x  
**ВЫСОКИЙ**|  Вероятно уязвим, но с меньшим количеством подтверждающих сигналов; рекомендуется ручная проверка  
**СРЕДНИЙ**|  Предположительно 25.x+ (RS всё ещё может быть уязвим до 25.3.1); проверьте патч BT26-02  
**НИЗКИЙ/ИНФО**|  SaaS-экземпляр (автоматически исправлен), подтверждённая исправленная версия или подтверждённая безопасность  
  
### Уверенность в версии

Уверенность| Источник| Значение  
---|---|---  
**ТОЧНАЯ**|  BRDF `/get_rdf`| Точная строка версии, извлечённая из бинарного файла (например, `24.1.4`)  
**ВЫСОКАЯ**|  Мультисигнальная (3+)| 3 или более независимых сигнала совпадают без противоречий  
**СРЕДНЯЯ**|  Мультисигнальная (2+)| Большинство сигналов совпадают, но с некоторой неоднозначностью  
**НИЗКАЯ**|  Безрезультатно| Противоречивые или недостаточные сигналы  
  
### Коды выхода (интеграция CI/CD)

Код| Значение  
---|---  
`0`| Критических или высокорисковых результатов не обнаружено  
`1`| Обнаружены результаты с высоким риском  
`2`| Обнаружены критические результаты  
  
root@kitploit:~
    
    
    # Пример: интеграция с конвейером CI/CD
    python3 cve_2026_1731_scanner.py -f targets.txt -o results.csv
    if [ $? -eq 2 ]; then
        echo "КРИТИЧЕСКИ: обнаружены уязвимые экземпляры BeyondTrust!"
        # запустить оповещение / вызвать дежурного / открыть тикет
    fi
    

* * *

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

root@kitploit:~
    
    
      [*] Сканирование https://support.example.com...
          Статус: УЯЗВИМ [КРИТИЧЕСКИЙ]
          Версия: 24.1.4 (через BRDF /get_rdf, уверенность: ТОЧНАЯ)
          Компания: examplecorp
          Продукт: Remote Support
          Сигналы: health=old, login.js=36458B, html=modern, ©2024
          /nw: ДОСТУПНА
    

* * *

## Экспорт в CSV и JSON

### Поля CSV

Поле| Описание  
---|---  
`target`| Сканируемый URL  
`is_beyondtrust`| Обнаружен ли BeyondTrust  
`product_type`| Remote Support или Privileged Remote Access  
`product_version`| Точная версия (если извлечена из BRDF)  
`version_source`| Как была определена версия  
`version_confidence`| ТОЧНАЯ, ВЫСОКАЯ, СРЕДНЯЯ или НИЗКАЯ  
`company_name`| Значение X-Ns-Company (используется при эксплуатации)  
`copyright_year`| Из нижнего колонтитула страницы входа  
`health_check_type`| `old` (до 25.x) или `new` (25.x+)  
`login_js_size`| Размер файла /js/login.js  
`thin_rep_enabled`| Присутствует только в 25.x+  
`html_generation`| `legacy` (XHTML) или `modern` (HTML5)  
`is_saas`| SaaS-экземпляр (.beyondtrustcloud.com)  
`ws_endpoint_reachable`| Отвечает ли /nw  
`vulnerability_status`| Результат оценки  
`risk_level`| КРИТИЧЕСКИЙ, ВЫСОКИЙ, СРЕДНИЙ, НИЗКИЙ или ИНФО  
`details`| Понятные человеку детали оценки  
  
* * *

## Устранение уязвимости

Если сканер выявил уязвимые экземпляры:

  1. **Немедленно примените патч BT26-02** — доступен от BeyondTrust для всех поддерживаемых версий RS/PRA
  2. **Обновитесь до исправленных версий** : RS 25.3.2+ или PRA 25.1.1+
  3. **Если используется RS < 21.3 или PRA < 22.1**: требуется полное обновление продукта перед применением патча
  4. **Сетевые меры контроля** : ограничьте доступ к WebSocket-конечной точке `/nw`, если немедленное исправление невозможно
  5. **Поиск признаков компрометации** : проверьте журналы на WebSocket-соединения с `/nw` с необычными значениями `remoteVersion`, содержащими `$()` или обратные кавычки
  6. **SaaS-экземпляры** : были автоматически исправлены 2 февраля 2026 г. — проверьте в своём портале BeyondTrust



### Ссылки

  * Консультация BT26-02
  * NVD: CVE-2026-1731
  * Анализ Rapid7
  * Модуль Metasploit (CVE-2024-12356)



* * *

## Участие в разработке

Приветствуются pull request'ы. Если вы обнаружите дополнительные методы пассивного снятия отпечатков или сигналы корреляции версий, пожалуйста, откройте issue или PR.

* * *

## Лицензия

Лицензия MIT — см. LICENSE для подробностей.

* * *

## Автор

**NetGuard 24/7 LLC** https://netguard24-7.com