
फायरकैट एक पैठ परीक्षण उपकरण है जो आपको एक समझौता किए गए नेटवर्क से रिवर्स TCP टनल बनाने की अनुमति देता है।
अधिक जानकारी के लिए, देखें:
http://www.bishopfox.com/resources/tools/other-free-tools/firecat/
Firecat एक पैनेट्रेशन टेस्टिंग टूल है जो आपको किसी समझौता किए गए नेटवर्क से रिवर्स TCP टनल निकालने की अनुमति देता है। टनल स्थापित होने के बाद, आप बाहरी होस्ट से समझौता किए गए नेटवर्क के अंदर किसी भी सिस्टम के किसी भी पोर्ट से कनेक्ट कर सकते हैं, भले ही नेटवर्क NAT गेटवे और/या सख्त फ़ायरवॉल के पीछे हो। यह कई उद्देश्यों के लिए उपयोगी हो सकता है, जिसमें समझौता किए गए वेब सर्वर के आंतरिक नेटवर्क NAT’d IP पते (जैसे 192.168.1.10) तक रिमोट डेस्कटॉप एक्सेस प्राप्त करना शामिल है।
Firecat C में लिखा गया है और इसका परीक्षण Linux, Solaris, iOS, Mac OS X, और Windows XP/Vista/2k/2k3/2k8 पर किया गया है।
MinGW का उपयोग करके Windows पर कंपाइल करने के लिए:
gcc –o firecat.exe firecat.c –lwsock32
Unix पर कंपाइल करने के लिए:
gcc –o firecat firecat.c
लगभग एक दशक पीछे जाएँ और आपको याद होगा कि ऐसे होस्ट मिलना आम बात थी जो इंटरनेट से ठीक से फ़ायरवॉल किए हुए नहीं थे (या बिल्कुल नहीं थे)। आप किसी होस्ट से समझौता कर सकते थे, शेलकोड को एक पोर्ट से बाइंड कर सकते थे, और netcat या किसी अन्य टूल का उपयोग करके टार्गेट का इंटरैक्टिव कमांड-लाइन नियंत्रण ले सकते थे।
आजकल चीज़ें अलग हैं। अक्सर ऐसा होता है कि किसी होस्ट के लिए निर्धारित TCP/IP पैकेट इनग्रेस फ़ायरवॉल नियमों द्वारा सख्ती से फ़िल्टर किए जाते हैं। अक्सर मामला इस तथ्य से और जटिल हो जाता है कि टार्गेट होस्ट NAT गेटवे के पीछे स्थित होता है:
सख्त फ़ायरवॉल नियम टार्गेट वातावरण के अटैक सरफेस को कम करते हैं, लेकिन SQL इंजेक्शन जैसे हमले अभी भी सबसे सख्ती से फ़ायरवॉल किए गए सर्वरों पर भी मनमाना कोड निष्पादित करना संभव बनाते हैं। हालाँकि, जब तक कंसल्टेंट फ़ायरवॉल का नियंत्रण भी नहीं ले सकता और नियमसेट को बदल नहीं सकता, तब तक फ़ायरवॉल द्वारा अनुमत सेवाओं के अलावा आंतरिक नेटवर्क सेवाओं से सीधे कनेक्ट करना असंभव है।
यहीं पर Firecat काम में आता है। यह मानते हुए कि आप DMZ में किसी होस्ट पर कमांड निष्पादित कर सकते हैं और यह भी मानते हुए कि होस्ट कंसल्टेंट के कंप्यूटर तक आउटबाउंड TCP/IP कनेक्शन शुरू कर सकता है, Firecat कंसल्टेंट के लिए टार्गेट होस्ट के किसी भी पोर्ट से, और अक्सर DMZ के अंदर किसी भी होस्ट के किसी भी पोर्ट से कनेक्ट करना संभव बनाता है। यह फ़ायरवॉल के माध्यम से एक रिवर्स TCP टनल बनाकर और टनल का उपयोग कंसल्टेंट और टार्गेट वातावरण के होस्ट्स के बीच मनमाने TCP कनेक्शनों को ब्रोकर करने के लिए करता है। DMZ नेटवर्कों में मनमानी TCP/IP टनल बनाने के अलावा, इसका उपयोग वेब या SQL सर्वर जैसे समझौता किए गए DMZ होस्ट्स से कनेक्ट-बैक शेल निकालने के लिए भी किया जा सकता है।
यह इसलिए काम करता है क्योंकि टार्गेट सिस्टम ही वह है जो कंसल्टेंट के पास वापस TCP कनेक्शन शुरू करता है, न कि इसके विपरीत। Firecat टार्गेट पर “target” मोड में और कंसल्टेंट के सिस्टम पर “consultant” मोड में चलता है, प्रभावी रूप से दोनों एंडपॉइंट्स के बीच एक टनल बनाता है। टनल स्थापित होने के बाद, कंसल्टेंट अपने लोकल Firecat डेमन से कनेक्ट होता है, जो रिमोट Firecat डेमन को फ़ायरवॉल के पीछे वांछित होस्ट/पोर्ट से कनेक्शन शुरू करने का निर्देश देता है। फिर दोनों Firecat डेमन कंसल्टेंट और टार्गेट के बीच डेटा को टनल करके दोनों सिस्टमों के बीच एक सहज, पारदर्शी ब्रिज बनाते हैं; इस प्रकार फ़ायरवॉल नियमों को पूरी तरह से बायपास करते हैं। Firecat NAT फ़ायरवॉल के पीछे के होस्ट्स पर भी काम करता है।
तार्किक चरणों में विभाजित करके, और आरेखों में दिए गए IP पतों का उपयोग करते हुए, यह प्रक्रिया इस प्रकार काम करती है: