
Markov मॉडल-आधारित पासवर्ड अनुमानक C में जो संभाव्यता के आधार पर उम्मीदवारों की गणना करता है, Hashcat या John के माध्यम से हैश क्रैकिंग के लिए सबसे संभावित पासवर्ड पहले उत्पन्न करता है।
OMEN C में लिखा गया एक मार्कोव मॉडल-आधारित पासवर्ड अनुमानक है। यह पासवर्ड उम्मीदवारों को उनकी घटना संभावनाओं के अनुसार उत्पन्न करता है, अर्थात, यह सबसे संभावित पासवर्ड पहले आउटपुट करता है। OMEN मौजूदा प्रस्तावों की तुलना में अनुमान लगाने की गति में उल्लेखनीय सुधार करता है। यदि आप इस बारे में विस्तार से जानने में रुचि रखते हैं कि OMEN मौजूदा मार्कोव मॉडल-आधारित पासवर्ड अनुमान लगाने के तरीकों पर कैसे सुधार करता है, तो कृपया OMEN: Faster Password Guessing Using an Ordered Markov Enumerator देखें।
OMEN में दो अलग प्रोग्राम मॉड्यूल हैं: createNG और enumNG। createNG
दिए गए पासवर्ड सूची के आधार पर n-gram संभावनाओं की गणना करता है और उन्हें
हार्ड डिस्क पर संग्रहीत करता है। इन संभावनाओं के आधार पर enumNG नए
पासवर्ड को सही क्रम (अवरोही) में एन्यूमरेट करता है।
एक हालिया Linux संस्करण का उपयोग करें और सुनिश्चित करें कि आपने git (Git संस्करण नियंत्रण प्रणाली), gcc (GNU कंपाइलर संग्रह), और make (GNU Make) स्थापित किया है। आप इसे Ubuntu Linux के अंतर्गत इस प्रकार स्थापित कर सकते हैं:
$ sudo apt-get install build-essential git
स्रोत कोड इस प्रकार चेक आउट करें:
$ git clone https://github.com/RUB-SysSec/OMEN.git OMEN
नव निर्मित निर्देशिका OMEN में जाएँ और चलाएँ:
$ make
यदि संकलन सफल होता है, तो आप वर्तमान निर्देशिका में createNG और enumNG पा सकते हैं।
.
├── alphabetCreator
├── createNG
├── docs
│ ├── CHANGELOG.md
│ ├── LICENSE
│ └── screenshots
├── enumNG
├── evalPW
├── makefile
├── README.md
└── src
├── alphabetCreator.c
...
यदि आप चाहें, तो अब आप src फ़ोल्डर और makefile फ़ाइल को हटा सकते हैं, इनका अब उपयोग नहीं होता।
Windows 10 पर Cygwin का उपयोग करते हुए एक संक्षिप्त स्थापना गाइड यहाँ पाया जा सकता है।
इससे पहले कि कोई भी पासवर्ड उत्पन्न कर सके, n-gram संभावनाओं का अनुमान
createNG का उपयोग करके लगाया जाना चाहिए। डिफ़ॉल्ट सेटिंग्स का उपयोग करके संभावनाओं की गणना करने के लिए, createNG को
उस पासवर्ड सूची का पथ देते हुए कॉल किया जाना चाहिए जिसे प्रशिक्षित किया जाना है:
$ ./createNG --iPwdList password-training-list.txt
दी गई सूची का प्रत्येक पासवर्ड एक नई पंक्ति में होना चाहिए। मॉड्यूल तब
सूची को पढ़ता और मूल्यांकन करता है और कई फ़ाइलें उत्पन्न करता है। उपयोग की गई सेटिंग्स (इस मामले में डिफ़ॉल्ट सेटिंग) को संग्रहीत करने वाली एक कॉन्फ़िग फ़ाइल (createConfig) के अलावा, grams और पासवर्ड लंबाई के बारे में जानकारी रखने वाली कई फ़ाइलें बनाई जाती हैं। इन फ़ाइलों का एक्सटेंशन '.level' होता है:
प्रत्येक n-gram की संभावनाएँ और लंबाई 0 (सबसे संभावित) और 10 (सबसे कम संभावित) के बीच के स्तरों पर मैप की जाती हैं। एक बार जब वे फ़ाइलें बन जाती हैं, तो enumNG का उपयोग संभावनाओं के अनुसार क्रमबद्ध पासवर्ड की सूची उत्पन्न करने के लिए किया जा सकता है। वर्तमान में, enumNG तीन मोड का समर्थन करता है: file, stdout, simulated plaintext attack। enumNG के डिफ़ॉल्ट मोड में, इन स्तरों के आधार पर पासवर्ड अनुमानों की एक सूची बनाई जाती है। कमांड का उपयोग करते हुए
$ ./enumNG
1 बिलियन पासवर्ड उत्पन्न करता है और उन्हें एक टेक्स्ट फ़ाइल में संग्रहीत करता है, जिसे 'results' फ़ोल्डर में पाया जा सकता है। इस फ़ाइल में पासवर्ड स्तर (यानी, संभावना) के अनुसार क्रमबद्ध होते हैं। चूंकि सामान्य टेक्स्ट एडिटर ऐसी विशाल फ़ाइलों को संभाल नहीं सकते, परीक्षण के लिए बनाए गए पासवर्ड की संख्या कम करने की सिफारिश की जाती है। यह
तर्क -m का उपयोग करके किया जा सकता है।
$ ./enumNG -m 10000
यह केवल 10,000 पासवर्ड के साथ एक क्रमबद्ध सूची बनाएगा। यदि आप पासवर्ड को मानक आउटपुट (stdout) स्ट्रीम पर प्रिंट करने में रुचि रखते हैं तो तर्क -p का उपयोग करें।
$ ./enumNG -p -m 10000
यदि आप plaintext पासवर्ड परीक्षण सेट के विरुद्ध अनुमान लगाने के प्रदर्शन का मूल्यांकन करने में रुचि रखते हैं तो तर्क -s का उपयोग करें। कृपया ध्यान दें: इस मोड में OMEN अनुकूली लंबाई शेड्यूलिंग एल्गोरिदम से लाभ उठाता है जिसमें लाइव फीडबैक शामिल है, जो file और stdout मोड में उपलब्ध नहीं है (फीडबैक चैनल की अनुपस्थिति के कारण)।
$ ./enumNG -s=password-testing-list.txt -m 10000
इस मूल्यांकन का परिणाम 'results' फ़ोल्डर में पाया जा सकता है।
दोनों मॉड्यूल एक सहायता डायलॉग प्रदान करते हैं जिसे -h या --help तर्क का उपयोग करके दिखाया जा सकता है।
$2a$10$HNYF4KajSTqxIP/KoiB5tOCVeKUgvscTh32hhAmppFk4T/USmI2B. से "GoodOMEN!123" तक कैसे पहुँचें?
OMEN को अकादमिक उपयोग के मामलों जैसे संभाव्य पासवर्ड मॉडलिंग में सुधार, अनुमान संख्याओं का अनुमान लगाना या पासवर्ड सुरक्षा के लिए विकसित किया गया था, सामान्य तौर पर, पासवर्ड सुरक्षा में सुधार के लिए। दूसरों की गोपनीयता को नुकसान पहुँचाने या कानून तोड़ने के लिए इस सॉफ़्टवेयर का दुरुपयोग न करें।
Hashcat और John the Ripper जैसे लोकप्रिय हैश मूल्यांकनकर्ता सैकड़ों हैश और सिफर प्रारूपों का समर्थन करते हैं और उनके मानक इनपुट (stdin) स्ट्रीम के माध्यम से पासवर्ड उम्मीदवारों को पढ़ने के समर्थन के कारण आसानी से एकीकृत किए जा सकते हैं।
$ ./enumNG -p -m 10000 | ./hashcat64.bin ...
या
$ ./enumNG -p -m 10000 | ./john --stdin ...
इष्टतम अनुमान प्रदर्शन के लिए, createNG को उस पासवर्ड वितरण के साथ प्रशिक्षित करने पर विचार करें जो आप जिसे क्रैक करना चाहते हैं उसके समान हो।
कृपया ध्यान दें: पासवर्ड क्रैक करने के लिए संभाव्य पासवर्ड मॉडलिंग का उपयोग, सामान्य तौर पर, केवल धीमे हैश (जैसे, bcrypt, PBKDF2, scrypt, या Argon2) के विरुद्ध विचार किया जाना चाहिए जहाँ संभावित अनुमानों की संख्या सीमित है या बहुत लक्षित हमलों में। इसके विपरीत, बहुत तेज़ हैश (MD5, SHA-1, या NTLM) के लिए, अच्छे शब्दकोशों और मैंगलिंग नियमों (जैसे, best64.rule) का उपयोग करना सही तरीका है।
यदि आप इस विषय में रुचि रखते हैं, तो निम्नलिखित पत्रों और उनके संबंधित कार्यों को पढ़ने पर विचार करें (यह सूची अधूरी है, आप इसे विस्तारित करके मदद कर सकते हैं):
संभाव्य संदर्भ-मुक्त व्याकरण
मार्कोव मॉडल