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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cornershot — अन्य होस्टों के विभिन्न दृष्टिकोणों से नेटवर्क दृश्यता बढ़ाएँ | Kitploit
उपकरण/GitHubGitHub/zeronetworks/cornershot
टोहीभेद्यता विश्लेषणजानकारी एकत्र करनानेटवर्क सुरक्षापेनिट्रेशन टेस्टिंग
GitHubzeronetworks/cornershot

cornershot

अन्य होस्टों के विभिन्न दृष्टिकोणों से नेटवर्क दृश्यता बढ़ाएँ

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

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

सभी देखें →

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

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

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

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

GitHub release (latest SemVer) GitHub all releases

CornerShot क्या है

युद्ध में, CornerShot एक हथियार है जो एक सैनिक को बिना जोखिम के कोने के पीछे देखने (और संभवतः गोली चलाने) की अनुमति देता है। इसी प्रकार, CornerShot पैकेज किसी दूरस्थ होस्ट के नेटवर्क एक्सेस को देखने की अनुमति देता है, बिना उस होस्ट पर किसी विशेष विशेषाधिकार की आवश्यकता के।

CornerShot का उपयोग करके, एक स्रोत, जिसके पास कैरियर तक नेटवर्क पहुंच है, यह निर्धारित कर सकता है कि किसी विशिष्ट पोर्ट p के लिए कैरियर और लक्ष्य के बीच नेटवर्क पहुंच है या नहीं।

उदाहरण के लिए, मान लेते हैं कि एक रेड टीम "समझौता" किए गए स्रोत होस्ट A से लक्ष्य होस्ट X तक प्रसार करने का प्रयास कर रही है, जिस तक होस्ट A की पहुंच नहीं है। यदि वे होस्ट B के माध्यम से प्रसार करते हैं, तभी उन्हें पता चलेगा कि होस्ट B और X के बीच नेटवर्क पहुंच नहीं है।

CornerShot का उपयोग करके, टीम पता लगा सकती है कि होस्ट C के पास वास्तव में लक्ष्य X तक पहुंच है, इसलिए लक्ष्य X की ओर प्रसार पहले होस्ट C के माध्यम से होना चाहिए।

root@kitploit:~
+-----+        +-----+          +-----+
|     |        |     | filtered |     |
|  A  +-------->  B  +----X--->(p) X  |
|     |        |     |          |     |
+-----+        +-----+          +-(p)-+
 source      carrier        target
   +                               ^
   |                               |
   |           +-----+             |
   |           |     |   open      |
   +---------->+  C  +-------------+
               |     |
               +-----+

nmap के समान, CornerShot पोर्ट की निम्नलिखित स्थितियों के बीच अंतर करता है: खुला, बंद, फ़िल्टर्ड और अज्ञात (यदि निर्धारित नहीं किया जा सकता)।

निम्नलिखित डेमो दो कैरियर होस्ट 172.0.1.12 और 172.0.1.13 के विरुद्ध CornerShot चलाने को दर्शाता है, ताकि यह निर्धारित किया जा सके कि उनके पास 192.168.200.1 तक नेटवर्क पहुंच है या नहीं:

cornershot demo

यहाँ और पढ़ें।

उपयोग के मामले

पूर्ण नेटवर्क दृश्यता के लिए एकल परिनियोजन

नेटवर्क में किसी होस्ट B की होस्ट C तक पहुंच की पहचान करने का सरल प्रतीत होने वाला कार्य, नेटवर्क सेंसर, डिवाइस एजेंटों की बड़े पैमाने पर तैनाती या फ़ायरवॉल नियमों, राउटर कॉन्फ़िगरेशन और होस्ट नीतियों के संग्रह की आवश्यकता हो सकती है।

CornerShot एक (या बहुत कम) एजेंटों का उपयोग करके इस प्रक्रिया को सरल बना सकता है जो नेटवर्क में अन्य होस्ट से पूछताछ करके दूरस्थ होस्ट तक उनकी पहुंच निर्धारित कर सकते हैं।

BloodHound पथों को मान्य करें

सुरक्षा टीमें जो अपने नेटवर्क के अंदर विशेषाधिकार वृद्धि पथों को खोजने और कम करने के लिए BloodHound का उपयोग करती हैं, अक्सर BloodHound द्वारा खोजे गए लाखों तार्किक पथों से जूझती हैं।

ShotHound एक उपकरण है जो नेटवर्क पहुंच द्वारा समर्थित व्यावहारिक पथों की खोज करने के लिए CornerShot को BloodHound के साथ एकीकृत करता है।

आरंभ करना

CornerShot को एक पैकेज के रूप में या एक स्टैंडअलोन मॉड्यूल के रूप में उपयोग किया जा सकता है। एकमात्र आवश्यकताएँ Python 3 और impacket पैकेज हैं।

स्थापना

root@kitploit:~
pip install cornershot

स्टैंडअलोन उपयोग

मूल उपयोग के लिए एक वैध डोमेन उपयोगकर्ता के क्रेडेंशियल, एक FQDN डोमेन, एक कैरियर IP और लक्ष्य IP की आवश्यकता होती है।

root@kitploit:~
python -m cornershot <user> <password> <domain> <carrier> <target>

कैरियर की एक श्रेणी को लक्ष्यों की एक श्रेणी के विरुद्ध स्कैन करने के लिए, सबनेट या IP रेंज का उपयोग अल्पविराम से सीमांकित सूची में किया जा सकता है:

root@kitploit:~
python -m cornershot <user> <password> <domain> 192.168.1.10-192.168.1.20 192.168.5.0/24,192.168.6.0/24

डिफ़ॉल्ट रूप से, CornerShot निम्नलिखित पोर्ट को स्कैन करने का प्रयास करेगा: 135, 445, 3389, 5985, 5986. उपयोगकर्ता पोर्ट और पोर्ट रेंज की अल्पविराम से सीमांकित सूची प्रदान कर सकता है:

root@kitploit:~
python -m cornershot -tp 22,8080,45000-45005 <user> <password> <domain> <carrier> <target>

एक पैकेज के रूप में

कोड के भीतर, एक वैध डोमेन उपयोगकर्ता के उपयोगकर्ता नाम, पासवर्ड और डोमेन नाम के साथ CornerShot ऑब्जेक्ट को इंस्टैंशिएट करना आवश्यक है। कैरियर, लक्ष्य और पोर्ट जोड़ना add_shots विधि के माध्यम से प्राप्त किया जाता है। तैयार होने पर, open_fire विधि को कॉल किया जा सकता है, जो आवश्यक पोर्ट के आधार पर केवल प्रासंगिक RPC कॉल करता है।

root@kitploit:~
from cornershot import CornerShot
cs = CornerShot("username", "password", "fqdn")
cs.add_shots(carriers=["192.168.1.1"],targets=["192.168.1.2","192.168.1.3"])
results = cs.open_fire()

open_fire का परिणाम एक शब्दकोश है जिसमें कैरियर की कुंजियाँ हैं, प्रत्येक कैरियर के पास लक्ष्यों के लिए कुंजियों का एक और सेट है, और अंत में, प्रत्येक लक्ष्य पोर्ट और उनकी संबंधित स्थितियों का एक शब्दकोश रखता है। यह परिणाम का एक उदाहरण प्रारूप है:

root@kitploit:~
{'carrier_1': 
	{'target_1': 
		{135: 'unknown', 445: 'filtered', 3389: 'filtered', 5986: 'filtered', 5985: 'filtered'},
	'target_2': 
		{135: 'unknown', 445: 'open', 5985: 'unknown', 5986: 'filtered', 3389: 'open'}
	}, 
'carrier_2': 
	{'target_1': 
		{3389: 'filtered', 135: 'filtered', 5985: 'filtered', 445: 'filtered', 5986: 'unknown'}, 
	'target_2': 
		{5985: 'filtered', 5986: 'filtered', 445: 'filtered', 135: 'filtered', 3389: 'open'}
	}
}

CornerShot कैसे काम करता है?

CornerShot विभिन्न, सुप्रलेखित, मानक दूरस्थ प्रक्रिया कॉल (RPC) विधियों पर निर्भर करता है जिनका उपयोग विभिन्न Microsoft सेवाओं द्वारा किया जाता है। डोमेन में केवल एक प्रमाणित खाते की आवश्यकता वाली विधियों का उपयोग करके, CornerShot कैरियर होस्ट से लक्ष्य तक नेटवर्क ट्रैफ़िक को ट्रिगर करने में सक्षम है।

CornerShot एक RPC कॉल में लगने वाले समय को मापकर और प्रत्येक RPC विधि के लिए विभिन्न त्रुटि कोड का उपयोग करके रिमोट के पोर्ट की स्थिति निर्धारित करने में सक्षम है।

RPC विधियाँ

पाठक "प्रिंटर बग" से परिचित हो सकता है, जिसे Lee Christensen ने खोजा था। जबकि इसे बग कहा जाता है, यह प्रिंटिंग सेवा का एक सुप्रलेखित व्यवहार है, जो किसी भी प्रमाणित उपयोगकर्ता को RpcRemoteFindFirstPrinterChangeNotificationEx विधि का उपयोग करके किसी दूरस्थ सर्वर को किसी भी मशीन पर प्रमाणित करने के लिए मजबूर करने की अनुमति देता है।

CornerShot कई Microsoft प्रोटोकॉल से निम्नलिखित RPC विधियों का उपयोग करता है (कई अतिरिक्त विधियाँ हैं, जिन्हें भविष्य के संस्करणों में लागू किया जाएगा):

  • RPRN : RpcOpenPrinter
  • RRP : BaseRegSaveKey
  • EVEN : ElfrOpenBELW
  • EVEN6 : EvtRpcOpenLogHandle

प्रोटोकॉल का कार्यान्वयन अद्भुत impacket पैकेज के माध्यम से प्राप्त किया जाता है।

RpcOpenPrinter

यह विधि एक printerName को पैरामीटर के रूप में प्राप्त करती है। printerName का नाम एक स्थानीय फ़ाइल का पथ, एक दूरस्थ फ़ाइल या यहाँ तक कि एक वेब प्रिंटर का पथ भी हो सकता है। WEB_PRINT_SERVER प्रारूप के अनुरूप नाम प्रदान करके, किसी भी दूरस्थ पोर्ट से क्वेरी करना संभव है। एक वेब प्रिंट सर्वर नाम का एक उदाहरण जो दूरस्थ होस्ट और पोर्ट पर HTTP ट्रैफ़िक को ट्रिगर करेगा: "http://<target_ip>:<target_port>/printers/ppp/.printer".

BaseRegSaveKey

इस विधि का उपयोग करने के लिए, हमें दो-चरणीय दृष्टिकोण की आवश्यकता है: पहले, दूरस्थ होस्ट पर एक रजिस्ट्री कुंजी खोलें - जिसके परिणामस्वरूप एक वैध हैंडल मिलता है, और दूसरा, इस हैंडल का बैकअप किसी दूरस्थ फ़ाइल में सहेजने का प्रयास करें। BaseRegSaveKey विधि एक फ़ाइल पथ प्राप्त करती है जिसमें वह रजिस्ट्री का बैकअप सहेज सकती है, जो लक्ष्य पर पोर्ट 445 (और बैकअप के रूप में 135) पर SMB ट्रैफ़िक को ट्रिगर करता है। CornerShot जो रजिस्ट्री कुंजी खोलता है वह HKEY_CURRENT_USER है, जो अधिकांश क्लाइंट होस्ट पर डिफ़ॉल्ट रूप से पढ़ने के लिए खुला है।

ElfrOpenBELW

यह फ़ंक्शन विंडोज इवेंट्स को एक फ़ाइल पथ में बैकअप करने का प्रयास करता है, जो दूरस्थ हो सकता है - ऐसी स्थिति में सेवा दूरस्थ होस्ट और पथ तक पहुँचने का प्रयास करेगी।

EvtRpcOpenLogHandle

EVEN विधि के समान, केवल यह विधि विंडोज इवेंट्स प्रोटोकॉल के एक अलग संस्करण का उपयोग करती है, जो सीधे TCP पर किया जाता है - SMB पोर्ट खुला होने की आवश्यकता नहीं है।

पोर्ट स्थिति का निर्धारण

CornerShot RPC विधि या अंतर्निहित परिवहन द्वारा प्राप्त समय कारकों और त्रुटि संदेशों के आधार पर दूरस्थ पोर्ट की स्थिति का अनुमान लगाता है। विभिन्न विंडोज होस्ट और विभिन्न RPC प्रोटोकॉल के साथ प्रयोग करके, हम 3 अलग-अलग समय सीमाओं के साथ आए हैं जो अधिकांश नेटवर्क वातावरणों में काम करती साबित हुई हैं। ये सीमाएँ निम्नलिखित आकृति के साथ सबसे अच्छी तरह से चित्रित की गई हैं:

root@kitploit:~
                +                           +                 +     
                |                           |                 |
     unknown    |       open / closed       |     filtered    |  open
     /          |                           |                 |
     open       |                           |                 |
                |                           |                 |
  +-------------+------------------+-----------------+--------------+
  0            0.5                          20                40    Seconds
               MIN                        FILTERED           UPPER  

MIN सीमा 0.5 सेकंड है, इस सीमा से नीचे के उत्तर या तो अंतर्निहित RPC विधि या अंतर्निहित परिवहन में त्रुटि का संकेत देते हैं, या लक्ष्य होस्ट से कोई प्रतिक्रिया प्राप्त हो सकती है।

20 सेकंड की FILTERED सीमा से नीचे के उत्तर विधि के लिए प्राप्त त्रुटि संदेश के प्रकार के आधार पर या तो एक खुला या बंद पोर्ट संकेत दे सकते हैं।

40 सेकंड की FILTERED और UPPER सीमा के बीच के उत्तर सभी परीक्षण की गई विधियों के लिए (अब तक...) एक फ़िल्टर्ड पोर्ट का संकेत देते हैं। और UPPER सीमा से अधिक समय लेने वाले अनुरोध एक लंबी खुली TCP कनेक्शन का संकेत देते हैं।

OS समर्थन

विभिन्न OS संस्करणों और कॉन्फ़िगरेशन के विरुद्ध CornerShot निष्पादित करने से अलग-अलग परिणाम मिलेंगे। सभी Windows संस्करणों में समान नामित पाइप नहीं हैं या जब समान RPC विधि से क्वेरी की जाती है तो वे समान व्यवहार नहीं करते हैं। अधिकांश Windows OOTB नेटवर्क पर SMB और अन्य RPC सेवाओं को उजागर नहीं करेंगे, हालांकि, अनुभव से पता चला है कि बड़े वातावरणों में ये पोर्ट अधिकांश संपत्तियों के लिए खुले और सुलभ होते हैं।

निम्नलिखित तालिका विभिन्न RPC प्रोटोकॉल के लिए डिफ़ॉल्ट समर्थन दिखाती है, बशर्ते कि कैरियर होस्ट के लिए उपयुक्त पोर्ट सुलभ हों और होस्ट में कोई कॉन्फ़िगरेशन परिवर्तन न किए गए हों:

* यदि क्लाइंट मशीन पर Webclient सेवा चल रही है, तो अतिरिक्त पोर्ट स्कैन किए जा सकते हैं। वर्तमान में CornerShot इस विकल्प का समर्थन नहीं करता है।

** RPRN प्रोटोकॉल सर्वर होस्ट पर समर्थित है, हालांकि दूरस्थ वेब प्रिंटर खोलना काम नहीं करता है (यही कारण है कि हम किसी भी लक्ष्य पोर्ट को स्कैन नहीं कर सकते) - जब तक हम कोई कार्यप्रणाली नहीं खोज लेते 😉

डेवलपर्स

अतिरिक्त RPC शॉट्स, या कोई अन्य योगदान स्वागत है!

सभी RPC विधियाँ /shots के अंतर्गत कार्यान्वित की जाती हैं, और BaseRPCShot नामक एक सार वर्ग से विरासत प्राप्त करती हैं। /example फ़ोल्डर दिखाता है कि कस्टम RPC शॉट कैसे बनाया जाए और कोड में इसका उपयोग कैसे किया जाए।

लाइसेंस

CornerShot Apache 2.0 लाइसेंस के तहत जारी किया गया है। अधिक जानकारी के लिए LICENSE देखें।

हमसे संपर्क करें

हमें आपसे सुनकर खुशी होगी! बग, पैच, इस पैकेज पर सुझावों के लिए, कृपया हमसे [email protected] पर संपर्क करें।

टूल डाउनलोड करें
OSसमर्थित RPC प्रोटोकॉलआवश्यक खुले कैरियर पोर्टस्कैन करने के लिए संभावित लक्ष्य पोर्ट
Windows 7EVEN,EVEN6445 / 135 & even6 tcp पोर्ट445*
Windows 8EVEN,EVEN6445 / 135 & even6 tcp पोर्ट445*
Windows 10EVEN,EVEN6,RPRN445 / 135 & even6 tcp पोर्टकोई भी
Server 2008EVEN,EVEN6,RRP,RPRN**445 / 135 & even6 tcp पोर्ट445
Server 2012EVEN,EVEN6,RRP,RPRN**445 / 135 & even6 tcp पोर्ट445
Server 2016EVEN,EVEN6,RRP,RPRN**445 / 135 & even6 tcp पोर्ट445
Server 2019EVEN,EVEN6,RRP,RPRN**445 / 135 & even6 tcp पोर्ट445