
स्ट्रिंग्स की सूची का उपयोग करके सामान्य पासवर्ड पैटर्न जनरेटर
$ git clone https://github.com/localh0t/m4ngl3m3
$ cd m4ngl3m3
$ ./main.py
usage: main.py [-h] [-fy FROM_YEAR] [-ty TO_YEAR] [-sy] [-nf NUMBERS_FILE]
[-sf SYMBOLS_FILE] [-cf CUSTOM_FILE] [-sbs] [-sap]
[-mm MUTATION_METHODS]
MUTATION_MODE STRINGS_FILE OUTPUT_FILE
Common password pattern generator using strings list
positional arguments:
MUTATION_MODE Mutation mode to perform: (prefix-mode |
suffix-mode | dual-mode)
STRINGS_FILE File with strings to mutate
OUTPUT_FILE Where to write the mutated strings
optional arguments:
-h, --help show this help message and exit
-fy FROM_YEAR, --from-year FROM_YEAR
Year where our iteration starts (default:
2015)
-ty TO_YEAR, --to-year TO_YEAR
Year where our iteration ends (default:
2020)
-sy, --short-year Also add shorter year form when iterating
(default: False)
-nf NUMBERS_FILE, --numbers-file NUMBERS_FILE
Numbers prefix/suffix file (default:
./files/numbers/numbers_set2.txt)
-sf SYMBOLS_FILE, --symbols-file SYMBOLS_FILE
Symbols prefix/suffix file (default:
./files/symbols/symbols_set2.txt)
-cf CUSTOM_FILE, --custom-file CUSTOM_FILE
Custom words/dates/initials/etc file
(default: None)
-sbs, --symbols-before-suffix
Insert symbols also before years/numbers/
custom (when in suffix-mode or dual-mode)
(default: False)
-sap, --symbols-after-prefix
Insert symbols also after years/numbers/
custom (when in prefix-mode or dual-mode)
(default: False)
-mm MUTATION_METHODS, --mutation-methods MUTATION_METHODS
Mutation methods to perform (comma
separated, no spaces) (valid: see
MUTATION_METHODS.md)
(default:
normal,uppercase,firstup,replacevowels)
यहाँ हम यह निर्धारित करते हैं कि हमारी स्क्रिप्ट वर्षों पर पुनरावृत्ति (iterate) करते समय कहाँ से शुरू और कहाँ समाप्त होगी। अक्सर लोग एंट्रॉपी (entropy) जोड़ने के प्रयास में वर्तमान वर्ष शामिल करते हैं। चूंकि पासवर्ड पुराने हो सकते हैं, या शामिल वर्ष (निकट) भविष्य में हो सकते हैं, हम उन्हें एक श्रेणी (range) के रूप में जोड़ेंगे। ऑनलाइन वातावरण के लिए, हम एक रूढ़िवादी (conservative) दृष्टिकोण अपनाएंगे और केवल (−1, +1) या (−2, +2) क्रम की श्रेणियाँ शामिल करेंगे। ऑफ़लाइन वातावरण के लिए, श्रेणी (−20, +5) या (−50, +10) तक व्यापक हो सकती है। आउटपुट उदाहरण:
password2017
[...]
password2018
[...]
password2019
वर्षों पर पुनरावृत्ति करते समय, इसका छोटा दो अंकों वाला रूप भी जोड़ें। आउटपुट उदाहरण:
password17
[...]
password18
[...]
password19
इस तर्क में हम एक फ़ाइल चुनेंगे जिसमें संख्याएँ हों जो लोग अक्सर अपने पासवर्ड में जोड़ते हैं। डिफ़ॉल्ट रूप से मैंने 6 सेट शामिल किए हैं, सबसे बड़ा 6 है, और बाकी पिछले सेट के उपसमूह (subsets) हैं। पहले सेट (1,2…) में शामिल संख्याओं के वर्तमान होने की संभावना उन संख्याओं से अधिक है जो केवल नवीनतम सेटों (…5,6) में शामिल हैं। फिर से, ऑनलाइन वातावरण के लिए, हम पहले तीन सेटों का उपयोग करेंगे, जबकि ऑफ़लाइन वातावरण में, हम अंतिम सेटों का उपयोग कर सकते हैं। डिफ़ॉल्ट रूप से, स्क्रिप्ट सेट नंबर 2 का उपयोग करती है। आउटपुट उदाहरण:
password1
[...]
password123
[...]
password1234
इस तर्क में हम एक फ़ाइल चुनेंगे जिसमें प्रतीक (symbols) हों जो लोग अक्सर अपने पासवर्ड में जोड़ते हैं। फिर से, सेट नंबर 1 सबसे छोटा है, सेट नंबर 6 सबसे बड़ा है। पहले सेट (1,2…) में शामिल प्रतीकों के वर्तमान होने की संभावना उन प्रतीकों से अधिक है जो केवल नवीनतम सेटों (…5,6) में शामिल हैं। डिफ़ॉल्ट रूप से, स्क्रिप्ट सेट नंबर 2 का उपयोग करती है। आउटपुट उदाहरण:
password123!
[...]
password2018?
[...]
password1234.
यहाँ हम अपने लक्ष्यों के बारे में जो कुछ भी जानते हैं (और इसे पासवर्ड का "आधार" (base) नहीं माना जाता है) जोड़ते हैं। रचनात्मकता को उड़ान भरने दें! यह कंपनी के आद्याक्षर (initials), जन्म तिथियाँ, विशेष तिथियाँ से लेकर विशिष्ट वर्ष, छोटे कीवर्ड आदि तक हो सकता है। इन कस्टम स्ट्रिंग्स को वर्षों/संख्याओं के समान तरीके से संसाधित किया जाएगा। आउटपुट उदाहरण:
passwordABC
[...]
password01011980!
[...]
password.admin
इस पैरामीटर में हम चुनेंगे कि स्ट्रिंग्स को स्थानांतरित करते समय उपकरण कैसे काम करेगा। आप तीन में से एक चुन सकते हैं:
वह फ़ाइल जिसमें उत्परिवर्तित (mutate) करने के लिए स्ट्रिंग्स हैं। यदि आप, उदाहरण के लिए, एक पेनटेस्ट (pentest) कर रहे हैं और नहीं जानते कि कहाँ से शुरू करें, तो मैं सुझाव दूंगा कि आप CeWL जैसे उपकरण का उपयोग करके कंपनी की वेबसाइट को क्रॉल करें, और सबसे अधिक आवर्ती शब्दों (निश्चित रूप से कंपनी के नाम सहित) को रखें।
बस, वह फ़ाइल जिसमें हम उत्परिवर्तित स्ट्रिंग्स लिखना चाहते हैं।
जब यह फ़्लैग सक्रिय होता है, और हम उपकरण को suffix-mode या dual-mode में चला रहे होते हैं, तो स्क्रिप्ट वर्षों/संख्याओं/कस्टम के पहले भी प्रतीक जोड़ेगी। आउटपुट उदाहरण:
password2018!
[...]
password!2018
[...]
जब यह फ़्लैग सक्रिय होता है, और हम उपकरण को prefix-mode या dual-mode में चला रहे होते हैं, तो स्क्रिप्ट वर्षों/संख्याओं/कस्टम के बाद भी प्रतीक जोड़ेगी। आउटपुट उदाहरण:
!2018password
[...]
2018!password
[...]
इस पैरामीटर में हम परिभाषित करते हैं कि कौन से उत्परिवर्तन विधियाँ (mutation methods) निष्पादित की जाएंगी। उत्परिवर्तन विधियाँ आधार रूपांतरण (base transformations) हैं जो वर्षों/संख्याओं/प्रतीकों/कस्टम पर पुनरावृत्ति शुरू करने से पहले की जाती हैं। आप जितनी चाहें उतनी उत्परिवर्तन विधियाँ चुन सकते हैं। सभी मान्य उत्परिवर्तन विधियों की सूची के लिए, देखें: MUTATION_METHODS.md.
डिफ़ॉल्ट रूप से, m4ngl3m3! निम्नलिखित के साथ चलता है: Normal, UpperCase, FirstUp और ReplaceVowels.
कुछ बुनियादी उपयोग उदाहरण देखने के लिए, कृपया देखें: USAGE_EXAMPLES.md
देखें: LICENSE.md