
Hashcat रूल विश्लेषक और इंटरप्रेटर - hashcat रूल सिंटैक्स को डिकोड करने के लिए एक Rosetta Stone
_ _ _ _ ____ _ _
| | | | __ _ ___| |__ ___ __ _| |_| _ \ ___ ___ ___| |_| |_ __ _
| |_| |/ _` / __| '_ \ / __/ _` | __| |_) / _ \/ __|/ _ \ __| __/ _` |
| _ | (_| \__ \ | | | (_| (_| | |_| _ < (_) \__ \ __/ |_| || (_| |
|_| |_|\__,_|___/_| |_|\___\__,_|\__|_| \_\___/|___/\___|\__|\__\__,_|
पासवर्ड क्रैकिंग नियमों के रोसेटा स्टोन को डिकोड करें
एक Python प्रोजेक्ट जो hashcat डीबग मोड 4 और मोड 5 आउटपुट फ़ाइलों का विश्लेषण करने के लिए डिज़ाइन किया गया है, ताकि सबसे कुशल नियमों की पहचान की जा सके और पासवर्ड क्रैकिंग हमलों के दौरान उपयोग किए जाने वाले बेसवर्ड आवृत्ति पैटर्न को ट्रैक किया जा सके।
--debug-mode 4 और --debug-mode 5) स्वचालित बेसवर्ड और नियम निष्कर्षण के साथयदि आप uv का उपयोग कर रहे हैं, तो आप बिना स्थापना के चला सकते हैं:
# रिपॉजिटरी क्लोन करें
git clone https://github.com/bandrel/HashcatRosetta.git
cd HashcatRosetta
# मॉड्यूल के रूप में चलाएँ (अनुशंसित)
uv run python -m hashcat_rosetta --help
# या स्थापित कमांड का उपयोग करें
uv run hashcat-rosetta --help
uv tool install git+https://github.com/bandrel/HashcatRosetta.git
डेव टूल्स dev निर्भरता समूह में रहते हैं।
# uv के साथ (डिफ़ॉल्ट रूप से dev समूह स्थापित करता है)
uv sync
# pip के साथ (25.1+)
pip install -e . --group dev
एक hashcat डीबग फ़ाइल का विश्लेषण करें (डिफ़ॉल्ट रूप से सारांश दिखाता है):
hashcat-rosetta debug_output.txt
आवृत्ति के अनुसार शीर्ष नियम दिखाएँ:
hashcat-rosetta debug_output.txt --rules --top 10 --metric frequency
अन्य मेट्रिक्स के अनुसार शीर्ष नियम दिखाएँ:
hashcat-rosetta debug_output.txt --rules --metric basewords
hashcat-rosetta debug_output.txt --rules --metric candidates
कई बार दिखाई देने वाले बेसवर्ड दिखाएँ:
hashcat-rosetta debug_output.txt --basewords --top 10
शीर्ष वर्डलिस्ट दिखाएँ (केवल डीबग मोड 5):
hashcat-rosetta debug_output.txt --wordlists --top 10
विस्तृत प्रति-वर्डलिस्ट आँकड़े दिखाएँ (अद्वितीय बेसवर्ड, उम्मीदवार, और नियम):
hashcat-rosetta debug_output.txt --wordlists --top 10 --detail
--wordlists आउटपुट --rules को प्रतिबिंबित करता है: एक Top N Wordlists हेडर के बाद
क्रमांकित Wordlist: <name> (<count>) पंक्तियाँ। जब किसी मोड-5 फ़ाइल का विश्लेषण बिना
किसी आउटपुट फ़्लैग के किया जाता है, तो डिफ़ॉल्ट सारांश में एक Wordlist Statistics अनुभाग भी शामिल होता है।
स्वचालित पहचान के बजाय एक विशिष्ट डीबग मोड को बाध्य करें:
hashcat-rosetta debug_output.txt --debug-mode 5 --wordlists
विस्तृत बेसवर्ड विश्लेषण दिखाएँ:
hashcat-rosetta debug_output.txt --basewords --top 10 --detail --min-occurrences 2
पूर्ण विश्लेषण रिपोर्ट निर्यात करें:
hashcat-rosetta debug_output.txt --export report.json --format json
hashcat-rosetta debug_output.txt --export report.csv --format csv
बताएँ कि एक hashcat नियम चरण-दर-चरण क्या करता है:
hashcat-rosetta --explain "c$1" --baseword admin
hashcat-rosetta --explain "u$!" --baseword myword
एक स्थानीय LLM का उपयोग करके अंग्रेजी विवरणों से hashcat मास्क उत्पन्न करें:
hashcat-rosetta --mask "The word 'Summer' followed by six digits."
आउटपुट:
Mask Suggestions for: 'The word 'Summer' followed by six digits.'
======================================================================
1. Summer?d?d?d?d?d?d
literal "Summer", then 6 × digit → 1,000,000 candidates
Why: matches the literal word followed by a 6-digit number
उत्पन्न मास्क को एक फ़ाइल में सहेजें:
hashcat-rosetta --mask "The word 'Summer' followed by six digits." -o masks.hcmask
अन्य विवरणों से मास्क उत्पन्न करें:
hashcat-rosetta --mask "a capitalized season, two digits, and a special char"
hashcat-rosetta --mask "year 2020-2025 followed by exclamation or question mark"
मास्क जनरेशन सुविधा एक स्थानीय Ollama सर्वर का उपयोग करती है जो OpenAI-संगत चैट
एंडपॉइंट चला रहा है। डिफ़ॉल्ट रूप से, यह http://localhost:11434 से कनेक्ट होता है और मॉडल
gemma3:27b का उपयोग करता है (नीचे देखें)। इन्हें पर्यावरण चर
या CLI फ़्लैग के माध्यम से कॉन्फ़िगर किया जा सकता है:
# पर्यावरण चर का उपयोग करना
OLLAMA_HOST=http://192.168.1.100:11434 OLLAMA_MODEL=llama2:70b \
hashcat-rosetta --mask "your description here"
# CLI फ़्लैग का उपयोग करना (पर्यावरण चर को ओवरराइड करता है)
hashcat-rosetta --mask "your description" --ollama-host http://custom.host:11434 --model llama2
सुरक्षा नोट: मास्क विवरण केवल उस Ollama एंडपॉइंट पर भेजे जाते हैं जिसे आप कॉन्फ़िगर करते हैं
(डिफ़ॉल्ट रूप से localhost, या जहाँ --ollama-host/OLLAMA_HOST इंगित करता है) — कभी भी किसी
क्लाउड प्रदाता को नहीं। OpenAI SDK का उपयोग विशुद्ध रूप से उस एंडपॉइंट के विरुद्ध एक HTTP क्लाइंट के रूप में किया जाता है;
कोई डेटा या API कुंजी कभी भी api.openai.com पर प्रसारित नहीं की जाती है।
gemma3:27b क्यों?डिफ़ॉल्ट को scripts/benchmark_mask_models.py द्वारा चुना जाता है, जो 14 --mask-शैली
प्रॉम्प्ट्स का एक निश्चित सेट चलाता है — जिसमें कस्टम-चारसेट बैक-रेफरेंस और श्रेणी-रिकॉल
प्रॉम्प्ट्स (बाइबल की पुस्तकें, बाइबल पद संदर्भ, यूरोपीय राजधानी शहर) शामिल हैं — हर
स्थानीय रूप से स्थापित उम्मीदवार मॉडल के विरुद्ध और प्रत्येक प्रतिक्रिया को तीन तरीकों से ग्रेड करता है:
mp64 (maskprocessor) के विरुद्ध सत्यापित किया जाता है, जब स्थापित हो — यह वही
जाँच है जो generate_masks() स्वयं उत्पादन में प्रत्येक सुझाव पर चलाता है, इसलिए यहाँ एक
बेंचमार्क हार्ड फेल का अर्थ है कि वास्तविक --mask उपयोग ने भी इसे अस्वीकार कर दिया होता।gemma3:12b एक दूसरी मशीन पर, विशेष रूप से इसलिए चुना गया
क्योंकि यह स्वयं एक उम्मीदवार नहीं है — स्व-ग्रेडिंग पूर्वाग्रह से बचता है) प्रत्येक प्रतिक्रिया को
1-5 तक स्कोर करता है कि यह मूल अनुरोध को कितनी अच्छी तरह संतुष्ट करती है। अनुरोध थिंकिंग सक्षम
के साथ भेजे जाते हैं, क्योंकि एक धीमा मॉडल वैसे भी राउंड-ट्रिप समय खर्च करता है।अनुशंसित डिफ़ॉल्ट शून्य हार्ड फेल और औसत जज स्कोर ≥ 4 वाला सबसे छोटा मॉडल है। पिछले राउंड से आगे बढ़ाए गए तीन फाइनलिस्ट, पूर्ण 14-प्रॉम्प्ट सेट के विरुद्ध फिर से चलाए गए:
| मॉडल | आकार | हार्ड फेल | औसत स्कोर | समय |
|---|---|---|---|---|
gemma3:27b | 16.2 GB | 0 | 4.1 | 180s |
dengcao/Qwen3-30B-A3B-Instruct-2507:latest | 17.4 GB | 1 | 4.5 | 176s |
laguna-xs-2.1:latest | 18.9 GB | 2 | 4.7 | 730s |