
सेकंडों में लाखों कीवर्ड-आधारित पासवर्ड म्यूटेशन उत्पन्न करता है।
DavidAngelos को विशेष धन्यवाद:
▶️ हर चरण में प्रगति ट्रैक करने के लिए प्रगति पट्टी जोड़ी गई।
▶️ विकल्प जोड़े गए:
-i / --inorder): कीवर्ड को केवल मूल क्रम में जोड़ें (जैसे foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz)।-c / --combinations): प्रत्येक उपसमुच्चय का हर क्रम उत्पन्न करें (जैसे foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …, bazbarfoo)।--sep <string>): शब्दों को जोड़ते समय, टोकन के बीच यह स्ट्रिंग डालें (डिफ़ॉल्ट: कोई विभाजक नहीं)।--max-combine <N>): एक साथ जोड़े जाने वाले कच्चे कीवर्ड की संख्या सीमित करें (डिफ़ॉल्ट: 2)।--minlen/--maxlen <N>): फ़ाइनल वर्डलिस्ट को केवल वांछित लंबाई वाले शब्दों से फ़िल्टर करें।Psudohash एक पासवर्ड सूची जनरेटर है जो ब्रूट फोर्स हमलों और हैश क्रैकिंग के लिए उपयोग होता है। यह मनुष्यों द्वारा सामान्यतः उपयोग किए जाने वाले पासवर्ड निर्माण पैटर्न की नकल करता है, जैसे किसी शब्द के अक्षरों को प्रतीकों या संख्याओं (लीट) से बदलना, केस विविधताओं का उपयोग करना, मुख्य पासफ्रेज़ से पहले या बाद में सामान्य पैडिंग जोड़ना आदि। यह कीवर्ड-आधारित और अत्यधिक अनुकूलन योग्य है। 🎥 -> वीडियो प्रस्तुति
सिस्टम प्रशासक और अन्य कर्मचारी अक्सर कंपनी के नाम के संशोधित संस्करण का उपयोग करके पासवर्ड सेट करते हैं (जैसे Am@z0n_2022)। यह आमतौर पर नेटवर्क उपकरणों (वाई-फाई एक्सेस पॉइंट, स्विच, राउटर, आदि), एप्लिकेशन या डोमेन खातों के लिए होता है। सबसे बुनियादी विकल्पों के साथ, psudohash एक या अधिक कीवर्ड के सभी संभावित म्यूटेशन वाली वर्डलिस्ट उत्पन्न कर सकता है, जो सामान्य वर्ण प्रतिस्थापन पैटर्न (अनुकूलन योग्य), केस विविधताओं, पैडिंग के रूप में सामान्यतः उपयोग किए जाने वाले स्ट्रिंग्स आदि पर आधारित है। निम्नलिखित उदाहरण देखें:

स्क्रिप्ट निम्नलिखित अक्षर प्रतिस्थापन योजना को लागू करती है। आप psudohash.py में transformations सूची को संपादित करके और नीचे दी गई डेटा संरचना का अनुसरण करके अक्षर प्रतिस्थापन मैपिंग जोड़/संशोधित कर सकते हैं (डिफ़ॉल्ट):
transformations = [
{'a' : ['@', '4']},
{'b' : '8'},
{'e' : '3'},
{'g' : ['9', '6']},
{'i' : ['1', '!']},
{'o' : '0'},
{'s' : ['$', '5']},
{'t' : '7'}
]
पासवर्ड सेट करते समय, मुख्य पासफ्रेज़ को "मजबूत" बनाने के लिए उसके पहले और/या बाद में अक्षरों का एक क्रम जोड़ना काफी मानक है। उदाहरण के लिए, कोई "dragon" पासवर्ड सेट कर सकता है और अंत में "!!!" या "!@#" जैसा मान जोड़ सकता है, जिसके परिणामस्वरूप "dragon!!!", "dragon!@#" आदि मिलते हैं। Psudohash ऐसे मानों को common_padding_values.txt से पढ़ता है और उनका उपयोग दिए गए कीवर्ड को उत्पन्न प्रत्येक कीवर्ड भिन्नता से पहले (-cpb) या बाद (-cpa) जोड़कर म्यूटेट करने के लिए करता है। आप इसे अपनी आवश्यकता के अनुसार संशोधित कर सकते हैं।
जब किसी म्यूटेटेड कीवर्ड में वर्ष मान जोड़ा जाता है, तो psudohash विभिन्न विभाजकों का उपयोग करके ऐसा करेगा। डिफ़ॉल्ट रूप से, यह निम्नलिखित विभाजकों का उपयोग करेगा, जिन्हें आप year_seperators सूची को संपादित करके संशोधित कर सकते हैं:
year_seperators = ['', '_', '-', '@']
उदाहरण के लिए, यदि दिया गया कीवर्ड "amazon" है और विकल्प -y 2023 का उपयोग किया गया, तो आउटपुट में "amazon2023", "amazon_2023", "amazon-2023", "amazon@2023", "amazon23", "amazon_23", "amazon-23", "amazon@23" शामिल होंगे।
पहले Python 3.x और tqdm स्थापित करें:
pip3 install tqdm
फिर रिपॉजिटरी क्लोन करें और स्क्रिप्ट को निष्पादन योग्य बनाएं:
git clone https://github.com/t3l3machus/psudohash.git
cd ./psudohash
chmod +x psudohash.py
./psudohash.py [-h] -w WORDS [-i] [-c] [--sep SEP] [--max-combine N] [-an LEVEL] [-nl LIMIT] [-y YEARS] [-ap VALUES] [-cpb] [-cpa] [-cpo] [-o FILENAME] [-q]
सहायता संवाद [ -h, --help ] में उपयोग विवरण और उदाहरण शामिल हैं।
-w, --words <kw1,kw2,…>
अल्पविराम से अलग किए गए कच्चे कीवर्ड (आवश्यक)।
-i, --inorder
दिए गए क्रम में अधिकतम --max-combine कीवर्ड तक जोड़ें (जैसे foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz)।
-c, --combinations
प्रत्येक उपसमुच्चय का हर क्रमपरिवर्तन उत्पन्न करें (अधिकतम --max-combine तक) (जैसे foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …)।
--max-combine <N> (डिफ़ॉल्ट: 2)
एक आधार स्ट्रिंग में जोड़े जाने वाले कच्चे कीवर्ड की अधिकतम संख्या।
--sep <string>
शब्दों को जोड़ते समय (-i या ), टोकन के बीच यह स्ट्रिंग रखें। डिफ़ॉल्ट खाली स्ट्रिंग है।
कोई बहु-शब्द नहीं (केवल सिंगलटन)
./psudohash.py -w foo,bar,baz -cpa
# → foo, bar, baz
इन-ऑर्डर जॉइन (-i, डिफ़ॉल्ट रूप से 2 शब्द तक)
./psudohash.py -w foo,bar,baz -i
# → foo, bar, baz, foobar, foobaz, barbaz
सभी-क्रम संयोजन (-c, डिफ़ॉल्ट रूप से 2 शब्द तक)
./psudohash.py -w foo,bar,baz -c
# → foo, bar, baz, foobar, foobaz, barfoo, barbaz, bazfoo, bazbar
जुड़े शब्दों के बीच विभाजक बदलें
./psudohash.py -w foo,bar,baz -i --sep "_"
# → foo, bar, baz, foo_bar, foo_baz, bar_baz
लंबाई फ़िल्टर (--minlen/--maxlen)
./psudohash.py -w apple,banana -i --minlen 10
# Warning: exact size cannot be determined because of length filters.
# Example final outputs might include “applebanana” (11 chars), “bananaapple” (11 chars).
अधिकतम 3 शब्दों तक संयोजन (डिफ़ॉल्ट 2 के बजाय)
--years और --append-numbering विकल्पों को --numbering-limit ≥ किसी भी वर्ष इनपुट के अंतिम दो अंकों के साथ संयोजित करने से संभवतः डुप्लिकेट शब्द उत्पन्न होंगे क्योंकि टूल द्वारा लागू किए गए म्यूटेशन पैटर्न के कारण।--minlen या --maxlen का उपयोग करते समय, स्क्रिप्ट सटीक शब्द गणना की पूर्व-गणना नहीं कर सकती; आपको “exact size cannot be determined” चेतावनी दिखाई देगी और इस फ़िल्टर के बिना आकार की गणना की जाएगी, अंतिम आकार छोटा होगा।जब लोगों की बात आती है, मुझे लगता है कि हम सभी ने (कमोबेश) एक या अधिक शब्दों के म्यूटेशन का उपयोग करके पासवर्ड सेट किए हैं जो हमारे लिए कुछ मायने रखते हैं, जैसे हमारा नाम या पत्नी/बच्चा/पालतू/बैंड का नाम, अंत में हमारे जन्म का वर्ष चिपकाना या शायद "!@#" जैसी सुपर सुरक्षित पैडिंग। तो, अंदाजा लगाइए?

मैं टूल की क्षमताओं को बढ़ाने के लिए सामान्यतः उपयोग किए जाने वाले पासवर्ड निर्माण पैटर्न के बारे में जानकारी एकत्र कर रहा हूं।
-c--minlen <N>
N वर्णों से छोटे किसी भी अंतिम पासवर्ड को हटा दें।
--maxlen <N>
N वर्णों से लंबे किसी भी अंतिम पासवर्ड को हटा दें।
-an, --append-numbering <LEVEL>
प्रत्येक शब्द म्यूटेशन में क्रमांकित प्रत्यय (शून्य-पैडेड <LEVEL> अंक) जोड़ें।
-nl, --numbering-limit <LIMIT>
संख्या जोड़ते समय गिनने की अधिकतम संख्या (डिफ़ॉल्ट: 50)।
-y, --years <years>
प्रत्येक म्यूटेशन में एक या अधिक वर्ष जोड़ें (जैसे 1990-2000, या 2022,2023)।
-ap, --append-padding <vals>
कस्टम पैडिंग मान (अल्पविराम से अलग) जोड़ें। -cpb या -cpa के साथ उपयोग करना आवश्यक है।
-cpb, --common-paddings-before
प्रत्येक म्यूटेशन से पहले common_padding_values.txt से मान जोड़ें।
-cpa, --common-paddings-after
प्रत्येक म्यूटेशन के बाद common_padding_values.txt से मान जोड़ें।
-cpo, --custom-paddings-only
केवल उपयोगकर्ता द्वारा प्रदान किए गए पैडिंग का उपयोग करें (कोई डिफ़ॉल्ट नहीं)। -ap के साथ उपयोग करना आवश्यक है।
-o, --output <file>
परिणामों को <file> में लिखें (डिफ़ॉल्ट: output.txt)।
-q, --quiet
स्टार्टअप पर ASCII कला बैनर को दबाएं।