
डिसीरियलाइज़ेशन के माध्यम से दूरस्थ Java classpath एन्यूमरेशन
EnumJavaLibs: डीसेरियलाइज़ेशन के माध्यम से रिमोट Java क्लासपाथ एन्यूमरेशन।
अवलोकन
EnumJavaLibs का उपयोग यह पता लगाने के लिए किया जा सकता है कि जब कोई रिमोट Java एप्लिकेशन डिसीरियलाइज़ेशन का समर्थन करता है तो उसके द्वारा कौन सी लाइब्रेरी लोड की जाती हैं (यानी क्लासपाथ पर उपलब्ध हैं)।
-----------------
Serially - v1.1
by Stefan Broeder
-----------------
Usage:
EnumJavaLibs {MODE} [OPTIONS]
MODES:
base64 Write base64 encoded serialized objects to CSV file in current directory
rmi {host} {port} RMI mode. Connect to RMI endpoint and try deserialization.
OPTIONS:
-f {string} Only serialize classes from packages which contain the given string (e.g. org.apache.commons)
-d Debug mode on
टूल का उपयोग कैसे करें, इसके बारे में अधिक जानकारी के लिए कृपया यह ब्लॉग पोस्ट देखें।
jar फ़ाइलें प्राप्त करना
jar फ़ाइलों का एक स्थानीय रिपॉजिटरी ~/.serially/jars में आवश्यक है। EnumJavaLibs चलाने से पहले आपको jar फ़ाइलों को अनुक्रमित करने के लिए JavaClassDB python3 स्क्रिप्ट चलानी चाहिए। स्थानीय रिपॉजिटरी बनाने का एक तरीका maven central से सबसे लोकप्रिय Java लाइब्रेरी डाउनलोड करना है। मैं एक स्क्रिप्ट getPopularJars.py प्रदान करता हूँ जिसका उपयोग इस प्रकार किया जा सकता है:
./getPopularJars.py 20 | while read x; do wget --quiet -P ~/.serially/jars $x; sleep 5; done
यह कमांड mavenrepository.com से 20 सबसे लोकप्रिय jar फ़ाइलों को स्क्रैप करेगा।
यदि आप maven का उपयोग कर रहे हैं, तो अपने स्थानीय jar रिपॉजिटरी को बूटस्ट्रैप करने का एक और तरीका है कि आप maven कैश (~/.m2/repository) में पहले से मौजूद jar फ़ाइलों को कॉपी करें।
RMI
RMI का परीक्षण करने के लिए, मैंने एक डॉकर इमेज बनाई है जिसे आप [https://cloud.docker.com/repository/docker/summ1t/jmxrmi_vulnerable/general] से प्राप्त कर सकते हैं, जो पोर्ट 1617 पर RMI को सुनने वाला एक होस्ट स्पिन करती है। यह Java 8u40 चला रही है, जो असुरक्षित है। इसके क्लासपाथ पर nanohttpd-2.2.0.jar लाइब्रेरी लोड है, यह दिखाने के लिए कि EnumJavaLibs इस लाइब्रेरी को दूरस्थ रूप से खोजने में सक्षम है (बशर्ते आपने अपने स्थानीय रिपॉजिटरी को इस jar के साथ तैयार किया हो)।