
Opensvp is a security tool implementing "attacks" to be able to test the resistance of firewall to protocol level attack.
Opensvp एक सुरक्षा उपकरण है जो फ़ायरवॉल के प्रोटोकॉल स्तर के आक्रमणों के प्रतिरोध का परीक्षण करने के लिए "आक्रमण" लागू करता है। यह क्लासिक आक्रमणों के साथ-साथ एप्लिकेशन लेयर गेटवे (नेटफ़िल्टर की दुनिया में हेल्पर कहा जाता है) के विरुद्ध कुछ नए प्रकार के आक्रमणों को लागू करता है।
उदाहरण के लिए, opensvp कुछ स्थितियों में (विवरण के लिए नीचे स्पष्टीकरण देखें) ftp सर्वर की सुरक्षा करने वाले फ़ायरवॉल में पिन होल खोलने में सक्षम है: भले ही फ़िल्टरिंग नीति गारंटी देती हो कि सर्वर पर केवल पोर्ट 21 खुला है, आप opensvp का उपयोग करके सर्वर पर 'कोई भी' पोर्ट खोल सकते हैं।
मान लीजिए 192.168.2.3 एक सर्वर है जो ftp चला रहा है, फ़ायरवॉल के पीछे स्थित है। यदि उपयोगकर्ता, रूट के रूप में, निम्नलिखित चलाता है::
opensvp --attacker -t 192.168.2.3 --helper ftp --port 23 -v -i eth0
तो उसके पास फ़ायरवॉल नियमों से स्वतंत्र रूप से सर्वर के पोर्ट 23 पर अस्थायी पहुंच होगी।
दस्तावेज़ "Secure use of iptables and connection tracking helpers" https://home.regit.org/netfilter-en/secure-use-of-helpers/ इस प्रकार के आक्रमण से सुरक्षा विधि का वर्णन करता है।
कार्यान्वित आक्रमण के सटीक विवरण के लिए निम्नलिखित अध्याय देखें।
eth0 इंटरफ़ेस के माध्यम से फ़ायरवॉल से सीधे जुड़े नेटवर्क पर होने के कारण, हमलावर निम्नलिखित कमांड चला सकता है::
opensvp --attacker -t 192.168.2.3 --helper ftp --port 23 -v -i eth0
192.168.2.3 FTP सर्वर का पता है और 23 वह पोर्ट है जिसे हम सर्वर पर खोलना चाहते हैं।
सफल आक्रमण के बाद पोर्ट 23 पर 192.168.2.3 से जुड़ना संभव है।
क्लाइंट के लिए एक जाली कमांड संदेश भेजना संभव है जिसे फ़ायरवॉल द्वारा संभावित गतिशील कनेक्शन खोलने के रूप में व्याख्या किया जाता है।
आक्रमण भेजने के लिए एक मानक सर्वर का उपयोग करना संभव है, लेकिन एक कस्टम सर्वर के साथ आप संभावित NAT गेटवे द्वारा किए गए रूपांतरण को जान पाएंगे।
एक विशिष्ट सत्र निम्नलिखित है। IP पता 1.2.3.4 वाले सर्वर पर, आप चला सकते हैं::
$ opensvp --server --helper irc -v
क्लाइंट पर, आप फिर चला सकते हैं::
$ opensvp --client -t 1.2.3.4 --helper irc --port 23 -v 2.3.4.5:23 should be opened from outside
सर्वर पर, निम्नलिखित संदेश प्रदर्शित होता है::
You should be able to connect to 2.3.4.5:23
यहाँ 2.3.4.5 क्लाइंट का सार्वजनिक पता है।
हमलावर पर, आपको opensvp शुरू करना होगा और बताना होगा कि किस Netfilter कतार का उपयोग किया गया है और आउटपुट इंटरफ़ेस क्या है::
फिर आपको उस ट्रैफ़िक को userspace पर ले जाने के लिए iptables का उपयोग करना होगा जिसे आप प्रोटोकॉल पहचान तंत्र से छिपाना चाहते हैं::
iptables -I INPUT -p tcp --sport 443 -j NFQUEUE iptables -I OUTPUT -p tcp --dport 443 -j NFQUEUE
जब आप कर लें, तो आक्रमण प्रक्रिया को बाधित करने के लिए CTRL+C दबाएं।
कुछ नेटवर्क प्रोटोकॉल क्लाइंट और सर्वर के बीच आदान-प्रदान के लिए कई कनेक्शनों का उपयोग करते हैं। सबसे ज्ञात उदाहरण ftp है जहां कमांड पोर्ट 21 पर कनेक्शन से गुजरती है और डेटा आदान-प्रदान दो अलग-अलग मोड (पोर्ट 20 से कनेक्शन या गतिशील कनेक्शन) के साथ किया जाता है।
कुछ फ़ायरवॉल कार्यान्वयन एप्लिकेशन लेयर गेटवे (ALG) लागू करते हैं जो इस समानांतर कनेक्शन का पता लगाने और उन्हें गतिशील रूप से अधिकृत करने में सक्षम होते हैं। अन्य समाधान एप्लिकेशन रिले (पारदर्शी प्रॉक्सी) का उपयोग करना या सभी संभावित प्रवाह को खोलना (लगभग सब कुछ पढ़ना) है।
ALG ट्रैफ़िक का विश्लेषण करता है और समानांतर कनेक्शन के मापदंडों की घोषणा करने के लिए सहकर्मियों के बीच भेजे गए कमांड का पता लगाता है और उन्हें पार्स करता है। एक बार ऐसा करने के बाद वे फ़ायरवॉल में अस्थायी पिन होल खोलते हैं ताकि संभावित ट्रैफ़िक गुज़र सके।
इस आक्रमण का विचार इस प्रकार के संदेशों को गढ़ना है ताकि फ़ायरवॉल में पिन होल खोले जा सकें, लेकिन ऐसे पिन होल जो नहीं खोले जाने चाहिए थे।
शर्तें:
चलचित्र निम्नलिखित है:
हमलावर नेटवर्क पर स्निफ़र प्रोटोकॉल प्रवाह से एक पैकेट कैप्चर करता है
जाली पैकेट फ़ायरवॉल से जुड़े इंटरफ़ेस पर भेजा जाता है
फ़ायरवॉल पैकेट को क्लाइंट को वापस भेजता है और अब हमलावर इनपुट के आधार पर विशेषताओं वाले पैकेट की उम्मीद कर रहा है
यह आक्रमण वर्णित सिद्धांत का प्रत्यक्ष अनुप्रयोग है। एक बार डेटा पैकेट प्राप्त हो जाने पर, हमलावर एक जाली DCC कमांड भेजता है।
इस आक्रमण में, क्लाइंट कनेक्शन हमलावर द्वारा खोला जाता है। वह फ़ायरवॉल के पीछे ftp सर्वर से जुड़ता है और एक वास्तविक कनेक्शन शुरू करता है। एक बार सत्र स्थापित हो जाने पर, वह एक जाली 227 कमांड भेजकर आक्रमण शुरू करता है।
यदि IPv6 का उपयोग किया जाता है, तो वही आक्रमण जाली 229 कमांड के साथ किया जाता है।
संभावित लक्ष्य
इन आक्रमणों के बारे में मुख्य बाधा यह है कि हमलावर को फ़ायरवॉल से सीधे जुड़े नेटवर्क पर होना चाहिए।
इस प्रकार, मुख्य संभावनाएं हैं:
* उपयोगकर्ता LAN से आक्रमण
* होस्टिंग फार्म में आक्रमण
दोनों ही मामलों में हमलावर को असुरक्षित सेवाओं तक पहुंच देकर गंभीर जानकारी का खुलासा हो सकता है।
Linux
~~~~~
यह आक्रमण IPv4 Netfilter फ़ायरवॉल पर काम करने के लिए जाना जाता है यदि rp_filter को 0 पर सेट किया गया है (उम्मीद है कि यह डिफ़ॉल्ट मान नहीं है)।
IPv6 के लिए वर्तमान में कोई रिवर्स पाथ फ़िल्टरिंग कार्यान्वयन नहीं है, इसलिए फ़ायरवॉल सुरक्षित नहीं है और सुरक्षा को फ़ायरवॉल नियमों में स्थापित करना होगा (अगला अध्याय देखें)।
कुछ फ़ायरवॉल सॉफ्टवेयर असुरक्षित माने जाते हैं:
* fwbuilder: एक विशिष्ट नीति स्थापित करनी होगी
* shorewall: हाल के संस्करण समस्या को ठीक करते हैं
* edenwall: असुरक्षित
आक्रमण गेटवे और स्थानीय फ़ायरवॉल दोनों के लिए काम करता है। स्थानीय फ़ायरवॉल पर, FORWARD फ़िल्टरिंग सक्रिय होनी चाहिए और इस श्रृंखला पर ESTABLISHED ACCEPT नियम स्थापित होना चाहिए। यह वर्चुअल मशीन चलाने वाले सिस्टम का मामला हो सकता है।
आक्रमण से बचाव
==========================
Linux
-----
इस विषय पर समर्पित निम्नलिखित दस्तावेज़ देखें: https://home.regit.org/netfilter-en/secure-use-of-helpers/
अन्य OS और डिवाइस
--------------------
मूल आवश्यकता सख्त एंटी-स्पूफिंग को सक्रिय करना और यदि संभव हो तो ALG के लोडिंग को नियंत्रित करना है।