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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
marshalsec — Java deserialization भेद्यता शोषण उपकरण जिसमें कई मार्शलरों (Jackson, XStream, SnakeYAML) के लिए पेलोड जनरेटर तथा रिमोट कोड एक्ज़ीक्यूशन के लिए JNDI रेफ़रेंस इंडायरेक्शन शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/mbechler/marshalsec
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेपर और शोधलर्निंग और शिक्षारेड टीमिंगपेलोड डेवलपमेंट
GitHubmbechler/marshalsec

marshalsec

Java deserialization भेद्यता शोषण उपकरण जिसमें कई मार्शलरों (Jackson, XStream, SnakeYAML) के लिए पेलोड जनरेटर तथा रिमोट कोड एक्ज़ीक्यूशन के लिए JNDI रेफ़रेंस इंडायरेक्शन शामिल हैं।

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

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

सभी देखें →

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

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

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

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

Java Unmarshaller Security - आपके डेटा को कोड निष्पादन में बदलना

यदि आप Log4Shell/CVE-2021-44228 के लिए यहाँ आए हैं, तो आप शोषण वैक्टर और प्रभावित Java रनटाइम संस्करणों के बारे में पढ़ना चाह सकते हैं: https://mbechler.github.io/2021/12/10/PSA_Log4Shell_JNDI_Injection/

पेपर

क्रिस फ्रोहॉफ और गेब्रियल लॉरेंस को Java ऑब्जेक्ट डिसीरियलाइज़ेशन कमजोरियों पर अपना शोध प्रस्तुत किए हुए दो साल से अधिक हो गए हैं, जिसके परिणामस्वरूप अंततः ऐसा हुआ जिसे आसानी से Java इतिहास में रिमोट कोड निष्पादन बग्स की सबसे बड़ी लहर के रूप में वर्णित किया जा सकता है।

इस विषय पर शोध ने संकेत दिया कि ये कमजोरियाँ केवल Java सीरियलाइज़ेशन या XStream जैसे अभिव्यंजक तंत्रों तक सीमित नहीं हैं, बल्कि कुछ को अन्य तंत्रों पर भी लागू किया जा सकता है।

यह पेपर विभिन्न Java ओपन-सोर्स मार्शलिंग लाइब्रेरीज़ का विश्लेषण प्रस्तुत करता है, जिसमें शोषण विवरण शामिल हैं, जो हमलावर द्वारा आपूर्ति किए गए मनमाने प्रकारों के अनमार्शलिंग की अनुमति देती हैं/देती थीं, और दिखाता है कि यह प्रक्रिया कैसे भी की जाए और चाहे कोई भी अंतर्निहित बाधाएँ हों, यह समान शोषण तकनीकों के प्रति संवेदनशील है।

पूरा पेपर marshalsec.pdf पर उपलब्ध है

अस्वीकरण

सभी जानकारी और कोड केवल शैक्षिक उद्देश्यों और/या इन कमजोरियों के लिए अपने स्वयं के सिस्टम का परीक्षण करने के लिए प्रदान किए गए हैं।

उपयोग

Java 8 आवश्यक है। Maven का उपयोग करके बिल्ड करें mvn clean package -DskipTests। निम्नानुसार चलाएँ:

root@kitploit:~
java -cp target/marshalsec-[VERSION]-SNAPSHOT-all.jar marshalsec.<Marshaller> [-a] [-v] [-t] [<gadget_type> [<arguments...>]]

जहाँ

  • -a - उस मार्शलर के लिए सभी पेलोड उत्पन्न/परीक्षण करता है
  • -t - परीक्षण मोड में चलता है, उत्पन्न पेलोड को उत्पन्न करने के बाद अनमार्शल करता है।
  • -v - वर्बोज़ मोड, जैसे परीक्षण मोड में उत्पन्न पेलोड को भी दिखाता है।
  • gadget_type - किसी विशिष्ट गैजेट का पहचानकर्ता, यदि छोड़ दिया जाता है तो उस विशिष्ट मार्शलर के लिए उपलब्ध गैजेट प्रदर्शित करेगा।
  • arguments - गैजेट-विशिष्ट तर्क

निम्नलिखित मार्शलरों के लिए पेलोड जनरेटर शामिल हैं:

तर्क और अतिरिक्त पूर्वापेक्षाएँ

सिस्टम कमांड निष्पादन

  • cmd - निष्पादित करने के लिए कमांड
  • args... - तर्कों के रूप में पारित अतिरिक्त पैरामीटर

कोई पूर्वापेक्षा नहीं।

रिमोट क्लासलोडिंग (सादा)

  • codebase - रिमोट कोडबेस का URL
  • class - लोड करने के लिए क्लास

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

  • किसी पथ के अंतर्गत Java क्लासपाथ होस्ट करने वाला एक वेबसर्वर सेट करें।
  • लोड करने के लिए संकलित क्लास फ़ाइलों को Java क्लासपाथ परंपराओं के अनुसार सर्व किया जाना चाहिए।

रिमोट क्लासलोडिंग (ServiceLoader)

  • service_codebase - रिमोट कोडबेस का URL

लोड की जाने वाली सेवा वर्तमान में javax.script.ScriptEngineFactory पर हार्डकोडेड है।

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

  • सादे रिमोट क्लासलोडिंग के समान।
  • साथ ही /META-INF/javax.script.ScriptEngineFactory पर एक प्रोवाइडर-कॉन्फ़िगरेशन फ़ाइल की आवश्यकता होती है जिसमें लक्षित क्लास का नाम सादे पाठ में हो।
  • वहाँ निर्दिष्ट लक्षित क्लास को सेवा इंटरफ़ेस javax.script.ScriptEngineFactory को लागू करना आवश्यक है।

JNDI संदर्भ अप्रत्यक्षता

  • jndiUrl - लुकअप ट्रिगर करने के लिए JNDI URL

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

  • रिमोट क्लासलोडिंग की तरह ही एक रिमोट कोडबेस सेट करें।
  • उस कोडबेस की ओर इशारा करते हुए एक JNDI संदर्भ रीडायरेक्टर सेवा चलाएँ - दो कार्यान्वयन शामिल हैं: marshalsec.jndi.LDAPRefServer और RMIRefServer।
    root@kitploit:~
    java -cp target/marshalsec-[VERSION]-SNAPSHOT-all.jar marshalsec.jndi.(LDAP|RMI)RefServer <codebase>#<class> [<port>]
    
  • jndiUrl के रूप में (ldap|rmi)://host:port/obj का उपयोग करें, जो उस सेवा के सुनने वाले पते की ओर इशारा करता है।

परीक्षण चलाना

परीक्षण चलाते समय तर्कों को नियंत्रित करने वाले कुछ सिस्टम गुण हैं (maven के माध्यम से या -a का उपयोग करते समय)

  • exploit.codebase, डिफ़ॉल्ट रूप से http://localhost:8080/
  • exploit.codebaseClass, डिफ़ॉल्ट रूप से Exploit
  • exploit.jndiUrl, डिफ़ॉल्ट रूप से ldap://localhost:1389/obj
  • exploit.exec, डिफ़ॉल्ट रूप से /usr/bin/gedit

परीक्षण एक स्थापित SecurityManager के साथ चलते हैं जो सिस्टम कमांड निष्पादन के साथ-साथ रिमोट कोडबेस से निष्पादित होने वाले कोड की जाँच करता है। उसके काम करने के लिए उपयोग में लोड किया गया क्लास कुछ सुरक्षा प्रबंधक जाँच को ट्रिगर करना चाहिए।

टूल डाउनलोड करें
Marshallerगैजेट प्रभाव
BlazeDSAMF(0|3|X)केवल JDK, Java सीरियलाइज़ेशन तक वृद्धि
विभिन्न तृतीय-पक्ष लाइब्रेरी RCEs
Hessian|Burlapविभिन्न तृतीय-पक्ष RCEs
Castorनिर्भरता लाइब्रेरी RCE
Jacksonसंभावित केवल JDK RCE, विभिन्न तृतीय-पक्ष RCEs
Javaएक और तृतीय-पक्ष RCE
JsonIOकेवल JDK RCE
JYAMLकेवल JDK RCE
Kryoतृतीय-पक्ष RCEs
KryoAltStrategyकेवल JDK RCE
Red5AMF(0|3)केवल JDK RCE
SnakeYAMLकेवल JDK RCEs
XStreamकेवल JDK RCEs
YAMLBeansतृतीय-पक्ष RCE