
POSIX-अनुरूप, एक पूर्णतः स्वचालित WPA PSK PMKID और हैंडशेक कैप्चर स्क्रिप्ट जो पेनिट्रेशन टेस्टिंग के लिए है।
Airbash एक POSIX-अनुरूप, पूरी तरह से स्वचालित WPA PSK PMKID और हैंडशेक कैप्चर स्क्रिप्ट है जो पेनिट्रेशन परीक्षण के लिए लक्षित है। यह Bash और Android शेल (Kali Linux और Cyanogenmod 10.2 पर परीक्षित) के साथ संगत है और aircrack-ng का उपयोग करके उन क्लाइंट्स को स्कैन करता है जो वर्तमान में एक्सेस पॉइंट्स (AP) से जुड़े हुए हैं। फिर उन क्लाइंट्स को डीऑथेंटिकेट किया जाता है ताकि AP से पुनः कनेक्ट होने का प्रयास करते समय PMKID और/या हैंडशेक को कैप्चर किया जा सके। कैप्चर किए गए डेटा का सत्यापन hcxtools से hcxpcaptool और hcxpcapngtool का उपयोग करके किया जाता है जो ZeroBeat द्वारा है। यदि एक या अधिक PMKID और/या हैंडशेक कैप्चर किए जाते हैं, तो उन्हें कैप्चर के समय और वर्तमान GPS डेटा (यदि ठीक से कॉन्फ़िगर किया गया है) के साथ SQLite3 डेटाबेस में दर्ज किया जाता है।
कैप्चर के बाद, डेटाबेस को crackdefault.sh का उपयोग करके कमजोर राउटर मॉडलों के लिए परीक्षण किया जा सकता है।
यह उन प्रविष्टियों की खोज करेगा जो कार्यान्वित मॉड्यूल से मेल खाती हैं, जिनमें वर्तमान में Speedport 500-700 श्रृंखला, Thomson/SpeedTouch, UPC 7 अंक (UPC1234567) और HOTBOX राउटरों के लिए डिफ़ॉल्ट कुंजियों की गणना करने के लिए एल्गोरिदम शामिल हैं।
PMKID हमले के बारे में अधिक जानकारी के लिए, WPA/WPA2 पर PMKID का उपयोग करके नया हमला एक अच्छा पठन है।
मॉनिटर मोड में WiFi इंटरफ़ेस (Android पर यह bcmon का उपयोग करके प्राप्त किया जा सकता है यदि डिवाइस संगत है)
aircrack-ng (Android के लिए android_aircrack प्रीबिल्ट बाइनरीज़ का उपयोग किया जा सकता है)
SQLite3 (Android: CyanogenMod 10.2 पर डिफ़ॉल्ट रूप से स्थापित)
मॉड्यूल और hcxtools के संकलन के लिए openssl
PMKID और/या हैंडशेक का पता लगाने और hashcat प्रारूपों में रूपांतरण के लिए hcxtools से hcxpcaptool और hcxpcapngtool
एक्सेस पॉइंट्स के GPS निर्देशांक लॉग करने के लिए, अपने निर्देशांक लॉगिंग सॉफ़्टवेयर को .location/_.txt पर लॉग करने के लिए कॉन्फ़िगर करें (फ़ाइल का नाम इच्छानुसार चुना जा सकता है)। Airbash हमेशा cat "$path$loc"*.txt 2>/dev/null | sed '2q;d' के आउटपुट का उपयोग करेगा, जो .loc/ में सभी .txt फ़ाइलों को पढ़ने और दूसरी पंक्ति चुनने के बराबर है। इस कार्यान्वयन का कारण GPSLogger की कार्यक्षमता है, जिसका उपयोग विकास डिवाइस पर किया गया था।
एक नया PMKID या हैंडशेक कैप्चर करने के बाद, डेटाबेस को कमजोर राउटर मॉडलों के लिए क्वेरी किया जा सकता है। यदि कोई मॉड्यूल लागू होता है, तो इस राउटर श्रृंखला के लिए डिफ़ॉल्ट कुंजियों की गणना की जाती है और पासफ़्रेज़ को पुनर्प्राप्त करने का प्रयास करने के लिए aircrack-ng के इनपुट के रूप में उपयोग किया जाता है।
Thomson/SpeedTouch और UPC1234567 (7 यादृच्छिक अंक) डिफ़ॉल्ट कुंजियों की गणना करने के लिए मॉड्यूल src/ में शामिल हैं।
कोड का श्रेय लेखकों Kevin Devine और mailto:[email protected] को जाता है।
On Linux:
gcc -fomit-frame-pointer -O3 -funroll-all-loops -o modules/st modules/stkeys.c -lcrypto
gcc -O2 -o modules/upckeys modules/upc_keys.c -lcrypto
स्वचालित पहचान सक्षम करने के लिए, कृपया बाइनरीज़ को airbash/bin (निष्पादन के दौरान PATH में जोड़ा जाएगा) या PATH पर स्थित किसी निर्देशिका में ले जाएं।
यदि Android पर हैं, तो आपको बाइनरीज़ को /system/xbin/ या किसी अन्य निर्देशिका में कॉपी करने की आवश्यकता हो सकती है जहाँ बाइनरी निष्पादन की अनुमति है।
install.sh चलाने से डेटाबेस बनेगा, फ़ोल्डर संरचना तैयार होगी और दोनों स्क्रिप्टों के लिए शॉर्टलिंक बनेंगे जिन्हें $PATH पर स्थित किसी निर्देशिका में ले जाया जा सकता है ताकि किसी भी स्थान से निष्पादन की अनुमति मिल सके।
स्थापना के बाद, आपको airba.sh में पंक्ति 46 पर INTERFACE को मैन्युअल रूप से समायोजित करने की आवश्यकता हो सकती है। इसे बाद में स्वचालित रूप से निर्धारित किया जाएगा, लेकिन अभी के लिए डिफ़ॉल्ट wlan0 पर सेट है, ताकि Android पर bcmon के साथ आउट ऑफ द बॉक्स संगतता की अनुमति मिल सके।
./airba.sh स्क्रिप्ट शुरू करता है, स्वचालित रूप से उन लक्ष्यों को स्कैन और हमला करता है जो डेटाबेस में नहीं पाए जाते हैं।
./crackdefault.sh ज्ञात डिफ़ॉल्ट कुंजी एल्गोरिदम को तोड़ने का प्रयास करता है।
डेटाबेस सामग्री देखने के लिए, मुख्य निर्देशिका में sqlite3 .db.sqlite3 "SELECT * FROM hs" चलाएँ।
Airbash को update.sh चलाकर अपडेट किया जा सकता है। यह master branch को /tmp/ में क्लोन करेगा और स्थानीय फ़ाइलों को अधिलेखित कर देगा।
_n: पाए गए एक्सेस पॉइंट्स की संख्या
__c/m: क्रमशः क्लाइंट संख्या और पाए गए क्लाइंट्स की अधिकतम संख्या को दर्शाता है
-: एक्सेस पॉइंट ब्लैकलिस्टेड है
x: एक्सेस पॉइंट पहले से डेटाबेस में है
?: एक्सेस पॉइंट रेंज से बाहर है (अब airodump को दिखाई नहीं देता)
डेटाबेस में captures नामक एक तालिका है जिसमें सात कॉलम हैं।
id: तालिका प्रविष्टियों का वृद्धिशील काउंटर
latitude और longitude: हैंडशेक के GPS निर्देशांक (यदि उपलब्ध हो)
bssid: एक्सेस पॉइंट का MAC पता
essid: नाम पहचानकर्ता
pmkid: WPA PMKID, यदि कैप्चर किया गया हो
psk: WPA पासफ़्रेज़, यदि ज्ञात हो
processed: वह फ़्लैग जो crackdefault.sh द्वारा सेट किया जाता है ताकि यदि कस्टम पासफ़्रेज़ का उपयोग किया गया हो तो डिफ़ॉल्ट कुंजियों की डुप्लिकेट गणना को रोका जा सके।
वर्तमान में, SQLite3 डेटाबेस पासवर्ड-सुरक्षित नहीं है।
योगदान का स्वागत है, विशेष रूप से अधिक डिफ़ॉल्ट कुंजियों को क्रैक करने में सक्षम होने के लिए अतिरिक्त मॉड्यूल। एक टेम्पलेट मॉड्यूल शामिल है modules/ में। crackdefault.sh में नए मॉड्यूल को शामिल करने के लिए एक टेम्पलेट elif स्टेटमेंट है।
यदि आप योगदान देना चाहते हैं, तो सुनिश्चित करें कि आपका कोड MIT लाइसेंस के तहत लाइसेंस प्राप्त है (इस प्रोजेक्ट की तरह)। शेल स्क्रिप्ट में योगदान करते समय, कृपया सुनिश्चित करें कि कोड POSIX-अनुरूप है। इसके अलावा, बस एक मुद्दा खोलें जिसमें परिवर्तनों का संक्षेप में वर्णन हो और एक पुल रिक्वेस्ट बनाएं!