
बल्क डोमेन स्पूफेबिलिटी चेकर जो आधिकारिक SPF और DMARC रिकॉर्ड विश्लेषण का उपयोग करता है, जिसमें कस्टम, वास्तविक दुनिया में परीक्षित स्पूफ लॉजिक और वैकल्पिक DKIM एनुमरेशन शामिल है।
Spoofy एक प्रोग्राम है जो जाँचता है कि SPF और DMARC रिकॉर्ड के आधार पर डोमेन की सूची को स्पूफ किया जा सकता है या नहीं। आप पूछ सकते हैं, "हमें एक और टूल की आवश्यकता क्यों है जो जाँच सके कि किसी डोमेन को स्पूफ किया जा सकता है या नहीं?"
खैर, Spoofy अलग है और यहाँ कारण दिया गया है:
- कस्टम, मैन्युअल रूप से परीक्षण किया गया स्पूफ लॉजिक (कोई अनुमान या अटकल नहीं, वास्तविक दुनिया के परीक्षण परिणाम)
- मानक-आधारित रिकॉर्ड खोज: RFC 7208 SPF मूल्यांकन और RFC 9989 DMARC ट्री वॉक, जिसमें सबडोमेन के लिए
sp/npशामिल है- साझा, कैशिंग रिज़ॉल्वर पर सटीक बल्क लुकअप, फेलओवर के साथ (1.1.1.1, 8.8.8.8, 9.9.9.9)
- SPF DNS क्वेरी और void lookup काउंटर, साथ ही अपंजीकृत SPF include डोमेन का पता लगाना
- API के माध्यम से वैकल्पिक DKIM सेलेक्टर एन्यूमरेशन
Spoofy के लिए Python 3.9+ आवश्यक है। इसे PyPI से इंस्टॉल करें:
pip3 install spoofy
spoofy -d example.com
या इसे क्लोन से चलाएँ, pip3 install -r requirements.txt और spoofy के स्थान पर ./spoofy.py का उपयोग करें। उपयोग नीचे दिखाया गया है:
Usage:
spoofy -d [DOMAIN] -o [stdout, xls or json] -t [NUMBER_OF_THREADS] [--dkim] [--dns-server IP]
OR
spoofy -iL [DOMAIN_LIST] -o [stdout, xls or json] -t [NUMBER_OF_THREADS] [--dkim] [--dns-server IP]
Options:
-d : Process a single domain.
-iL : Provide a file containing a list of domains to process (blank lines and # comments are skipped).
-o : Specify the output format: stdout (default), xls, or json.
-t : Set the number of threads to use (default: 4).
--dkim : Enable DKIM selector enumeration via API (optional).
--dns-server : Query this resolver instead of 1.1.1.1, 8.8.8.8 and 9.9.9.9.
Examples:
spoofy -d example.com -t 10
spoofy -d example.com --dkim
spoofy -iL domains.txt -o xls
spoofy -iL domains.txt -o json --dkim
(स्पूफेबिलिटी तालिका SPF और DMARC कॉन्फ़िगरेशन के हर उस संयोजन को सूचीबद्ध करती है जो इनबॉक्स तक डिलीवरेबिलिटी को प्रभावित करता है, DKIM मॉडिफायर को छोड़कर।) Download Here
| Code | Result | SPOOFING_POSSIBLE |
|---|---|---|
| 0 | Spoofing possible | true |
| 1 | Subdomain spoofing possible | true |
| 2 | Organizational domain spoofing possible | true |
| 3 | Spoofing might be possible (p=quarantine with pct < 100) | null |
| 4 | Spoofing might be possible (mailbox dependent) | null |
| 5 | Organizational domain spoofing might be possible (mailbox dependent) | null |
| 6 | Subdomain spoofing might be possible (mailbox dependent) | null |
| 7 | Subdomain spoofing possible, organizational domain spoofing might be possible | true |
| 8 | Spoofing is not possible | false |
| 9 | Unable to determine (a DNS lookup failed) | null |
निर्णय डोमेन के SPF all मैकेनिज़्म और DMARC p, sp और aspf टैग के लिए परीक्षण किया गया कोड है, जैसा कि रिकॉर्ड उन्हें लिखता है। spoofy/master_table.py स्प्रेडशीट को डेटा के रूप में रखता है (python3 -m spoofy.master_table स्प्रेडशीट बदलने के बाद इसे फिर से लिखता है), और test.py जाँचता है कि हर पंक्ति पुनरुत्पादित होती है। तालिका में शामिल न किए गए इनपुट को निम्नानुसार संभाला जाता है:
aspf के साथ एक एनफोर्सिंग p लेकिन sp के बिना (24 अपरीक्षित संयोजन): sp डिफ़ॉल्ट रूप से p होता है, इसलिए sp लिखे गए परीक्षित पंक्ति का उपयोग किया जाता है।_dmarc रिकॉर्ड के बिना एक सबडोमेन): पैरेंट के SPF और DMARC रिकॉर्ड के लिए परीक्षित सबडोमेन परिणाम, जब सबडोमेन मौजूद नहीं है तो sp के स्थान पर np के साथ।p=quarantine के साथ 100 से कम pct: कोड 3, क्योंकि अनसैंपल्ड मेल को p=none मिलता है। p=reject के साथ अनसैंपल्ड मेल अभी भी क्वारंटीन किया जाता है, इसलिए pct निर्णय नहीं बदलता।t=y (RFC 9989 परीक्षण मोड): लुकअप से पहले नीति एक स्तर नीचे गिर जाती है (reject से quarantine, quarantine से none)।स्पूफेबिलिटी तालिका के निर्माण में हर प्रासंगिक SPF और DMARC कॉन्फ़िगरेशन को सूचीबद्ध करना, उन्हें संयोजित करना, और फिर बड़ी संख्या में US सरकारी डोमेन पर Spoofy के एक प्रारंभिक संस्करण का उपयोग करके SPF और DMARC सूचना संग्रह करना शामिल था। यह परीक्षण कि SPF और DMARC संयोजन स्पूफेबल था या नहीं, Microsoft 365 का उपयोग करके emailspooftest पर ईमेल सुरक्षा पेंटेस्टिंग सूट का उपयोग करके किया गया था। हालाँकि, प्रारंभिक परीक्षण Protonmail और Gmail का उपयोग करके किया गया था, लेकिन पाया गया कि ये सेवाएँ रिवर्स लुकअप जाँच का उपयोग करती हैं जो परिणामों को प्रभावित करती थीं, विशेष रूप से सबडोमेन स्पूफ परीक्षण के लिए। परिणामस्वरूप, परीक्षण के लिए Microsoft 365 का उपयोग किया गया, क्योंकि यह मेल के प्रबंधन पर अधिक नियंत्रण प्रदान करता था।
Microsoft 365 का उपयोग करके प्रारंभिक परीक्षण के बाद, ईमेल में बैनर के उनके प्रबंधन में अंतर के कारण कुछ संयोजनों को Protonmail और Gmail का उपयोग करके फिर से परीक्षण किया गया। Protonmail और Gmail स्पूफ किए गए मेल को बैनर के साथ इनबॉक्स में या बैनर के बिना स्पैम में रख सकते हैं, जिसके कारण Spoofy का उपयोग करते समय कुछ SPF और DMARC संयोजन "Mailbox Dependent" के रूप में रिपोर्ट किए जाते हैं। इसके विपरीत, Microsoft 365 दोनों स्थितियों को स्पैम में रखता है। परीक्षण और डेटा संग्रह प्रक्रिया को पूरा होने में कई दिन लगे, जिसके बाद एक अच्छी मास्टर तालिका संकलित की गई और इसे Spoofy स्पूफेबिलिटी लॉजिक के आधार के रूप में उपयोग किया गया।
यह टूल केवल परीक्षण और शैक्षणिक उद्देश्यों के लिए है और इसका उपयोग केवल वहीं किया जा सकता है जहाँ सख्त सहमति दी गई हो। इसका उपयोग अवैध उद्देश्यों के लिए न करें! सभी लागू स्थानीय, राज्य और संघीय कानूनों का पालन करना अंतिम उपयोगकर्ता की जिम्मेदारी है। डेवलपर्स कोई दायित्व नहीं मानते हैं और इस टूल और सॉफ़्टवेयर के कारण होने वाले किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं।
यह प्रोजेक्ट Creative Commons Attribution-NonCommercial 4.0 International License के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें