
Script and hardware kit to automatically deauth 802.11 clients en masse. Captures packets for later nefariousness.
802.11 क्लाइंट्स को सामूहिक रूप से स्वचालित रूप से डीऑथ करने की स्क्रिप्ट। बाद में दुर्भावनापूर्ण गतिविधियों के लिए पैकेट कैप्चर करता है। आपकी स्थानीय कॉफी शॉप में बातचीत शुरू करने का शानदार तरीका।
यह स्क्रिप्ट रास्पबेरी पाई 3 या उससे ऊपर पर चलाने के लिए डिज़ाइन की गई है। यह समान या अधिक क्षमताओं वाले समान हार्डवेयर पर भी चलेगी, निश्चित रूप से।
स्क्रिप्ट को प्रभावी ढंग से चलाने के लिए काफी अतिरिक्त किट की आवश्यकता होती है। आपको इसकी भी आवश्यकता होगी:
अधिकतम प्रभावशीलता के लिए, आपके पास यह भी होना चाहिए:
मैं व्यक्तिगत रूप से SSH के माध्यम से इस तरह के किट को नियंत्रित करने के लिए अपने मोबाइल फोन पर Hacker's Keyboard के साथ ConnectBot का उपयोग करता हूं। यह सबसे कम ध्यान आकर्षित करता है और आपकी जेब में फिट हो जाता है।
मेरा सुझाव है कि डिवाइस को आपके द्वारा होस्ट किए गए VPN से स्वचालित रूप से कनेक्ट करने के लिए कॉन्फ़िगर किया जाए, ताकि किसी भी रूटिंग/NAT समस्या से बचा जा सके। क्लाउड होस्ट पर OpenVPN सेट अप करना इसे प्राप्त करने का सबसे आसान तरीका है। OpenVPN के client-to-client सर्वर कॉन्फ़िगरेशन निर्देश का उपयोग करना सुनिश्चित करें, या अन्यथा फ़ॉरवर्डिंग कॉन्फ़िगर करें।
आपको इंटरनेट से डिवाइस को जोड़ने के लिए वाईफाई के अलावा किसी अन्य विधि की आवश्यकता होगी, स्पष्ट रूप से। सेलुलर एक्सेस सबसे सरल उम्मीदवार है। जब तक आप दूरस्थ रूप से डिवाइस से पैकेट कैप्चर खींचना नहीं चाहते, बहुत कम बैंडविड्थ (<100Kib/s) की आवश्यकता होती है। आप एक सस्ती "असीमित" डेटा योजना का उपयोग कर सकते हैं जो कुछ डेटा के उपयोग के बाद आपकी गति को प्रतिबंधित करती है।
सेलुलर पर OpenVPN चलाते समय मुझे MTU समस्याओं का सामना करना पड़ा है। सबसे आसान उपाय यह है कि आप अपने MTU को ip link set dev tunX mtu 1200 से 1200 पर सेट करें, जहां tunX आपका tun डिवाइस है। आपको अपने नेटवर्क के आधार पर एक अलग MTU का उपयोग करना पड़ सकता है।
आपके विशिष्ट कॉन्फ़िगरेशन के आधार पर, कनेक्टेड USB डिवाइस रास्पबेरी पाई द्वारा अपने सामान्य माध्यमों से प्रदान की जा सकने वाली बिजली से अधिक खींच सकते हैं। ऊपर बताए गए USB पावर्ड हब का उपयोग करने से आप बैटरी पर दूसरे USB पोर्ट के माध्यम से रेडियो को पावर दे सकेंगे। कुछ सस्ते USB हब रास्पबेरी पाई पर हब को "बैक-पावर" करेंगे। यह तब तक उपयुक्त है जब तक आप अच्छी गुणवत्ता वाली बैटरी का उपयोग कर रहे हैं, और उपयोगी भी है।
एक और समाधान इस तरह स्प्लिटर का उपयोग करके USB हब को अतिरिक्त बिजली प्रदान करना है। यह काम करता है, लेकिन मैं इसकी अनुशंसा नहीं करता। यह एक और चीज है जो गलती से डिस्कनेक्ट हो सकती है, और अन्यथा व्यवस्थित करना अव्यवस्थित है।
यदि आप एक टेथर्ड सेल फोन के माध्यम से रिमोट कंट्रोल प्रदान कर रहे हैं, तो यदि संभव हो तो आपको यह सुनिश्चित करना चाहिए कि किट शुरू करते समय बैटरी पूरी तरह से चार्ज हो। कुछ सस्ते डिवाइस निरंतर डेटा कनेक्शन द्वारा खपत की गई बिजली को बनाए रखने के लिए पर्याप्त करंट नहीं खींच सकते हैं।
कई रेडियो, रास्पबेरी पाई और सेल्युलर मॉडम का संयोजन बहुत गर्म हो जाएगा। Panda PAU06 विशेष रूप से गर्म चलते हैं। यदि आपको गर्मी से कोई आपत्ति नहीं है, तो आप पिघले हुए रेडियो या उससे भी बदतर स्थिति में समाप्त हो सकते हैं। अपने चुने हुए बैग/आवरण के साथ पहले से कमरे के तापमान पर एक परीक्षण रन करें, ताकि यह सुनिश्चित हो सके कि यह उपयुक्त गर्मी अपव्यय प्रदान करता है। यदि आपको गर्म वातावरण में किट का उपयोग करना है, जैसे कि गर्म दिन में वाहन के अंदर, ओवरहीटिंग को रोकने के लिए कुछ अतिरिक्त कदम उठाएं। वाहन के मामले में, ए/सी के लिए जलवायु नियंत्रण सेट करना और रुक-रुक कर वाहन को रिमोट स्टार्ट करना पर्याप्त होगा।
कुछ सस्ते सेल फोन अतिरिक्त गियर और नियमित रूप से डेटा संचारित करने की आवश्यकता के संयोजन के कारण ओवरहीटिंग के लिए प्रवण होते हैं। वे इन परिस्थितियों में बंद हो सकते हैं, जिससे रिमोट कंट्रोल अक्षम हो जाता है। फोन को बाकी किट से अलग डिब्बे में रखने से मदद मिलेगी, लेकिन आप एक अलग डिवाइस का उपयोग करने में बेहतर हैं।
यदि आप किट को गुप्त रूप से संचालित करने का इरादा रखते हैं, तो ध्यान रखें कि गर्मी अप्रत्याशित तरीकों से ध्यान आकर्षित कर सकती है। यदि इसे बर्फीले दिन में वाहन के डैशबोर्ड पर छोड़ दिया जाता है, तो यह बर्फ और बर्फ को पिघला देगा। विंडशील्ड पर एक अच्छा गोल साफ स्थान होगा, जो किट को दृश्य में केंद्रित करेगा, जहां बाकी सब कुछ बर्फ से ढका हुआ है!
Wisp इंस्टॉल निर्देश rpi-install.md में विस्तृत हैं। गैर-रास्पियन सिस्टम के लिए चरण समान होने चाहिए। Wisp डीऑथ फ्रेम संचारित करने के लिए aircrack-ng से aireplay-ng पर निर्भर करता है। विशेष रूप से, आपको डिवाइस के लिए Python-3.7.1 बनाने की आवश्यकता होगी, जो rpi-install.md फ़ाइल में भी वर्णित है।
Wisp एक अन्य छोटे C प्रोग्राम पर निर्भर करता है जिसे dream कहा जाता है। स्रोत dream.c के रूप में शामिल है। Dream libpcap पर निर्भर करता है।
अपने डिवाइस के लिए dream को कमांड gcc -O3 dream.c -lpcap से कंपाइल करें।
Dream 802.11 ट्रैफिक की निगरानी के लिए एक उपकरण है जिसमें लाइन-ग्रेपेबल आउटपुट होता है। यह कैप्चर किए गए ट्रैफिक को मानक pcap प्रारूप में फ़ाइलों में भी सहेजता है। Wisp प्रत्येक मॉनिटरिंग रेडियो के लिए dream को कॉल करता है और क्लाइंट ट्रैफिक के लिए आउटपुट को पार्स करता है। इसके तर्क इस प्रकार हैं:
--a: केवल संबद्ध क्लाइंट से ट्रैफिक रिपोर्ट करें। (सभी पैकेट अभी भी डिस्क पर लॉग किए जाते हैं यदि --d सक्षम है।)--d (file): पैकेट को निर्दिष्ट फ़ाइल में डंप करें।-[b][c][d][f][s][t]: निर्दिष्ट करता है कि प्रति पंक्ति कौन से फ़ील्ड आउटपुट करने हैं, विशेष रूप से:
b: BSSc: चैनल नंबर।d: डिवाइस का नाम जिसने पैकेट प्राप्त किया।f: आवृत्ति।s: स्टेशन (STA)।t: Pcap टाइमस्टैम्प।ये फ़ील्ड हमेशा एक ही क्रम में मुद्रित होते हैं, भले ही निर्दिष्ट क्रम कुछ भी हो। (अर्थात, -bcst -sctb के बराबर है।)
Wisp कॉन्फ़िगरेशन के लिए wisp.json नामक एक json फ़ॉर्मेट की गई फ़ाइल पढ़ता है। यहाँ कुंजियों का विवरण दिया गया है:
monitors: मॉनिटर के रूप में कॉन्फ़िगर किए जाने वाले उपकरणों की सूची शामिल है। प्रत्येक उपकरण में उनके विशिष्ट कॉन्फ़िगरेशन का वर्णन करने वाले उप-कुंजियाँ होती हैं:
channel: डिवाइस के लिए मॉनिटर करने का चैनल।injector: डीऑथ फ्रेम इंजेक्ट करने के लिए कॉन्फ़िगर किया जाने वाला उपकरण।timing: कई टाइमिंग पैरामीटर सूचीबद्ध करता है, सभी मिलीसेकंड में दिए गए हैं:
delay: प्रति क्लाइंट भेजे गए डीऑथ पैकेट के बीच का विलंब।jitter: दिए गए सीमा में यादृच्छिक मात्रा द्वारा विलंब समय को संशोधित करता है।stale: क्लाइंट को विलंब सूची से हटाने से पहले उसे न देखे जाने का समय। जब तक यह विलंब समय सीमा के करीब न हो, तब तक इसका बहुत कम व्यावहारिक प्रभाव होता है।सभी पैरामीटर wisp.json से लोड किए जाते हैं, इसलिए wisp को बस इस प्रकार आमंत्रित किया जाता है: python3 ./wisp.py
Wisp स्वचालित रूप से wisp.json में वर्णित अनुसार रेडियो को कॉन्फ़िगर करेगा। यह rfkill को अक्षम करेगा और किसी भी हस्तक्षेप करने वाली प्रक्रिया को मार देगा, जो airmon-ng के व्यवहार के समान है।
Wisp निर्दिष्ट उपकरणों का नाम wispX प्रारूप के साथ बदलता है जहां X phy से संबंधित संख्या है। यह बाहर निकलने पर उपकरणों का नाम वापस उनके मूल नामों में बदल देगा।
Wisp प्रत्येक भेजे गए डीऑथ के लिए एक . आउटपुट करता है। यह सुनिश्चित करने का एक सरल और प्रभावी तरीका है कि यह अपेक्षित रूप से काम कर रहा है।
Wisp (dream के माध्यम से) उस रेडियो (phy) के नाम के साथ उपसर्ग किए गए pcap फ़ाइलें आउटपुट करेगा जिसने पैकेट कैप्चर किए, एक यादृच्छिक हेक्साडेसिमल स्ट्रिंग के साथ, .cap में समाप्त होता है। उदाहरण के लिए, phy0-8cf9ec5ca146943f.cap जैसा कुछ। फिर आप pcap फ़ाइलों के लिए किसी भी नियमित उपकरण के साथ उनका निरीक्षण, पार्स और हेरफेर कर सकते हैं।