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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
revsuit — RevSuit एक लचीला और शक्तिशाली रिवर्स कनेक्शन प्लेटफॉर्म है जो पेनिट्रेशन में लक्ष्य होस्ट से कनेक्शन प्राप्त करने के लिए डिज़ाइन किया गया है। | Kitploit
उपकरण/GitHubGitHub/li4n0/revsuit
भेद्यता परीक्षण फ्रेमवर्कटोहीभेद्यता विश्लेषणशोषणजानकारी एकत्र करनावेब सुरक्षापेनिट्रेशन टेस्टिंगDNS विश्लेषण
GitHubli4n0/revsuit

revsuit

RevSuit एक लचीला और शक्तिशाली रिवर्स कनेक्शन प्लेटफॉर्म है जो पेनिट्रेशन में लक्ष्य होस्ट से कनेक्शन प्राप्त करने के लिए डिज़ाइन किया गया है।

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

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

सभी देखें →

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

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

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

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

RevSuit - एक लचीला और शक्तिशाली रिवर्स कनेक्शन प्लेटफ़ॉर्म

अंग्रेज़ी |简体中文

परिचय

RevSuit एक लचीला और शक्तिशाली रिवर्स कनेक्शन प्लेटफ़ॉर्म है जो पैनेट्रेशन में लक्ष्य होस्ट से कनेक्शन प्राप्त करने के लिए डिज़ाइन किया गया है। यह वर्तमान में HTTP, DNS, RMI, LDAP, MySQL और FTP प्रोटोकॉल का समर्थन करता है।

लचीला:

  1. RevSuit विभिन्न कनेक्शनों को कैप्चर करने के लिए लचीले नियम सेट कर सकता है।
  2. बाइनरी के माध्यम से परिनियोजित और चलाएं, बिना गड़बड़ निर्भरता त्रुटियों की चिंता किए।

शक्तिशाली:

  1. नियमों के माध्यम से विभिन्न कनेक्शनों के लिए प्रतिक्रिया को अनुकूलित करने की अनुमति देता है और टेम्पलेट चर का उपयोग करके गतिशील प्रतिक्रिया उत्पादन का समर्थन करता है।
  2. विभिन्न प्रकार के प्रोटोकॉल का समर्थन करता है, और कुछ प्रोटोकॉल के गहन उपयोग का समर्थन करता है, जैसे DNS रीबाइंडिंग, MySQL लोड लोकल डेटा, JDBC डिसीरियलाइज़ एक्सप्लॉइट, FTP पैसिव मोड SSRF, आदि।
  3. स्कैनर के साथ उपयोग के लिए मूल समर्थन।
  4. लोकप्रिय कार्यालय सॉफ़्टवेयर पर पुश सूचनाओं का समर्थन करता है।
  5. अन्य विचारशील और विस्तृत सुविधाएँ।

बुनियादी उपयोग

स्थापना और कॉन्फ़िगरेशन

नवीनतम रिलीज़ को सीधे डाउनलोड करें या निम्नलिखित चरणों का पालन करके बनाएँ:

root@kitploit:~
git clone https://github.com/Li4n0/revsuit.git
cd revsuit/frontend && yarn install && yarn build
cd ../ && go build ./cmd/revsuit/revsuit.go

RevSuit पहली बार चलने पर डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल उत्पन्न करेगा। अपनी आवश्यकताओं के अनुसार कॉन्फ़िगरेशन फ़ाइल को संशोधित करें, फिर पुनः चलाएँ। कॉन्फ़िगरेशन फ़ाइल का विस्तृत विवरण यहाँ पाया जा सकता है: Configuration Notes

चलाएँ

IP स्थान की पुष्टि करने के लिए, इसे IP स्थान डेटाबेस का उपयोग करने की आवश्यकता है। डिफ़ॉल्ट रूप से QQwry को डेटा स्रोत के रूप में उपयोग किया जाता है, आप GeoIP का उपयोग करने के लिए कॉन्फ़िगरेशन को संशोधित भी कर सकते हैं। यदि चयनित डेटाबेस वर्तमान निर्देशिका में उपलब्ध नहीं है या डेटाबेस एक सप्ताह से अधिक समय से अपडेट किया गया है, तो RevSuit स्वचालित रूप से नवीनतम डेटाबेस डाउनलोड करेगा। यदि डाउनलोड विफल होता है, तो IpArea फ़ील्ड हमेशा शून्य रहेगा।

root@kitploit:~
$ ./revsuit   
2021/05/16 22:55:10 [ INFO] Downloading qqwry.dat...

    ____            _____       _ __ 
   / __ \___ _   __/ ___/__  __(_) /_
  / /_/ / _ \ | / /\__ \/ / / / / __/
 / _, _/  __/ |/ /___/ / /_/ / / /_  
/_/ |_|\___/|___//____/\__,_/_/\__/    
                                   vBeta0.1
     https://revsuit.pro
2021/05/16 22:55:22 [ INFO] Starting HTTP Server at :80, token:your_token
2021/05/16 22:55:22 [ INFO] Start to listen FTP PASV port at :2020, PasvIP is 10.9.8.7
2021/05/16 22:55:22 [ INFO] Starting FTP Server at :21
2021/05/16 22:55:22 [ INFO] Starting MySQL Server at :3306
2021/05/16 22:55:22 [ INFO] Starting RMI Server at :1099
2021/05/16 22:55:22 [ INFO] Starting DNS Server at :53

चलाने के बाद, आप HTTP सर्वर के /revsuit/admin/ पथ पर जा सकते हैं और कंट्रोल पैनल तक पहुँचने के लिए टोकन दर्ज कर सकते हैं।

नियम बनाएँ और कनेक्शन प्राप्त करें

उदाहरण के रूप में HTTP नियमों का निर्माण लें:

कुछ नोट्स इस प्रकार हैं:

  1. नियम का name और flagFormat अद्वितीय हैं।
  2. FlagFormat रेगुलर एक्सप्रेशन सिंटैक्स का उपयोग करता है, और विभिन्न प्रोटोकॉल के लिए, flagFormat द्वारा मिलान किए गए फ़ील्ड अलग-अलग होते हैं, आप नियम बनाते समय विवरण प्राप्त करने के लिए संबंधित संकेतों की जांच कर सकते हैं।
  3. उच्च रैंक वाले नियम पहले प्रभावी होंगे।
  4. विभिन्न प्रोटोकॉल नियमों के लिए, आप विभिन्न कस्टम प्रतिक्रियाएँ बना सकते हैं, और कुछ प्रोटोकॉल के लिए, टेम्पलेट चर का उपयोग किया जा सकता है।
  5. आप flagFormat में रेगुलर एक्सप्रेशन के नामित समूहन सेट कर सकते हैं, और मिलान समूह का परिणाम भी एक टेम्पलेट चर के रूप में उपयोग किया जाएगा।

जैसा कि नीचे दिखाया गया है, हम एक नियम बनाते हैं जो HTTP प्रोटोकॉल के अंतर्निहित टेम्पलेट चर और कस्टम टेम्पलेट चर का उपयोग करता है, और इसका नाम test_create_rule रखता है:

img.png

फिर एक अनुरोध करें जो नियम को संतुष्ट करता है और प्रतिक्रिया देखें।

img.png

अनुरोध एक ही समय में प्लेटफ़ॉर्म पर लॉग किया जाएगा।

img.png

सूचना

यदि आप अपने कार्यालय सॉफ़्टवेयर पर नए कनेक्शनों की सूचना प्राप्त करना चाहते हैं, तो आप कॉन्फ़िगरेशन फ़ाइल में संबंधित सॉफ़्टवेयर का वेबहुक पता कॉन्फ़िगर कर सकते हैं और संबंधित नियम के लिए Notice स्विच चालू कर सकते हैं। वर्तमान में केवल चार सॉफ़्टवेयर प्रकारों का समर्थन करता है: dingtalk, wechat, lark, slack। (डिस्कॉर्ड और टेलीग्राम का समर्थन योजना में है।)

नियम आयात/निर्यात

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

इस फ़ंक्शन का प्रवेश बिंदु Settings>RULES पर स्थित है।

नियम आयात और निर्यात के लिए yaml प्रारूप में संग्रहीत किए जाते हैं, जैसे निम्नलिखित:

root@kitploit:~
http:
  - name: test_create_rule
    flag_format: (?P<what>\w+)\?
    rank: 0
    push_to_client: false
    notice: false
    response_status_code: "302"
    response_headers:
      Location: ${query.url}
    response_body: ${header.say} ${what}
  - name: other_rule
    flag_format: other
    rank: 1
    push_to_client: false
    notice: true
    response_status_code: "200"
    response_headers: { }
    response_body: Hello Revsuit!
dns:
  ... ...

उन्नत उपयोग

स्कैनर के साथ उपयोग

RevSuit को मेरे स्कैनर प्रोजेक्ट से अलग किया गया था, इसलिए इसका मूल समर्थन स्कैनर के साथ काम करता है।

RevSuit के दृष्टिकोण से, हम स्कैनर को एक क्लाइंट कहते हैं।

कनेक्शन स्थापित करें

RevSuit क्लाइंट के साथ एक-तरफ़ा संचार चैनल स्थापित करने के लिए HTTP Server-sent Events (SSE) का उपयोग करता है।

चैनल का API है: /revsuit/api/events?message। क्लाइंट को पहले हेडर में Token: your token हेडर जोड़ना होगा, और फिर चैनल स्थापित करने के लिए API तक पहुँचना होगा। जब प्लेटफ़ॉर्म को एक नया कनेक्शन प्राप्त होता है, तो नियम द्वारा कैप्चर किया गया flag इस चैनल के माध्यम से क्लाइंट को भेजा जाएगा।

img.png

यहाँ एक सरल डेमो है जिसमें Golang की sse लाइब्रेरी का उपयोग उदाहरण के रूप में किया गया है।

मल्टी-क्लाइंट

जैसा कि ऊपर दिखाया गया है, RevSuit एकाधिक क्लाइंट का समर्थन करता है, और प्रत्येक क्लाइंट कनेक्टेड अवस्था में flag का एक पुश प्राप्त करता है, इसलिए वितरित स्कैनिंग का समर्थन किया जा सकता है।

यदि आप नहीं चाहते कि प्रत्येक क्लाइंट सभी flag पुश प्राप्त करे, तो आप sse कनेक्शन बनाते समय Flag-Filter अनुरोध हेडर का उपयोग करके उस क्लाइंट द्वारा प्राप्त किए जाने वाले flag का प्रारूप (रेगुलर एक्सप्रेशन) सेट कर सकते हैं:

img.png

अस्थायी भंडारण कतार

RevSuit जब कोई क्लाइंट कनेक्शन नहीं होता है तो flag को अस्थायी रूप से कतार में संग्रहीत करेगा और क्लाइंट कनेक्ट होने पर इसे भेजेगा, ताकि आपको क्लाइंट के डिस्कनेक्ट होने के कारण भेद्यता से चूकने की चिंता न हो। (यह विशेष रूप से देरी-ट्रिगर भेद्यताओं की खोज के लिए सहायक है।)

flagGroup का उपयोग करें

वास्तविक दुनिया के भेद्यता स्कैनिंग परिदृश्य में, आप एक ही भेद्यता बिंदु के लिए बड़ी संख्या में विभिन्न पेलोड भेज सकते हैं, और वे सभी मान्य हो सकते हैं, जिसके परिणामस्वरूप बैकलिंक प्लेटफ़ॉर्म को कई अनुरोध प्राप्त हो सकते हैं, फिर भी वे एक ही भेद्यता के कारण होते हैं। यदि आप नहीं चाहते कि क्लाइंट को एक ही भेद्यता के लिए इतने सारे flags प्राप्त हों, तो आप नियम के flagFormat की flagGroup सुविधा का लाभ उठा सकते हैं।

FlagGroup नियम के flagFormat फ़ील्ड में अनाम समूह द्वारा मिलान की गई सामग्री है। प्लेटफ़ॉर्म समूहन में मिलान की गई सामग्री की जाँच करेगा, और फ़्लैग केवल तभी क्लाइंट को भेजा जाता है जब सामग्री (flagGroup) पहली बार कैप्चर की जाती है।

उदाहरण के लिए, SSRF स्कैनिंग।

सबसे पहले निम्नलिखित की तरह एक नियम बनाएँ:

root@kitploit:~
http:
  - name: ssrf
    flag_format: (ssrf[a-z0-9]{6})[0-9]{1,3}
    rank: 0
    push_to_client: false
    notice: false
    response_status_code: "200"
    response_headers: { }
    response_body: "Here is a SSRF!"

मान लीजिए कि हमारा लक्ष्य https://www.testvuln.com?url=api.com&p=useless है, और SSRF के लिए हमारे पास 5 पेलोड हैं। स्कैनर द्वारा भेजा गया अंतिम अनुरोध हो सकता है ['https://www.testvuln.com?url=http://revsuit.com/ssrfa98oni1&p=useless','https://www.testvuln.com?url=http://revsuit.com/ssrfa98oni2&p=useless', ... ,'https://www.testvuln.com?url=//revsuit.com/ssrfa98oni5&p=useless']। वे सभी सफलतापूर्वक हमला कर सकते हैं।

हालाँकि, चूंकि नियम के flagFormat में अनाम समूहन का उपयोग किया गया है, प्लेटफ़ॉर्म जुड़े हुए flagGroup की क्वेरी करेगा, इस मामले में ssrfa98oni, और केवल इसकी पहली उपस्थिति पर क्लाइंट को flag भेजेगा, इसलिए क्लाइंट को केवल एक flag प्राप्त होगा: ssrfa98oni1। यह पहले ही साबित करता है कि लक्ष्य का url पैरामीटर असुरक्षित है।

मल्टी-मॉड्यूल संयोजन

वास्तविक पैनेट्रेशन टेस्टिंग परिदृश्यों में, कुछ कार्यों को RevSuit के विभिन्न मॉड्यूलों को संयोजित और मिलान करके आसानी से और जल्दी से किया जा सकता है। निम्नलिखित Java Web में ब्लाइंड XXE का एक उदाहरण है, जो दिखाता है कि RevSuit के HTTP और FTP मॉड्यूल का उपयोग करके, टेम्पलेट चर के साथ संयोजित करके, पोर्ट स्कैन को जल्दी से कैसे पूरा किया जाए।

पहले एक HTTP नियम बनाएँ जो evil.dtd लौटाता है, dtd की सामग्री के अनुसार प्रतिक्रिया को अनुकूलित करें ताकि वह RevSuit की FTP सेवा से कनेक्ट हो, और टेम्पलेट चर का उपयोग करके स्कैन किए जाने वाले होस्ट और पोर्ट को FTP के उपयोगकर्ता और पासवर्ड के माध्यम से FTP पर पास करें।

create evil.dtd rule

फिर एक FTP नियम बनाएँ जो उपयोगकर्ता और पासवर्ड टेम्पलेट चर से स्कैन किए जाने वाले होस्ट और पोर्ट को प्राप्त करता है, और Pasv पते पर सेट करता है।

create ftp scan rule

फिर पोर्ट स्कैन के लक्ष्य को सेट करने के लिए evil.dtd URL में होस्ट और पोर्ट पैरामीटर सेट करके BurpSuit का उपयोग करके स्कैन लॉन्च करें।

xxe

चलने का प्रभाव इस प्रकार है:

ftp-scan

ऐसा इसलिए है क्योंकि यदि Passive Address सुलभ नहीं है तो FTP कनेक्शन क्रैश हो जाएगा, हम यह निर्धारित कर सकते हैं कि कनेक्शन सामान्य रूप से बाहर निकलता है या नहीं, इस आधार पर पोर्ट खुला है या नहीं। इस उदाहरण के लिए, हमने सफलतापूर्वक पता लगाया कि पोर्ट 8005 और 8080 खुले हैं।

अधिक उपयोग

एक अधिक विस्तृत विकी तैयार की जा रही है, आप इससे पहले स्वयं अन्वेषण कर सकते हैं।

प्रतिक्रिया, सुझाव और संचार

एक मुद्दा सबमिट करें या Weixin के माध्यम से मुझसे संपर्क करें: TGk0bjA2Cg==

आभार

संदर्भ

यह प्रोजेक्ट निम्नलिखित उत्कृष्ट प्रोजेक्ट्स के कोड का उपयोग करता है:

  • https://github.com/rmb122/rogue_mysql_server
  • https://github.com/256dpi/newdns
  • https://github.com/EmYiQing/JNDIScan

विशेष रूप से

मेरे मित्र @E99p1ant का धन्यवाद, इस प्रोजेक्ट के विकास के दौरान मुझे प्राप्त सभी सहायता और सलाह के लिए।

लाइसेंस

@Apache License 2.0

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