
फिशिंग डोमेन के खिलाफ एक कम (शून्य) लागत वाला खतरा खुफिया और प्रतिक्रिया उपकरण
Jeopardize उपकरण न्यूनतम संभव लागत पर फिशिंग डोमेन के खिलाफ बुनियादी खतरा खुफिया और प्रतिक्रिया क्षमताएं प्रदान करने के लिए विकसित किया गया है। यह पंजीकृत फिशिंग डोमेन उम्मीदवारों (टाइपोस्क्वाटिंग, होमोग्राफ आदि) का पता लगाता है, उनका विश्लेषण करता है और उन्हें एक जोखिम स्कोर प्रदान करता है। फिर, यह उन फिशिंग साइटों पर लॉगिन फॉर्म में वैध दिखने वाली क्रेडेंशियल्स भेजता है।
क्यों? इस परिदृश्य की कल्पना करें: हमलावर एक फिशिंग डोमेन पंजीकृत करता है, acmebnak.com (acmebank का टाइपोस्क्वाटिंग), मूल acmebank.com के लॉगिन फॉर्म को वहां कॉपी करता है और इस डोमेन का विज्ञापन प्रायोजित ट्वीट्स के माध्यम से करता है। यह विज्ञापन और डोमेन संभवतः अगले दिन फिशिंग के रूप में चिह्नित हो जाएंगे, लेकिन हमलावर पहले ही उपयोगकर्ताओं से क्रेडेंशियल्स प्राप्त कर चुका होगा। इसके बाद इसे हटाने से प्रभावित उपयोगकर्ताओं को मदद नहीं मिलेगी। Jeopardize इस समस्या का एक सक्रिय समाधान प्रदान करता है। यह हमलावर को भ्रमित करने के लिए फिशिंग फॉर्म को वैध दिखने वाली क्रेडेंशियल्स से खतरे में डालता है। इससे संगठनों को सावधानी बरतने के लिए कुछ समय मिल जाता है।
ATTACKER+-----advertises+
| +---------------+
| | |
+--------v-------+ +----------------+ | |
|twitter.com/ads | |acmebnak.com | | 549233/ahs72 +------>FAKE
+----------------+ +----------------+ | |
| | | | | 398273/pass1 +------>FAKE
| AcmeBank +-->+ username: +-------+ |
| Tax Refunds | | password: | | 393823/sm283 +------>LEGIT
| | | | | |
+--------^-------+ +----------------+ | 394837/azerb +------>FAKE
| ^ | |
VICTIM USER+-----clicks-+ |sends | |
|fake creds +---------------+
+
JEOPARDIZE
Jeopardize किसी दिए गए डोमेन के साथ विभिन्न शब्द संयोजन उत्पन्न करता है। (dnstwist यहाँ मदद करता है) उदाहरण के लिए, यदि दिया गया डोमेन acmebank.com है, तो संयोजन होंगे: acmebnak, acmeban, amcebank आदि। यदि आपके डोमेन का नाम छोटा या सामान्य है (उदाहरण: aa.com), तो यह उपकरण आपकी मदद नहीं करेगा। यह अद्वितीय नामों के लिए सबसे अच्छा काम करता है।
Jeopardize के पास पंजीकृत डोमेन की पहचान करने के लिए दो अलग-अलग पहचान विधियां हैं:
Brute: Jeopardize उत्पन्न शब्दों (acmebnak, amcebank आदि) को सभी TLDs (com, net, xyz, live आदि) के साथ जोड़ता है और उन सभी के लिए whois क्वेरी करता है। लाभ: किसी API कुंजी की आवश्यकता नहीं, पूरी तरह से मुफ्त। / नुकसान: बहुत समय लगता है।
दैनिक (Daily) दिए गए Zonefiles.io API कुंजी के साथ, Jeopardize पिछले 24 घंटों में पंजीकृत सभी डोमेन को स्क्रैप करता है और उनमें उत्पन्न शब्दों (acmebnak, amcebank आदि) की खोज करता है। लाभ: तेज़, आसानी से दैनिक खतरा खुफिया के रूप में उपयोग किया जा सकता है। नुकसान: Zonefiles.io API कुंजी (प्रो संस्करण) की आवश्यकता है।
पता लगाए गए डोमेन पहले से ही संदिग्ध हैं। लेकिन ऐसे कारक हैं जो फिशिंग डोमेन होने की संभावना बढ़ाते हैं। इसके अलावा, हमें यह विश्लेषण करने की आवश्यकता है कि क्या उस डोमेन पर कोई फिशिंग पेज स्थापित है ताकि हम उनके खिलाफ कार्रवाई कर सकें। Jeopardize पंजीकृत डोमेन के निम्नलिखित तत्वों की जाँच करता है:
यदि फिशिंग स्कोर उच्च है और वेबसाइट में लॉगिन फॉर्म है, तो Jeopardize प्रदान की गई उपयोगकर्ता नाम/पासवर्ड सूची के साथ इसे स्वचालित रूप से भर देगा।
यह पता लगाए गए फिशिंग डोमेन की जानकारी को एक XML फ़ाइल में सहेजता है। उदाहरण:
<domain>
<address>acmebnak.com</address>
<name_servers>ns1.cloudflare.com ns2.cloudflare.com</name_servers>
<mx_servers> </mx_servers>
<date_flag>True</date_flag>
<alexa_flag>False</alexa_flag>
<webserver_flag>True</webserver_flag>
<certificate_flag>False</certificate_flag>
<form_flag>True</form_flag>
<phishing_score>85</phishing_score>
</domain>
Jeopardize को काम करने के लिए Python3 की आवश्यकता है और macOS, Ubuntu 18.04 और Debian-आधारित Linux सिस्टम पर परीक्षण किया गया है। पहले, रिपो को क्लोन करें:
git clone https://github.com/utkusen/jeopardize.git
फ़ोल्डर में जाएं
cd jeopardize
आवश्यक लाइब्रेरीज़ स्थापित करें
pip3 install -r requirements.txt
आपको selenium के लिए chromedriver भी स्थापित करना होगा (फॉर्म भरने के लिए आवश्यक। यदि आप इसका उपयोग नहीं करेंगे, तो स्थापित करने की आवश्यकता नहीं है)।
Ubuntu पर: sudo apt install chromium-chromedriver चलाएं
Kali (Debian-आधारित) पर: pip3 install chromedriver-binary चलाएं
macOS पर: brew cask install chromedriver चलाएं
यदि आप Zonefiles.io API को एकीकृत करना चाहते हैं, तो jeopardize.py को एक टेक्स्ट एडिटर में खोलें, ZONEFILES_API_KEY = "" को अपनी कुंजी से बदलें।
आप तैयार हैं!
macOS उपयोगकर्ताओं के लिए नोट: ऐसा प्रतीत होता है कि macOS सुरक्षा तंत्र के रूप में मल्टीथ्रेडिंग को प्रतिबंधित करता है। उपकरण चलाने से पहले आपको निम्नलिखित कमांड चलानी होगी: export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES इस मुद्दे के बारे में अधिक जानकारी के लिए, कृपया यहाँ देखें।
आपको फिशिंग जांच के लिए अपना डोमेन --domain पैरामीटर के साथ प्रदान करना होगा। आपको पंजीकृत डोमेन पहचान विधि के रूप में --type (brute, daily, incremental) भी प्रदान करना होगा।
उदाहरण कमांड: python3 jeopardize.py --domain facebook.com --type brute
यह क्या करता है?: facebook के शब्द संयोजनों (fcabook, facebkook आदि) को सभी TLDs (com, net, org, xyz) के साथ जोड़ता है और उन सभी के लिए whois क्वेरी करता है। परिणाम facebook.com.xml फ़ाइल में सहेजे जाएंगे। यह पता लगाए गए डोमेन के लॉगिन फॉर्म नहीं भरता है।
उदाहरण कमांड: python3 jeopardize.py --domain facebook.com --type daily
यह क्या करता है?: Zonefiles.io API के साथ पिछले 24 घंटों में पंजीकृत सभी डोमेन को स्क्रैप करता है और उनमें उत्पन्न शब्दों (fcabook, facebkook आदि) की खोज करता है।
उदाहरण कमांड: python3 jeopardize.py --domain facebook.com --type incremental
यह क्या करता है?: यह पहले से उत्पन्न XML फ़ाइल (facebook.com.xml) लेता है, उसमें डोमेन को स्क्रैप करता है और उनके डेटा को अपडेट करता है, साथ ही नियमित दैनिक स्कैन भी करता है।
यदि आप पता लगाए गए फिशिंग डोमेन के लॉगिन फॉर्म भरना चाहते हैं, तो -U पैरामीटर के साथ उपयोगकर्ता नाम सूची और -P पैरामीटर के साथ पासवर्ड सूची प्रदान करें।
उदाहरण कमांड: python3 jeopardize.py --domain facebook.com --type daily -U user.txt -P pass.txt
यदि आप वर्बोज़ मोड सक्रिय करना चाहते हैं, तो कमांड के अंत में -v पैरामीटर जोड़ें।