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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Log4JShell-Bytecode-Detector — स्थानीय बाइटकोड स्कैनर Log4JShell भेद्यता के लिए (CVE-2021-44228) | Kitploit
उपकरण/GitHubGitHub/codeshield-security/log4jshell-bytecode-detector
स्थैतिक विश्लेषणभेद्यता स्कैनरकोड विश्लेषणबाइनरी विश्लेषणआपूर्ति श्रृंखला सुरक्षाघटना प्रतिक्रिया
GitHubcodeshield-security/log4jshell-bytecode-detector

Log4JShell-Bytecode-Detector

स्थानीय बाइटकोड स्कैनर Log4JShell भेद्यता के लिए (CVE-2021-44228)

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

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

सभी देखें →

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

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

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

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

🔍 Log4JShell बाइटकोड डिटेक्टर

Log4jShell बाइटकोड डिटेक्टर एक ओपन सोर्स टूल है जो यह पहचानने में मदद करता है कि कोई jar फ़ाइल क्रिटिकल CVE-2021-44228 से प्रभावित है या नहीं। यह टूल jar फ़ाइल को स्कैन करता है और उसके अंदर मौजूद क्लासेज़ के लिए पूर्व-गणना किए गए हैशेज़ के एक सेट से तुलना करता है। ये हैश Maven Central पर आर्टिफैक्ट्स के लिए पूर्व-गणना किए गए हैं।

महत्वपूर्ण अपडेट: हमने Maven Central पर प्रभावित आर्टिफैक्ट्स की सूची का विस्तार किया है। इस सूची में 18.816 आर्टिफैक्ट्स शामिल हैं। ये आर्टिफैक्ट्स या तो log4j-core को घोषित निर्भरता के रूप में उपयोग करते हैं, या हमने उनके अंदर .class फ़ाइलें पहचानी हैं जो log4j-core के प्रभावित संस्करणों से मेल खाती हैं।

📝 चलाने का तरीका

  1. रिलीज़ से jar फ़ाइल डाउनलोड करें।
  2. java -cp <PATH_TO_DOWNLOADED_JAR> de.codeshield.log4jshell.Log4JDetector <ABSOLUTE_PATH_TO_JAR_TO_CHECK> चलाएँ।

यदि jar प्रभावित है, तो टूल कमांड-लाइन पर जानकारी आउटपुट करता है:

root@kitploit:~
CVE-2021-44228 found declared as dependency in META-INF/maven/org.apache.logging.log4j/log4j-core/pom.xml
CVE-2021-44228 found in class file org/apache/logging/log4j/core/net/JndiManager$1.class

📝 लाइव सर्वर पर चलाने का तरीका (अपने चल रहे Java इंस्टेंस को रोकने की आवश्यकता नहीं)

  1. रिलीज़ से jar फ़ाइल डाउनलोड करें।
  2. java -cp <PATH_TO_DOWNLOADED_JAR> de.codeshield.log4jshell.Log4JProcessDetector चलाएँ।
  3. jar सभी चल रहे Java प्रोसेस के क्लासपाथ को संवेदनशील log4j इंस्टेंस के लिए खोजता है।

❓ CVE-2021-44228 की पृष्ठभूमि

log4j में एक गंभीर रिमोट कोड एक्ज़ीक्यूशन कमजोरी पाई गई है, और संस्करण 2.0-beta9 से 2.14 तक प्रभावित हैं। इस कमजोरी को क्रिटिकल के रूप में वर्गीकृत किया गया है, क्योंकि इसने Java के सबसे अधिक उपयोग किए जाने वाले लॉगिंग लाइब्रेरीज़ में से एक log4j को प्रभावित किया। इस पर कई संदर्भ और लेख उपलब्ध हैं।

  • Hackernews
  • BSI (केवल जर्मन में)
  • कमजोरी का शोषण करने का प्रूफ ऑफ कॉन्सेप्ट
  • Log4JShell चीट शीट

👀 यह महत्वपूर्ण क्यों है?

Log4j का उपयोग अधिकांश Java प्रोजेक्ट्स में लॉगिंग उद्देश्यों के लिए किया जाता है और किया जाता रहा है। अब हमें यह समझने की आवश्यकता है कि कौन से प्रोजेक्ट और लाइब्रेरी वास्तव में प्रभावित हैं। Java की निर्भरता तंत्र के अनुसार, कोई एप्लिकेशन तब भी प्रभावित हो सकता है यदि वह अप्रत्यक्ष रूप से संवेदनशील लाइब्रेरी संस्करण को शामिल करता है। एक प्रोजेक्ट A एक लाइब्रेरी lib को अप्रत्यक्ष रूप से शामिल करता है, यदि A की कोई प्रत्यक्ष निर्भरता B का lib पर निर्भरता है। यह जाँचने का एक सरल तरीका कि कोई प्रभावित है या नहीं, maven निर्भरता ट्री का उपयोग करके किया जा सकता है:

उदाहरण: किसी maven प्रोजेक्ट पर mvn dependency:tree कमांड निष्पादित करें।

root@kitploit:~
[INFO] exampleProject:mainProject:jar:0.0.1-SNAPSHOT
[INFO] +- exampleProject:lib-using-log4j:jar:0.0.1-SNAPSHOT:compile
[INFO] |  \- org.apache.logging.log4j:log4j-core:jar:2.14.1:compile

हालाँकि, यह जाँच केवल एक प्रारंभिक संकेत है और निम्नलिखित कारणों से पर्याप्त नहीं है:

Java प्रोग्राम अक्सर:

  • fatjar या uberjar के रूप में पैकेज किए जाते हैं: सभी क्लास फ़ाइलें (प्रत्यक्ष और अप्रत्यक्ष निर्भरताओं सहित) एक ही jar फ़ाइल में भेज दी जाती हैं। (जैसा कि हम इस सॉफ़्टवेयर आर्टिफैक्ट के लिए करते हैं)
  • पुनः-पैकेज या पुनः-बंडल किए जाते हैं: नाम विरोध से बचने के लिए मूल पैकेज नाम बदल दिए जाते हैं (कुछ कंपाइलर और पैकेजिंग तंत्र कोड ट्रांसफ़ॉर्मेशन लागू करते हैं)
  • पुनः-संकलित किए जाते हैं: स्रोत कोड एक अलग कंपाइलर के साथ संकलित किया जाता है और नए के रूप में पैकेज किया जाता है, जिससे संशोधित बाइटकोड उत्पन्न होता है

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

📕 स्क्रिप्ट

  1. .jar से pom.xml फ़ाइलें निकालें
  2. Maven Central पर होस्ट किए गए आर्टिफैक्ट्स के लिए प्रभावित groupId:artifactId:version सूची पूर्व-गणना की गई सूची के विरुद्ध घोषित निर्भरताओं की जाँच करें
  3. .jar से .class फ़ाइलें निकालें
  4. क्लास फ़ाइल के SHA हैश की गणना करें
  5. SHA को पूर्व-गणना की गई सूची से मिलाएँ

🛠 बिल्ड निर्देश

इस टूल को बनाने के लिए चलाएँ

mvn compile

रन करने योग्य jar को असेंबल करने के लिए

mvn clean compile assembly:single का उपयोग करें

💡 संवेदनशील क्लासेज़ के पूर्व-गणना किए गए हैश

संवेदनशील क्लासेज़ के लिए हैश का सेट पूरे Maven Central रिपॉजिटरी पर पूर्व-गणना किया गया है। क्लासेज़ के हैश में वे सभी हैश शामिल हैं जिन्हें हमने फ़िंगरप्रिंटिंग तकनीक का उपयोग करके बाइटकोड-समान के रूप में पहचाना है।

पूर्व-गणना की गई जानकारी में शामिल हैं:

  • वे सभी आर्टिफैक्ट जो किसी भी संवेदनशील संस्करण में log4j को सीधे शामिल करते हैं
  • वे सभी आर्टिफैक्ट जो एक ऐसी क्लास शिप करते हैं जिसमें प्रभावित संस्करण सीमा में log4j का एक संवेदनशील हैश होता है
  • वे सभी आर्टिफैक्ट जो log4j के एक संवेदनशील क्लास को पुनः-बंडल करते हैं
  • वे सभी आर्टिफैक्ट जिनमें प्रभावित संस्करण सीमा में log4j के एक क्लास का पुनः-संकलित क्लास होता है

प्रभावित संस्करण सीमा के रूप में हमने [2.0-beta9, 2.15) को माना है संदर्भ।

💻 फ़िंगरप्रिंटिंग तकनीक

यह टूल Java के लिए एक नई बाइटकोड फ़िंगरप्रिंटिंग तकनीक का उपयोग करता है जिसका आविष्कार Andreas Dann ने किया है। मूल प्रवाह इस प्रकार है।

  1. यह पहचानने के लिए उपलब्ध फिक्स कमिट का उपयोग करें कि कौन सी क्लासेज़ प्रभावित हैं। Commit1, Commit2, और Commit3
  2. संवेदनशील क्लासेज़ के बाइटकोड "फ़िंगरप्रिंट्स" की गणना करें।
  3. समान "फ़िंगरप्रिंट" वाली अन्य क्लासेज़ के लिए MavenCentral पर खोजें।

नोट: आसान रोल आउट के लिए, यह रिपॉजिटरी संवेदनशील क्लासेज़ के SHA हैश शिप करती है; फ़िंगरप्रिंटिंग का उपयोग करके जानकारी की गणना की गई है

📌 अस्वीकरण

हैश और maven आर्टिफैक्ट्स की सूची पूर्ण नहीं है। हम नियमित रूप से सूचियों को अपडेट करेंगे।

📯 योगदानकर्ता

यह टूल CodeShield के सह-संस्थापकों द्वारा सह-निर्मित किया गया था

  • Andreas Dann [email protected]
  • Johannes Spaeth [email protected]
  • Manuel Benz [email protected]

प्रतिक्रिया का स्वागत है!

हम प्रभावित आर्टिफैक्ट्स की सूची का विस्तार करने पर काम कर रहे हैं और हमेशा अपनी पेशकश को बेहतर बनाने के लिए प्रयासरत हैं। contribution welcome

साथ ही, ⭐️ इस रिपॉजिटरी को दें यदि हमारे स्कैनर ने आपकी सहायता की!

✍️ संपर्क

यदि आपको सहायता की आवश्यकता है, या हमारी तकनीक के बारे में सुनना चाहते हैं, तो हमसे [email protected] पर संपर्क करें।

आपकी CodeShield टीम 💚

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