
PoC for CVE-2024-23997
CVE-2024-23997 भेद्यता के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट।
cf) एक प्रॉक्सी, विशेष रूप से एक वेब प्रॉक्सी, वेब संचार के बीच में एक एजेंट के रूप में कार्य करता है, दूसरों की ओर से अनुरोध और प्रतिक्रियाएँ प्राप्त करता है और अग्रेषित करता है। इसलिए, YANA जिस पोर्ट का उपयोग करता है, उसके बावजूद, एक प्रॉक्सी संचार को इंटरसेप्ट कर सकता है। जबकि प्रॉक्सी का उपयोग सुरक्षा के लिए या कैशिंग के माध्यम से खोज गति बढ़ाने के लिए किया जाता है, कई दुर्भावनापूर्ण प्रोग्राम उपयोगकर्ताओं द्वारा भेजे गए वेब संचार की जासूसी करने के लिए उनका शोषण करते हैं।
आइए YANA का उपयोग करके एक उदाहरण देखें। मैंने अभ्यास वातावरण स्थापित करने के लिए अपने Windows 10 पर Burp Suite, एक प्रॉक्सी टूल जो मैलवेयर की तरह काम करता है, स्थापित किया। Burp Suite PortSwigger का एक नेटवर्क सुरक्षा निदान उपकरण है, और इसका सामुदायिक संस्करण मुफ्त में उपलब्ध है। यदि आप इस उदाहरण का अनुसरण करना चाहते हैं, तो कृपया ध्यान दें कि अभ्यास के लिए नेटवर्क सेटिंग्स में बदलाव आवश्यक हैं, इसलिए पुनर्स्थापना आवश्यक है।
चरण 1) वास्तविक मैलवेयर इंटरनेट सेटिंग्स नहीं बदलता बल्कि Windows API, Linux API आदि का उपयोग करके पैकेट को सुनता है। हालाँकि, इसकी जटिलता के कारण, विकल्प मैन्युअल रूप से सक्रिय किए जाते हैं। Windows कुंजी दबाएं और इंटरनेट विकल्प खोजें।
चरण 2) कनेक्शन टैब पर जाएं, और LAN सेटिंग्स बटन पर क्लिक करें।
चरण 3) "अपने LAN के लिए प्रॉक्सी सर्वर का उपयोग करें" चेक करें, और उन्नत बटन पर क्लिक करें। सेटिंग्स पुनर्स्थापित करने के लिए, बस अनचेक करें।
चरण 4) सर्वर में HTTP की सामग्री को "127.0.0.1", "8080" में बदलें, और अपवादों को "<-loopback>" में बदलें और सेव करने के लिए OK बटन पर क्लिक करें।
चरण 5) Burp Suite खोलें।
चरण 6) चूंकि हम केवल सत्यापन करेंगे, "मेमोरी में अस्थायी प्रोजेक्ट" चेक करें और अगला बटन पर क्लिक करें।
चरण 7) "Burp डिफ़ॉल्ट का उपयोग करें" चुनें और Start Burp बटन पर क्लिक करें।
चरण 8) प्रॉक्सी टैब पर जाएं, फिर प्रॉक्सी सेटिंग्स पर क्लिक करके जांचें कि प्रॉक्सी लिसनर्स में प्रॉक्सी 127.0.0.1:8080 पर सेट है और Running चेक है या नहीं। साथ ही, प्रॉक्सी लिसनर्स के अंतर्गत प्रतिक्रिया अवरोधन नियमों पर जाएं और निम्नलिखित नियमों के आधार पर प्रतिक्रिया को इंटरसेप्ट करें चेक करें। जब आप सेटिंग्स विंडो बंद करते हैं, तो विकल्प स्वचालित रूप से लागू हो जाते हैं।
चरण 9) प्रॉक्सी में इंटरसेप्ट टैब पर जाएं और सत्यापित करें कि "इंटरसेप्ट चालू है", फिर Yana खोलें। जब इंटरसेप्ट सक्षम होता है, तो सभी HTTP/HTTPS संचार रोक दिए जाते हैं और जब तक इंटरसेप्ट अक्षम नहीं किया जाता या फ़ॉरवर्ड नहीं दबाया जाता, तब तक दूसरे पक्ष को नहीं भेजा जाता।
चरण 10) फ़ॉरवर्ड बटन दबाते समय, Yana बैकग्राउंड सर्वर से प्राप्त प्रतिक्रियाओं के बीच HTML प्रतिक्रियाओं की तलाश करें। अंतर करना आसान है क्योंकि HTML दस्तावेज़ का शीर्षक टैग Yana के रूप में लिखा होता है।
चरण 11) HTML बॉडी टैग के नीचे एक स्क्रिप्ट टैग का उपयोग करके JS कोड(“<script>require('child_process').exec('C:/Windows/System32/calc.exe')</script>”) डालें।
चरण 12) फिर, "इंटरसेप्ट चालू है" अक्षम करें, और Yana इलेक्ट्रॉन प्रोग्राम पैकेट प्राप्त करेगा और स्क्रिप्ट निष्पादित करेगा, जिससे कैलकुलेटर प्रोग्राम लॉन्च होगा।
चरण 13) एक बार अभ्यास पूरा हो जाने पर, इंटरनेट विकल्पों पर जाएं और प्रॉक्सी सर्वर के उपयोग को अक्षम करें।
ऐसा इसलिए है क्योंकि Yana में nodeIntegration विकल्प सक्षम है। भले ही यह विकल्प अक्षम हो, HTML से Node.js कोड को विभिन्न अन्य विधियों का उपयोग करके निष्पादित करना संभव हो जाता है। यदि Yana की अनुमतियों के साथ निष्पादित किया जाता है, और यदि Yana व्यवस्थापक या रूट अनुमतियों के साथ चल रहा है, तो इंजेक्ट किया गया दुर्भावनापूर्ण कोड उन अनुमतियों के साथ निष्पादित किया जा सकता है। इसलिए, जैसा कि पहले उल्लेख किया गया है, इंटर-प्रोग्राम संचार में HTTP प्रोटोकॉल का उपयोग करने के बजाय फ़ाइल प्रोटोकॉल जैसे प्रोटोकॉल का उपयोग करके HTML पेजों को लाना और प्रदर्शित करना अधिक सुरक्षित है, जिन्हें इंटरसेप्ट करना अधिक कठिन है।