अपाचे डब्बो डिसीरियलाइज़ेशन भेद्यता अनुसंधान
इस रिपॉजिटरी में Apache Dubbo डिसीरियलाइज़ेशन भेद्यताओं से संबंधित अनुसंधान सामग्री, प्रूफ-ऑफ-कॉन्सेप्ट कोड और शोषण उपकरण शामिल हैं, मुख्य रूप से CVE-2020-1948 पर केंद्रित।
रिपॉजिटरी संरचना
निर्देशिकाएँ
- Hessian-Deserialize-RCE-master: डब्बो में हैसियन डिसीरियलाइज़ेशन भेद्यताओं के लिए अनुसंधान और शोषण तकनीकें
- JNDI-Injection-Exploit-master: डब्बो सेवाओं पर हमला करने के लिए JNDI इंजेक्शन शोषण ढांचा
- dubbo-dubbo-2.7.5: भेद्यता विश्लेषण के लिए Apache Dubbo 2.7.5 स्रोत कोड
- dubbo-exp-master: डब्बो भेद्यताओं के लिए उन्नत शोषण ढांचा
- dubbo-samples-master: परीक्षण और प्रदर्शन के लिए नमूना डब्बो अनुप्रयोग
- marshalsec-master: मार्शलिंग/अनमार्शलिंग भेद्यता परीक्षण के लिए उपकरण
फ़ाइलें
- dubboExp.py: CVE-2020-1948 के लिए पायथन-आधारित शोषण स्क्रिप्ट
- dubboPoc.py: भेद्यता अस्तित्व सत्यापित करने के लिए प्रूफ ऑफ कॉन्सेप्ट स्क्रिप्ट
- payload.ser: शोषण के लिए क्रमबद्ध जावा पेलोड
- ysoserial.jar: जावा डिसीरियलाइज़ेशन पेलोड जनरेशन उपकरण
भेद्यता अवलोकन
Apache Dubbo के संस्करण 2.7.8, 2.6.9 और 2.5.10 से पहले के संस्करण असुरक्षित डिसीरियलाइज़ेशन के कारण रिमोट कोड निष्पादन हमले (CVE-2020-1948) के प्रति संवेदनशील हैं। यह भेद्यता डब्बो प्रदाता घटक को प्रभावित करती है, जो उचित सत्यापन के बिना जावा मूल क्रमबद्धता का उपयोग करता है।
तकनीकी विवरण
इस भेद्यता का शोषण कई वैक्टरों के माध्यम से किया जा सकता है:
- हैसियन डिसीरियलाइज़ेशन: हैसियन सीरियलाइज़ेशन प्रोटोकॉल कार्यान्वयन का शोषण
- JNDI इंजेक्शन: रिमोट कोड निष्पादन प्राप्त करने के लिए JNDI इंजेक्शन तकनीकों का लाभ उठाना
- जावा सीरियलाइज़ेशन: गैजेट श्रृंखलाओं के साथ पारंपरिक जावा डिसीरियलाइज़ेशन हमलों का उपयोग करना
उपयोग
संवेदनशील वातावरण सेटअप
# एक संवेदनशील डब्बो संस्करण क्लोन और बनाएँ
cd dubbo-dubbo-2.7.5
mvn clean package
भेद्यता सत्यापन
# प्रूफ ऑफ कॉन्सेप्ट चलाएँ
python dubboPoc.py -t <target_ip> -p <target_port>
शोषण
# शोषण चलाएँ
python dubboExp.py -t <target_ip> -p <target_port> -c "command_to_execute"
कस्टम पेलोड जनरेशन
आप कस्टम पेलोड उत्पन्न करने के लिए ysoserial.jar का उपयोग कर सकते हैं:
java -jar ysoserial.jar CommonsCollections1 "command_to_execute" > payload.ser
शमन उपाय
इन भेद्यताओं से बचाव के लिए:
- Apache Dubbo 2.7.8+, 2.6.9+, या 2.5.10+ में अपग्रेड करें
- मूल जावा सीरियलाइज़ेशन का उपयोग करने से बचें
- उचित इनपुट सत्यापन और डिसीरियलाइज़ेशन फ़िल्टरिंग लागू करें
- उपयुक्त सुरक्षा नियंत्रणों के साथ वैकल्पिक सीरियलाइज़ेशन प्रोटोकॉल का उपयोग करने पर विचार करें
संदर्भ
अस्वीकरण
यह रिपॉजिटरी केवल सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है। प्रदान किए गए कोड और उपकरणों का उपयोग केवल उन सिस्टमों के खिलाफ किया जाना चाहिए जिनका परीक्षण करने की अनुमति आपके पास है। इस जानकारी के किसी भी दुरुपयोग के लिए रिपॉजिटरी स्वामी जिम्मेदार नहीं है।