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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
hotpatch-for-apache-log4j2 — CVE-2021-44228 से log4j RCE को हॉटपैच करने के लिए एक एजेंट। | Kitploit
उपकरण/GitHubGitHub/corretto/hotpatch-for-apache-log4j2
रक्षात्मक उपकरणभेद्यता विश्लेषणशोषणआपूर्ति श्रृंखला सुरक्षाघटना प्रतिक्रिया
GitHubcorretto/hotpatch-for-apache-log4j2

hotpatch-for-apache-log4j2

CVE-2021-44228 से log4j RCE को हॉटपैच करने के लिए एक एजेंट।

रिपॉजिटरी देखें

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
4977243 साल पहलेKitploit द्वारा समीक्षित

Log4jHotPatch

यह एक उपकरण है जो चल रही JVM प्रक्रिया में Java एजेंट इंजेक्ट करता है। एजेंट सभी लोड किए गए org.apache.logging.log4j.core.lookup.JndiLookup इंस्टेंस के lookup() विधि को पैच करने का प्रयास करेगा ताकि वह बिना शर्त स्ट्रिंग "Patched JndiLookup::lookup()" लौटाए। यह Java प्रक्रिया को पुनः आरंभ किए बिना Log4j में CVE-2021-44228 रिमोट कोड निष्पादन भेद्यता को संबोधित करने के लिए डिज़ाइन किया गया है। यह उपकरण CVE-2021-45046 को भी संबोधित करेगा।

वर्तमान में इसका परीक्षण केवल Linux पर JDK 8, 11, 15 और 17 के साथ किया गया है!

निर्माण

Gradle

Linux, mac और Windows subsystem for linux पर बिल्ड करने के लिए

root@kitploit:~
./gradlew build

Windows पर बिल्ड करने के लिए

root@kitploit:~
.\gradlew.bat build

आप जिस प्लेटफ़ॉर्म पर बिल्ड कर रहे हैं उसके आधार पर, यह build/libs/Log4jHotPatch.jar उत्पन्न करेगा।

Maven

Maven का उपयोग करके बिल्ड करने के लिए निम्न का उपयोग करें

root@kitploit:~
mvn clean package

यह एक target/Log4jHotPatch.jar उत्पन्न करेगा।

चलाना

JDK 8

root@kitploit:~
java -cp <java-home>/lib/tools.jar:Log4jHotPatch.jar Log4jHotPatch <java-pid>

JDK 11 और नए

root@kitploit:~
java -jar Log4jHotPatch.jar <java-pid>

स्टैटिक एजेंट चलाना

बस एजेंट को अपनी java कमांड लाइन में निम्नानुसार जोड़ें:

root@kitploit:~
java -classpath <class-path> -javaagent:Log4jHotPatch.jar <main-class> <arguments>

एजेंट का परीक्षण

कुछ परीक्षण हैं जिन्हें Gradle या Maven के बाहर चलाया जा सकता है।

root@kitploit:~
build-tools/bin/run_tests.sh Log4jHotPatch.jar <JDK_ROOT>

ज्ञात समस्याएँ

यदि आपको निम्न जैसी त्रुटि मिलती है:

root@kitploit:~
Exception in thread "main" com.sun.tools.attach.AttachNotSupportedException: The VM does not support the attach mechanism
	at jdk.attach/sun.tools.attach.HotSpotAttachProvider.testAttachable(HotSpotAttachProvider.java:153)
	at jdk.attach/sun.tools.attach.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:56)
	at jdk.attach/com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:207)
	at Log4jHotPatch.loadInstrumentationAgent(Log4jHotPatch.java:115)
	at Log4jHotPatch.main(Log4jHotPatch.java:139)

इसका मतलब है कि आपका JVM किसी भी प्रकार की सहायता से इनकार कर रहा है क्योंकि यह -XX:+DisableAttachMechanism के साथ चल रहा है।

यदि आपको निम्न जैसी त्रुटि मिलती है:

root@kitploit:~
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
	at sun.tools.attach.LinuxVirtualMachine.<init>(LinuxVirtualMachine.java:106)
	at sun.tools.attach.LinuxAttachProvider.attachVirtualMachine(LinuxAttachProvider.java:63)
	at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:208)
	at Log4jHotPatch.loadInstrumentationAgent(Log4jHotPatch.java:182)
	at Log4jHotPatch.main(Log4jHotPatch.java:259)

इसका मतलब है कि आप लक्षित JVM से भिन्न उपयोगकर्ता (रूट सहित) के रूप में चल रहे हैं। JDK 8 रूट उपयोगकर्ता के रूप में पैचिंग को संभाल नहीं सकता (और लक्षित JVM में थ्रेड डंप ट्रिगर करता है जो हानिरहित है)। JDK 11 में रूट प्रक्रिया से गैर-रूट प्रक्रिया को पैच करना ठीक काम करता है।

यदि आपको लक्षित प्रक्रिया में निम्न जैसी त्रुटि मिलती है:

root@kitploit:~
Exception in thread "Attach Listener" java.lang.ExceptionInInitializerError
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
        at sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:411)
Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "log4jFixerAgentVersion" "write")
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
        at java.security.AccessController.checkPermission(AccessController.java:886)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at java.lang.System.setProperty(System.java:794)
        at Log4jHotPatch.<clinit>(Log4jHotPatch.java:66)

इसका मतलब है कि लक्षित प्रक्रिया में सुरक्षा प्रबंधक स्थापित है। लक्षित प्रक्रिया में इस कमांड लाइन विकल्प को देखें:

root@kitploit:~
-Djava.security.policy=/local/apollo/.../apollo-security.policy

यदि आपको यह त्रुटि मिलती है, तो सुनिश्चित करें कि आप टूल के नवीनतम संस्करण का उपयोग कर रहे हैं।

महत्वपूर्ण: यदि आपने गलत उपयोगकर्ता के रूप में पैच करने का प्रयास किया है, तो पुनः प्रयास करने से पहले आपको .attach_pid<pid> फ़ाइलों को हटाने की आवश्यकता हो सकती है (जो /tmp और/या VM प्रक्रिया के CWD में पाई जाती हैं)। Attach सफल होने के लिए इन फ़ाइलों का स्वामित्व सही होना आवश्यक है।

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