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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
BaRMIe — Java RMI गणना और आक्रमण उपकरण। | Kitploit
उपकरण/GitHubGitHub/nickstadb/barmie
भेद्यता विश्लेषणशोषणजानकारी एकत्र करनापेनिट्रेशन टेस्टिंग
GitHubnickstadb/barmie

BaRMIe

Java RMI गणना और आक्रमण उपकरण।

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

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

सभी देखें →

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

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

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

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

BaRMIe

BaRMIe Java RMI (Remote Method Invocation) सेवाओं की गणना और उन पर हमला करने के लिए एक उपकरण है।

RMI सेवाएँ अक्सर पर्याप्त सुरक्षा नियंत्रणों के बिना खतरनाक कार्यक्षमता को उजागर करती हैं, हालांकि प्रभावी परीक्षण उपकरणों की कमी के कारण सुरक्षा आकलन के दौरान RMI सेवाएँ रडार के नीचे से गुज़र जाती हैं। 2008 में, Adam Boulton ने AppSec USA में बात की (YouTube) और कुछ RMI हमला उपकरण जारी किए जो जल्द ही गायब हो गए, हालांकि उन उपकरणों के साथ भी, एक सफल शून्य-ज्ञान हमला नेटवर्क पर एक महत्वपूर्ण ब्रूट फोर्स हमले (~64-बिट/9 क्विंटिलियन संभावनाएं) पर निर्भर करता है।

BaRMIe का लक्ष्य सुरक्षा पेशेवरों को असुरक्षित RMI सेवाओं की पहचान करने, उन पर हमला करने और उन्हें सुरक्षित करने में सक्षम बनाना है। मौजूदा सॉफ़्टवेयर से आंशिक RMI इंटरफ़ेस का उपयोग करके, BaRMIe पहले नेटवर्क पर 64-बिट को ब्रूट फोर्स किए बिना सीधे उन सेवाओं के साथ इंटरैक्ट कर सकता है।

नवीनतम संस्करण बिल्ड डाउनलोड करें और चलाने के लिए तैयार यहाँ: https://github.com/NickstaDB/BaRMIe/releases/latest

अस्वीकरण

BaRMIe को सुरक्षा पेशेवरों को उन प्रणालियों पर असुरक्षित RMI सेवाओं की पहचान करने में सहायता करने के लिए लिखा गया था, जहाँ उपयोगकर्ता को पहले से हमला करने की अनुमति है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है और BaRMIe का उपयोग सभी प्रासंगिक कानूनों के अनुसार किया जाना चाहिए। ऐसा न करने पर आप पर मुकदमा चलाया जा सकता है। BaRMIe के डेवलपर्स कोई देयता नहीं लेते हैं और इस प्रोग्राम के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं।

उपयोग

BaRMIe का उपयोग सीधा है। उपयोग जानकारी के लिए BaRMIe को बिना पैरामीटर के चलाएँ।

root@kitploit:~
$ java -jar BaRMIe.jar
  ▄▄▄▄    ▄▄▄       ██▀███   ███▄ ▄███▓ ██▓▓█████
 ▓█████▄ ▒████▄    ▓██ ▒ ██▒▓██▒▀█▀ ██▒▓██▒▓█   ▀
 ▒██▒ ▄██▒██  ▀█▄  ▓██ ░▄█ ▒▓██    ▓██░▒██▒▒███
 ▒██░█▀  ░██▄▄▄▄██ ▒██▀▀█▄  ▒██    ▒██ ░██░▒▓█  ▄
 ░▓█  ▀█▓ ▓█   ▓██▒░██▓ ▒██▒▒██▒   ░██▒░██░░▒████▒
 ░▒▓███▀▒ ▒▒   ▓▒█░░ ▒▓ ░▒▓░░ ▒░   ░  ░░▓  ░░ ▒░ ░
 ▒░▒   ░   ▒   ▒▒ ░  ░▒ ░ ▒░░  ░      ░ ▒ ░ ░ ░  ░
  ░    ░   ░   ▒     ░░   ░ ░      ░    ▒ ░   ░
  ░            ░  ░   ░            ░    ░     ░  ░
       ░                                     v1.0
             Java RMI enumeration tool.
               Written by Nicky Bloor (@NickstaDB)

Warning: BaRMIe was written to aid security professionals in identifying the
         insecure use of RMI services on systems which the user has prior
         permission to attack. BaRMIe must be used in accordance with all
         relevant laws. Failure to do so could lead to your prosecution.
         The developers assume no liability and are not responsible for any
         misuse or damage caused by this program.

उपयोग: BaRMIe -enum [options] [host] [port] दिए गए एंडपॉइंट(s) पर RMI सेवाओं की गणना करें। नोट: यदि -enum निर्दिष्ट नहीं है, तो यह डिफ़ॉल्ट मोड है। BaRMIe -attack [options] [host] [port] दिए गए लक्ष्य(s) की गणना करें और उन पर हमला करें। विकल्प: --threads गणना के लिए उपयोग करने के लिए थ्रेड्स की संख्या (डिफ़ॉल्ट 10)। --timeout ब्लॉकिंग सॉकेट ऑपरेशनों के लिए टाइमआउट (डिफ़ॉल्ट 5,000ms)। --targets स्कैन करने के लिए लक्ष्यों वाली एक फ़ाइल। फ़ाइल में प्रति पंक्ति एक एकल होस्ट या स्पेस-सेपरेटेड होस्ट और पोर्ट जोड़ी होनी चाहिए। वैकल्पिक रूप से, सभी nmap आउटपुट प्रारूप समर्थित हैं, BaRMIe पोर्ट 1099, 'rmiregistry', या 'Java RMI' सेवाओं को लक्षित करने के लिए nmap आउटपुट पार्स करेगा। नोट: जब --targets का उपयोग किया जाता है तो [host] [port] समर्थित नहीं है। विश्वसनीयता: हमले की विश्वसनीयता को इंगित करने के लिए एक +/- प्रणाली का उपयोग किया जाता है: [+ ]: एप्लिकेशन-विशिष्ट हमले को इंगित करता है [- ]: JRE हमले को इंगित करता है [ + ]: असुरक्षित तरीकों पर हमला (जैसे 'writeFile' बिना प्रमाणीकरण के) [ - ]: Java डिसीरियलाइज़ेशन पर हमला (अर्थात् Object पैरामीटर) [ +]: गैर-डिफ़ॉल्ट निर्भरताओं की आवश्यकता नहीं है [ -]: गैर-डिफ़ॉल्ट निर्भरताएं आवश्यक हैं

गणना मोड (-enum) RMI रजिस्ट्री सेवा के माध्यम से उजागर वस्तुओं का विवरण निकालता है और उन ज्ञात हमलों को सूचीबद्ध करता है जो एंडपॉइंट को प्रभावित करते हैं।

हमला मोड (-attack) पहले दिए गए लक्ष्यों की गणना करता है, फिर RMI सेवाओं के खिलाफ ज्ञात हमलों को लॉन्च करने के लिए एक मेनू प्रणाली प्रदान करता है।

एक एकल लक्ष्य कमांड लाइन पर निर्दिष्ट किया जा सकता है। वैकल्पिक रूप से BaRMIe एक साधारण टेक्स्ट फ़ाइल या nmap आउटपुट से लक्ष्य निकाल सकता है।

कोई कमजोर लक्ष्य नहीं मिला?

बढ़िया! यह BaRMIe को बेहतर बनाने में मदद करने का आपका अवसर है! BaRMIe RMI पर उजागर वर्गों के कुछ ज्ञान पर निर्भर करता है, इसलिए योगदान BaRMIe और RMI सेवाओं की सुरक्षा में सुधार करने में बहुत मदद करेगा।

यदि आपके पास लक्ष्य एप्लिकेशन के JAR फ़ाइलों या स्रोत कोड तक पहुँच है, तो हमला करना उतना ही सरल है जितना कि प्रासंगिक JAR फ़ाइलों के विरुद्ध कोड संकलित करना। LocateRegistry और Registry वर्गों का उपयोग करके प्रासंगिक दूरस्थ वस्तु प्राप्त करें और वांछित विधियों को कॉल करें। वैकल्पिक रूप से, उन दूरस्थ विधियों को देखें जो मनमानी वस्तुओं या अन्यथा गैर-आदिम पैरामीटर स्वीकार करती हैं, क्योंकि इनका उपयोग डिसीरियलाइज़ेशन पेलोड देने के लिए किया जा सकता है। RMI पर हमला करने और BaRMIe के लिए हमले तैयार करने पर अधिक दस्तावेज़ीकरण निकट भविष्य में उपलब्ध कराया जाएगा।

वैकल्पिक रूप से, संपर्क करें, और जितना संभव हो उतना विस्तार प्रदान करें, जिसमें BaRMIe -enum आउटपुट और आदर्श रूप से प्रासंगिक JAR फ़ाइलें शामिल हों।

हमले के प्रकार

BaRMIe RMI सेवाओं के विरुद्ध तीन प्रकार के हमले करने में सक्षम है। प्रत्येक का संक्षिप्त विवरण निम्नलिखित है। आगे तकनीकी विवरण निकट भविष्य में https://nickbloor.co.uk/ पर प्रकाशित किए जाएंगे। इसके अतिरिक्त, मैंने 44CON 2017 में अपने शोध के परिणाम प्रस्तुत किए और स्लाइड यहाँ पाई जा सकती हैं: BaRMIe - Poking Java's Back Door.

1. असुरक्षित विधियों पर हमला

असुरक्षित RMI सेवाओं पर हमला करने का पहला और सबसे सीधा तरीका बस असुरक्षित दूरस्थ विधियों को कॉल करना है। अक्सर खतरनाक कार्यक्षमता RMI पर उजागर होती है जिसे केवल दूरस्थ वस्तु संदर्भ प्राप्त करके और खतरनाक विधि को कॉल करके ट्रिगर किया जा सकता है। निम्नलिखित कोड इसका एक उदाहरण है:

root@kitploit:~
//Get a reference to the remote RMI registry service
Registry reg = LocateRegistry.getRegistry(targetHost, targetPort);

//Get a reference to the target RMI object
Foo bar = (Foo)reg.lookup(objectName);

//Call the remote executeCommand() method
bar.executeCommand(cmd);

2. ऑब्जेक्ट-प्रकार पैरामीटर के माध्यम से डिसीरियलाइज़ेशन

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

root@kitploit:~
public void setOption(String name, Object value);
public void addAll(List values);

3. अवैध विधि आह्वान के माध्यम से डिसीरियलाइज़ेशन

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

root@kitploit:~
public void setName(String name);
public Long add(Integer i1, Integer i2);
public void sum(int[] values); 

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

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