
VPNPivot टूल का उपयोग करके नेटवर्क का अन्वेषण करें
कभी-कभी हम बाहरी पेनिट्रेशन टेस्टिंग करते हैं और जब हम रिमोट टार्गेट से समझौता कर लेते हैं तो हम उसके पीछे के आंतरिक नेटवर्क का पता लगाना चाहते हैं और ऐसे समझौते को प्राप्त करना चाहते हैं जैसे एक्टिव डायरेक्टरी पर कब्जा करना, शेयर की गई फ़ाइलों तक पहुँचना, MITM हमले करना ... आदि। पोर्ट फ़ॉरवर्डिंग, socks4 ... जैसी कई तकनीकें हैं, लेकिन प्रत्येक के अपने फायदे और नुकसान हैं। यही कारण है कि VPN पिवटिंग तकनीक सामने आती है, यह ऊपर उल्लिखित दोनों तकनीकों के उपयोग से होने वाली सभी समस्याओं को हल करती है। यह आपको फ़ायरवॉल, NATs ... आदि द्वारा अवरुद्ध आंतरिक नेटवर्क के साथ बातचीत करने देती है।
यह Linux में टैप डिवाइस के भीतर शुद्ध लो-लेवल सॉकेट का उपयोग करके VPN pivoting तकनीक का एक कार्यान्वयन है। यह लक्ष्य मशीन और हमलावर के बीच SSL/TLS का उपयोग करके पूरी तरह से एन्क्रिप्टेड टनल बनाता है।
VPN Pivot TCP स्ट्रीम सॉकेट पर पूरी तरह से एन्क्रिप्टेड TCP/IP स्टैक भेजता और प्राप्त करता है, फिर पीयर इसे वांछित डिवाइस/होस्ट पर अग्रेषित करते हैं। हमलावर आंतरिक नेटवर्क का पता लगाता है जैसे कि वह उसी का हिस्सा हो, एक स्थानीय IP पते के साथ जो DHCP सर्वर से लिया गया हो या स्थिर रूप से कॉन्फ़िगर किया गया हो।
yaourt -S vpnpivot-git
इंस्टॉलेशन काफी सरल है, बस निम्नलिखित कमांड टाइप करें:
root@pwnies:~# git clone https://github.com/0x36/VPNPivot.git
root@pwnies:~# cd VPNPivot
root@pwnies:~/VPNPivot# ./autogen.sh
root@pwnies:~/VPNPivot# ./configure
root@pwnies:~/VPNPivot# make && make install
VPNPivot सर्वर को हमलावर मशीन पर चलाया जाना चाहिए, यह MAC बदलने की संभावना के साथ एक वर्चुअल डिवाइस (tap) बनाता है (जो स्पूफिंग और मैक स्विचिंग के लिए ठीक लगता है), IP पता, MTU और इंटरफ़ेस का मालिक भी। TAP डिवाइस लक्ष्य मशीन के साथ इंटरैक्ट करता है, यह कच्चे ईथरनेट फ्रेम भेजता/प्राप्त करता है। एक बार हमलावर को सफलतापूर्वक टनल कनेक्शन मिल जाता है, तो tap डिवाइस हैक किए गए आंतरिक नेटवर्क के DHCP सर्वर के साथ बातचीत कर सकता है, ब्रॉडकास्ट पैकेट प्राप्त/भेज सकता है, और IP पतों का पुन: उपयोग भी कर सकता है।
pivots के साथ काम करना बहुत आसान है, आपको केवल यह जानने की आवश्यकता है कि प्रत्येक विकल्प क्या करता है:
root@pwnies:~/VPNPivot# ./src/pivots -h
__ _______ _ _ _____ _ _
\ \ / / __ \| \ | | __ (_) | |
\ \ / /| |__) | \| | |__) |__ _____ | |_
\ \/ / | ___/| . ` | ___/ \ \ / / _ \| __|
\ / | | | |\ | | | |\ V / (_) | |_
\/ |_| |_| \_|_| |_| \_/ \___/ \__|
VPNPivot server v1.0 by Simo36
-i --iface <device> Create a non persistent tap device
-I --ifconf <ip/mask> Inteface configuration (IP/MASK)
-p --port <port> Server port listener (default: 12345)
-m --mtu <size> Virtual devince MTU size (default: 1550)
-u --user <user> User device owner (OPTIONAL)
-H --hw <MAC> Set MAC address for the iface
-C --cert <server_cert> Filename of PEM certificate
-P --pkey <private_key> Filename of PEM private key
-v --verbose Verbose mode
-d Deamonize
root@pwnies:~/VPNPivot#
उपरोक्त सभी विकल्प वैकल्पिक हैं, लेकिन उन्हें समझाना उचित है, भले ही उनके विवरण स्वयं-व्याख्यात्मक हों:
VPN Pivot क्लाइंट को लक्ष्य मशीन पर चलाया जाना चाहिए, यह दो सॉकेट फ़ाइलें बनाता है, पहली टनल के लिए क्लाइंट के रूप में और दूसरी डिवाइस नेटवर्क के साथ सीधे बातचीत करने के लिए। यह इस तरह काम करता है जैसे हम एक अज्ञात टैप डिवाइस बना रहे हैं जिसका पता लगाना कठिन है।
pivotc के साथ काम करना सर्वर से भी आसान है, आपको केवल भ्रमित नहीं होने की आवश्यकता है जब आप इसे pivots से कनेक्ट करने का प्रयास कर रहे हों:
root@pwnies:~/VPNPivot# ./src/pivotc
Usage :
./src/pivotc <server IP> <server port> <locale IP> [MTU]
root@pwnies:~/VPNPivot#
विकल्प हैं:
लाइव डेमो से बेहतर कुछ नहीं है, यही कारण है कि मैंने एक वीडियो बनाया, जिसमें VPNPivot के मूल उपयोग की व्याख्या की गई है, और वीडियो यूट्यूब पर है।
बस इतना ही! pwning का आनंद लें :-) चियर्स