
Ideaslocas रिपॉजिटरी
यह परियोजना लीक हुए पासवर्डों की खोज में सहायता करने का लक्ष्य रखती है, साथ ही k-अनामता विधि (k-anonymity method) का उपयोग करके उच्च स्तर की गोपनीयता बनाए रखती है।
इसे प्राप्त करने के लिए, विभिन्न सेवाओं के API का उपयोग किया जाता है, जिसमें जाँचे जाने वाले पासवर्ड के हैश का केवल एक भाग भेजा जाता है, उदाहरण के लिए पहले 5 अक्षर।
इस परियोजना को काम करने के लिए कुछ लाइब्रेरियों की आवश्यकता है, इसे स्थापित करने के लिए निम्न कमांड का उपयोग करें:
pip install -r requirements
याद रखें कि Python 3 आवश्यक है।
passme.py [FUNC] [ELEMENT] -engine [ENGINE] -api_key [API_KEY]
FUNC: वह तत्व जिसे आप जाँचना चाहते हैं, यह -h/--hash या -p/--password
या -f/--file या -l/--list या --help हो सकता है।
ELEMENT: "Hash", "Password" या उस फ़ाइल का नाम जिसमें हैश या पासवर्ड की सूची
नई पंक्ति द्वारा अलग की गई हो।
ENGINE: वह लीक इंजन जिसे आप उपयोग करना चाहते हैं, डिफ़ॉल्ट रूप से यह HIBP (Have I been PWN) का उपयोग करता है।
API_KEY: कुछ इंजनों के कुछ कार्यों के लिए आवश्यक API_KEY।
मुख्य परियोजना कार्य हैश किए गए पासवर्ड, उपयोग किए जाने वाले इंजन और API कुंजी प्राप्त करता है।
प्राप्त इंजन के आधार पर, API कुंजी और हैश किए गए पासवर्ड को एक या दूसरे कार्य में भेजा जाएगा।
यदि आप अपना स्वयं का इंजन या कोई ऐसा इंजन जोड़ना चाहते हैं जो पहले से कार्यान्वित नहीं है, तो बस यहाँ एक और विकल्प जोड़ें।
passme_hash(hashed_password, engine="HIBP", api_key="0")
यह कार्य प्राप्त पासवर्ड को SHA-1 का उपयोग करके हैश करता है और हैश को passme_hash() कार्य में भेजता है।
passme_password(password, engine="HIBP", api_key="0")
यह कार्य प्राप्त फ़ाइल की पंक्तियों को एक-एक करके पढ़ता है ताकि प्रत्येक पासवर्ड की जाँच की जा सके, और प्राप्त पासवर्ड के बारे में जानकारी देता है कि क्या यह फ़िल्टर किया गया है या नहीं।
passme_file(filename, engine="HIBP", api_key="0")
यह कार्य प्राप्त फ़ाइल की पंक्तियों को एक-एक करके पढ़ता है ताकि प्रत्येक हैश की जाँच की जा सके, और प्राप्त हैश के बारे में जानकारी देता है कि क्या यह फ़िल्टर किया गया है या नहीं।
passme_list(filename, engine="HIBP", api_key="0")
वह कार्य जो HIBP (Have i been pwned) API से संबंधित है, हैश के पहले पाँच अक्षर भेजता है, फिर यह देखने के लिए पूर्ण हैश से तुलना करता है कि क्या पासवर्ड/हैश लीक हुआ है।
engine_HIBP(hashed_password, engine, api_key)
इस परियोजना में अपने सभी कार्यों के सही संचालन की जाँच करने के लिए परीक्षणों की एक श्रृंखला है, इस उद्देश्य के लिए "pytest" लाइब्रेरी का उपयोग किया गया है। परीक्षण चलाने के लिए, निम्न कमांड से pytest स्थापित करें:
pip install pytest
एक बार स्थापित होने के बाद, बस "pytest" कमांड चलाएँ ताकि परीक्षण स्वचालित रूप से चलें, सामने आने वाली कोई भी त्रुटि टर्मिनल द्वारा वापस की जाएगी।
प्रयोगशाला में परीक्षण के परिणाम निम्नलिखित हैं:
यह परियोजना GNU जनरल पब्लिक लाइसेंस के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें
सॉफ्टवेयर "जैसा है" प्रदान किया जाता है, बिना किसी प्रकार की वारंटी के, व्यक्त या निहित, जिसमें विक्रेयता, किसी विशेष उद्देश्य के लिए उपयुक्तता और उल्लंघन न होने की वारंटी शामिल है लेकिन इन्हीं तक सीमित नहीं है। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य देयता के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध की कार्रवाई में हो, अपकृत्य में हो या अन्यथा, सॉफ्टवेयर या सॉफ्टवेयर के उपयोग या अन्य लेन-देन से उत्पन्न हो।
इस सॉफ्टवेयर की कोई QA प्रक्रिया नहीं है। यह सॉफ्टवेयर एक अवधारणा का प्रमाण (Proof of Concept) है।
यदि आपको कोई समस्या है, तो आप संपर्क कर सकते हैं:
[email protected] - Ideas Locas CDCO - Telefónica
कई जगहों पर ऐसे कंप्यूटर पर सॉफ्टवेयर स्थापित करना अपराध हो सकता है जो आपका नहीं है, मालिक की सहमति के बिना। हम किसी भी अवैध उद्देश्य के लिए PoC के उपयोग का समर्थन नहीं करते हैं। किसी भी तरह से हमारे सॉफ्टवेयर को डाउनलोड या उपयोग करने के लिए, आपको निम्नलिखित को स्वीकार और अनुमोदन करना होगा:
1 - आप घोषणा करते हैं कि इस PoC का उपयोग विशेष रूप से कानूनी तरीके से किया जाएगा। यदि आप कानूनीता के बारे में संदेह में हैं, तो उस क्षेत्राधिकार में एक लाइसेंस प्राप्त वकील से परामर्श करें जहाँ आप इस PoC का उपयोग करेंगे।
2 - आप स्वीकार करते हैं कि जिस कंप्यूटर पर सॉफ्टवेयर स्थापित किया जाना है, वह आपका है या आपके पास उस पर सॉफ्टवेयर प्रबंधित और स्थापित करने के लिए मालिक की सहमति है।
| Python संस्करण | फंक्शन हैश | फंक्शन सूची | फंक्शन पासवर्ड | रैंडम हैश | रैंडम पासवर्ड | टिप्पणी |
|---|
| 3.9 | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 3.8 | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 3.7 | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 3.6 | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 3.5 | ✅ | ✅ | ✅ | ❌ | ❌ | Random.choice Python 3.5 में उपलब्ध नहीं है // पुराना Python संस्करण |