
प्रतिक्रिया समय के आधार पर यह सुरक्षित रूप से पता लगाएँ कि क्या FortiGate SSL VPN इंस्टेंस CVE-2023-27997 के लिए कमजोर है।
प्रतिक्रिया समय के आधार पर सुरक्षित रूप से पता लगाएं कि FortiGate SSL VPN इंस्टेंस CVE-2023-27997 के लिए असुरक्षित है या नहीं। Bishop Fox ब्लॉग पर पूर्ण लेख देखें, जिसमें इस उपकरण के पीछे की पद्धति का संपूर्ण विवरण शामिल है।
CVE-2023-27997 FortiGate के SSL VPN घटक में एक हीप-आधारित बफर ओवरफ़्लो है जिसे प्रमाणीकरण-पूर्व RCE के लिए शोषणीय दिखाया गया है। चूंकि यह एक मेमोरी करप्शन बग है, हमें बिना sslvpnd प्रक्रिया को क्रैश किए और सक्रिय उपयोगकर्ताओं को डिस्कनेक्ट किए असुरक्षित संस्करणों का पता लगाने में सक्षम होना चाहिए।
यह उपकरण असुरक्षित URL पथ पर 800 अनुरोध भेजेगा। आधे अनुरोधों की लंबाई अमान्य होगी, और इसलिए उन्हें नए FortiGate संस्करणों द्वारा अस्वीकार कर दिया जाएगा; यह वैध और अमान्य लंबाई वाले अनुरोधों के बीच एक मापने योग्य समय अंतर (हमारे उपकरणों पर परीक्षण के दौरान लगभग 250 माइक्रोसेकंड) उत्पन्न करता है, जिसे हम थोड़े से गणित का उपयोग करके पता लगा सकते हैं।
अनुरोध आकार और डेटा लंबाई फ़ील्ड को विशेष रूप से इस प्रकार चुना गया है कि, असुरक्षित उपकरणों पर, मेमोरी करप्शन केवल हीप के उन क्षेत्रों को प्रभावित करेगा जिनमें कोई उपयोग में डेटा नहीं है। यह गारंटी देता है कि SSL VPN प्रक्रिया क्रैश नहीं होगी।
$ git clone https://github.com/BishopFox/CVE-2023-27997-check
$ cd CVE-2023-27997-check
$ python3 -m venv venv
$ source venv/bin/activate
$ python3 -m pip install -r requirements.txt
https://<IP>:<PORT> पर SSL VPN को स्कैन करें। लक्ष्य Vulnerable, Patched, या Unknown स्थिति के साथ वापस आ सकता है। स्कैन आमतौर पर 30 सेकंड के भीतर पूरा हो जाएगा—लेकिन भेजे जा रहे बड़ी संख्या में अनुरोधों के कारण, कुछ परिस्थितियों में इसमें 5 मिनट तक लग सकते हैं।
$ python3 CVE-2023-27997-check.py <IP> <PORT>
निम्नलिखित उदाहरण में, example.com:10443 CVE-2023-27997 के लिए असुरक्षित है।
$ python3 CVE-2023-27997-check.py example.com 10443
Checking https://example.com:10443
Vulnerable
ध्यान दें कि यह उपकरण इंटरनेट पर मापी गई समय जानकारी पर निर्भर करता है, जो शोर के अधीन है। जब परिणाम गलत हो सकते हैं, उपकरण आपको चेतावनी देगा।
$ python3 CVE-2023-27997-check.py example.com 10443
Checking https://example.com:10443
WARNING: Low confidence results.
Patched
$ python3 CVE-2023-27997-check.py example.com 10443
Checking https://example.com:10443
WARNING: Low confidence results.
Unknown
यदि आप WARNING: Low confidence results देख रहे हैं, तो इंटरनेट शोर को कम करने के लिए लक्ष्य सर्वर के जितना संभव हो सके भौगोलिक रूप से करीब VPS का उपयोग करने पर विचार करें।
पूर्व आपसी सहमति के बिना लक्ष्यों पर हमला करने के लिए इस उपकरण का उपयोग अवैध है। सभी लागू स्थानीय, राज्य और संघीय कानूनों का पालन करना अंतिम उपयोगकर्ता की जिम्मेदारी है। डेवलपर्स कोई देयता नहीं मानते हैं और इस प्रोग्राम के कारण होने वाले किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं।