Analyseur de vulnérabilités passif pour CVE-2026-1731 — RCE pré-authentification BeyondTrust RS/PRA (CVSS 9.9). Usage éducatif et défensif uniquement.
╔═══════════════════════════════════════════════════════════════╗
║ ║
║ 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 ║
╚═══════════════════════════════════════════════════════════════╝
Un scanner de vulnérabilités passif pour CVE-2026-1731 — une vulnérabilité critique (CVSS 9.9) d'exécution de code à distance avant authentification dans BeyondTrust Remote Support (RS) et Privileged Remote Access (PRA).
Cet outil identifie les instances BeyondTrust vulnérables en utilisant uniquement des requêtes HTTP GET standard. Aucune charge utile d'exploitation n'est envoyée. Aucune connexion WebSocket n'est établie. Aucune authentification n'est tentée.
Mise à jour : 16/02/2026
L'application du correctif BT26-02-RS ou BT26-02-PRA fera apparaître les instances BeyondTrust détectées ci-dessous RS (v21.3 - 25.3.1) ou PRA (v22.1 - 24.X) comme vulnérables, car le correctif n'entraîne pas d'incrémentation de version. Par conséquent, les instances corrigées avec le correctif (BT26-02-RS ou BT26-02-PRA) apparaîtront comme vulnérables. Une fois la version de base mise à niveau, l'instance apparaîtra comme non vulnérable. Selon le fournisseur, le correctif officiel est traité dans Remote Support 25.3.2 et versions ultérieures | Privileged Remote Access 25.1 et versions ultérieures
Auteur : NetGuard 24/7 LLC
Cet outil est fourni à des fins ÉDUCATIVES et de DÉFENSE AUTORISÉE uniquement.
Vous ne pouvez UNIQUEMENT utiliser cet outil que contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test. L'analyse non autorisée de systèmes que vous ne possédez pas peut violer les lois applicables, notamment le Computer Fraud and Abuse Act (CFAA) et les lois similaires dans d'autres juridictions.
Les auteurs déclinent toute responsabilité en cas d'utilisation abusive de cet outil. En utilisant ce logiciel, vous acceptez de l'utiliser de manière responsable et conformément à toutes les lois et réglementations applicables.
| Champ | Détail |
|---|---|
| CVE | CVE-2026-1731 |
| CVSS | 9.9 (Critique) |
| Avis | BT26-02 |
| Type | Exécution de code à distance avant authentification |
| Vecteur | Point de terminaison WebSocket /nw — Injection d'évaluation arithmétique Bash |
| Affecté | RS ≤ 25.3.1, PRA ≤ 24.3.4 |
| Corrigé | RS 25.3.2+, PRA 25.1.1+ |
| Exploitation | Active dans la nature depuis le 12 février 2026 |
CVE-2026-1731 est une variante de CVE-2024-12356 (la vulnérabilité utilisée par un APT chinois pour compromettre le Trésor américain). Les deux ciblent le même point de terminaison WebSocket /nw et le script Bash sous-jacent thin-scc-wrapper. Le correctif BT24-10 pour CVE-2024-12356 a ajouté une vérification numérique de cohérence, mais n'a pas empêché l'évaluation arithmétique Bash du paramètre remoteVersion — ce que CVE-2026-1731 exploite.
Ce scanner utilise 8 méthodes d'empreinte passive — validées contre des instances BeyondTrust en production — pour déterminer la version du produit et son statut de vulnérabilité sans envoyer aucun trafic d'exploitation.
| # | Méthode | Point de terminaison | Ce qui est extrait | Confiance |
|---|---|---|---|---|
| 1 | Extraction de version BRDF | GET /get_rdf?comp=sdcust&locale_code=en-us | Version exacte du produit depuis l'en-tête binaire (ex. : 24.1.4) | EXACTE |
| 2 | Réponse /check_health | GET /check_health | "Health Check: Succeeded" = pré-25.x / "Status: Primary" = 25.x+ | ÉLEVÉE |
| 3 | Taille des ressources statiques | HEAD /js/login.js | Taille du fichier : ~36K-39K = pré-25.x / ~12K = 25.x+ | ÉLEVÉE |
| 4 | API /get_mech_list | GET /get_mech_list?version=3 | Nom de l'entreprise + champ thin_rep_enabled (25.x+ uniquement) | ÉLEVÉE |
| 5 | Structure HTML | GET /login | XHTML 1.1 + BOMGAR = pré-25.x / HTML5 = 25.x+ | MOYENNE |
| 6 | Année de copyright | Pied de page GET /login | 2002-2024 = pré-25.x / 2002-2025 = 25.x | MOYENNE |
| 7 | Informations du portail | GET /get_portal_info | Valeur X-Ns-Company (indicateur de reconnaissance par un attaquant) | — |
| 8 | Sonde WebSocket | GET /nw (HTTP uniquement) | Confirme l'accessibilité de la surface d'attaque | — |
Méthode 1 (BRDF) est la même technique utilisée par Metasploit et le plugin Nessus 213456. Lorsque BRDF renvoie une version exacte, la confiance est EXACTE. Certaines instances 25.x suppriment la version de BRDF — dans ces cas, les méthodes 2 à 6 sont notées et corroborées pour déduire la plage de versions.
/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
# Créez une liste de cibles (un hôte par ligne)
cat > targets.txt << 'EOF'
support.example.com
pra.example.com
192.168.1.50
10.0.0.100:8443
remote-support.beyondtrustcloud.com
EOF
# Lancez l'analyse
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 Single target hostname or IP
-f, --file FILE File containing targets (one per line)
-o, --output OUTPUT Export results to CSV file
--json JSON_OUTPUT Export results to JSON file
--threads THREADS Concurrent threads (default: 10)
-v, --verbose Verbose per-target output