
hate_crack v2.36.1
TrustedSec टीम द्वारा Hashcat के माध्यम से क्रैकिंग कार्यप्रणालियों को स्वचालित करने के लिए एक उपकरण।
___ ___ __ _________ __
/ | \_____ _/ |_ ____ \_ ___ \____________ ____ | | __
/ ~ \__ \\ __\/ __ \ / \ \/\_ __ \__ \ _/ ___\| |/ /
\ Y // __ \| | \ ___/ \ \____| | \// __ \\ \___| <
\___|_ /(____ /__| \___ >____\______ /|__| (____ /\___ >__|_ \
\/ \/ \/_____/ \/ \/ \/ \/
इंस्टॉलेशन
सोर्स से इंस्टॉल करना ही एकमात्र समर्थित तरीका है। hate_crack PyPI पर वितरित नहीं किया जाता: pip install hate-crack एक 0.0.0 प्लेसहोल्डर को हल करता है जो जानबूझकर विफल होता है और वापस यहीं इंगित करता है। यह नाम केवल इसलिए रखा गया है ताकि कोई और इसके अंतर्गत मिलता-जुलता पैकेज प्रकाशित न कर सके — देखें
packaging/pypi-placeholder/।
1. hashcat इंस्टॉल करें
Hashcat इंस्टॉल होना चाहिए और आपके PATH में उपलब्ध होना चाहिए:
Ubuntu/Kali:
sudo apt-get install -y hashcat
macOS (Homebrew):
brew install hashcat
या https://hashcat.net/hashcat/ से पहले से बना बाइनरी डाउनलोड करें और config.json में hcatPath को उसके स्थान पर सेट करें।
2. hate_crack डाउनलोड करें
सबमॉड्यूल के साथ क्लोन करें (hashcat-utils, princeprocessor, pcfg_cracker, Corporate_Masks, और वैकल्पिक रूप से omen के लिए आवश्यक):
git clone --recurse-submodules https://github.com/trustedsec/hate_crack.git
cd hate_crack
यदि आपने सबमॉड्यूल के बिना क्लोन किया है, तो उन्हें इनिशियलाइज़ करें:
git submodule update --init --recursive
फिर ज़रूरत पड़ने पर कॉन्फ़िगरेशन कस्टमाइज़ करें। hate_crack दो कॉन्फ़िग फ़ाइलों का उपयोग करता है, जिनमें से प्रत्येक सेटिंग्स का एक अलग सेट रखती है:
config.json— wordlist पाथ, मास्क, नियम, ट्यूनिंग, potfile, hashcat पाथ, कैंडिडेट सीमाएँ, नोटिफ़िकेशन टॉगल, CLI प्रेफ़रेंस डिफ़ॉल्ट (35 सेटिंग्स)।.env— केवल थर्ड-पार्टी इंटीग्रेशन सेटिंग्स: Hashview और Hashmob क्रेडेंशियल, Pushover क्रेडेंशियल, Ollama, और pipal (14 सेटिंग्स)। git द्वारा ट्रैक नहीं किया जाता, मोड0600पर बनाया जाता है।
यह विभाजन एक कारण से यहाँ पड़ता है: .env वह फ़ाइल है जिसमें सीक्रेट्स हो सकते हैं। थर्ड-पार्टी सेवाओं के क्रेडेंशियल और कॉन्फ़िगरेशन अनट्रैक्ड, 0600 फ़ाइल में जाते हैं; hate_crack जो कुछ भी लोकली करता है वह config.json में रहता है, जिसे शेयर करना, diff करना और अपने नोट्स में चेक-इन करना सुरक्षित है। यही कारण है कि Pushover क्रेडेंशियल .env में हैं जबकि Pushover on/off टॉगल config.json में हैं — टॉगल लोकल प्रेफ़रेंस हैं, सीक्रेट्स नहीं।
प्रत्येक key का ठीक एक ही घर है। दूसरी फ़ाइल में रखी key को अनदेखा किया जाता है, और hate_crack उस फ़ाइल का नाम बताते हुए एक चेतावनी प्रिंट करता है जिसमें वह होनी चाहिए। किसी भी key को एक बार चलाने के लिए उसका environment variable export करके ओवरराइड किया जा सकता है। अधिकांश उपयोगकर्ता इस चरण को छोड़ सकते हैं क्योंकि डिफ़ॉल्ट पाथ बिना किसी सेटअप के काम करते हैं।
config.json स्थायी और फ़र्स्ट-क्लास है — यह डेप्रिकेटेड नहीं है और इसके लिए कोई हटाने की समयसीमा नहीं है। केवल इंटीग्रेशन सेटिंग्स ही स्थानांतरित हुई हैं।
एकल config.json से अपग्रेड कर रहे हैं? hate_crack पहली बार चलाने पर इसे आपके लिए माइग्रेट कर देता है: इंटीग्रेशन सेटिंग्स को एक नई 0600 .env में कॉपी किया जाता है, फिर config.json से हटा दिया जाता है ताकि दोनों फ़ाइलें उन पर दावा न करें। यह प्रिंट करता है कि कौन सी keys स्थानांतरित हुईं (उनके मान कभी नहीं), और इसे छूने से पहले आपके मूल को config.json.pre-split.bak के रूप में सहेजता है। config.json में बाकी सब कुछ बिल्कुल वैसा ही छोड़ दिया जाता है, key क्रम सहित।
पहली बार चलाना: hate_crack आपके लिए दोनों फ़ाइलें बना देता है, इसलिए करने के लिए कुछ नहीं है। इसके बजाय .env को हाथ से सेट करने के लिए, ट्रैक्ड टेम्पलेट कॉपी करें:
cp .env.example .env
chmod 600 .env
.env.example कमिट किया जाता है और हर क्रेडेंशियल कुंजी खाली के साथ भेजा जाता है। .env स्वयं कभी कमिट नहीं किया जाना चाहिए — यह gitignored है, इसके सामान्य बैकअप स्पेलिंग्स के साथ, और hate_crack इसे हमेशा मोड 0600 (केवल मालिक पढ़/लिख सकता है) पर बनाता है। .env.example स्कीमा से जनरेट किया जाता है; hate_crack/config_schema.py को बदलने के बाद इसे uv run python -m hate_crack.config_writer के साथ पुनः जनरेट करें।
3. निर्भरताएँ और hate_crack इंस्टॉल करें
सबसे आसान तरीका है make (या make install) चलाना, जो आपके OS का स्वतः पता लगाता है और इंस्टॉल करता है:
- बाहरी निर्भरताएँ (p7zip, transmission-daemon / transmission-remote)
- सबमॉड्यूल बनाता है (hashcat-utils, princeprocessor, pcfg_cracker, और वैकल्पिक रूप से omen) और केवल-डेटा Corporate_Masks मास्क सेट को चेकआउट करता है
- uv के माध्यम से Python निर्भरताएँ और
~/.local/bin/hate_crackपर एक CLI शिम
make
यह idempotent है - यह पहले से इंस्टॉल किए गए टूल्स को छोड़ देता है। साफ़ पुनःस्थापन के लिए बाध्य करने हेतु:
make reinstall
या निर्भरताओं को मैन्युअल रूप से इंस्टॉल करें:
बाहरी निर्भरताएँ
ये कुछ डाउनलोड/निष्कर्षण प्रवाहों के लिए आवश्यक हैं:
7z/7za(p7zip) —.7zसंग्रहों को निकालने के लिए उपयोग किया जाता है।transmission-daemon/transmission-remote— Weakpass टोरेंट डाउनलोड करने के लिए उपयोग किया जाता है।
मैन्युअल इंस्टॉल कमांड:
Ubuntu/Kali:
sudo apt-get update
sudo apt-get install -y p7zip-full transmission-daemon
macOS (Homebrew):
brew install p7zip transmission-cli # provides transmission-daemon and transmission-remote
फिर Python निर्भरताएँ और CLI shim इंस्टॉल करें:
uv sync
mkdir -p ~/.local/bin
printf '#!/usr/bin/env bash\nset -euo pipefail\nexec uv run --directory %s python -m hate_crack "$@"\n' "$(pwd)" > ~/.local/bin/hate_crack
chmod +x ~/.local/bin/hate_crack
परियोजना संरचना
मुख्य लॉजिक अब hate_crack/ के अंतर्गत मॉड्यूल में विभाजित है:
hate_crack/cli.py: argparse सहायक और कॉन्फ़िग ओवरराइड।hate_crack/api.py: Hashview, Weakpass, और Hashmob एकीकरण (डाउनलोड/मेनू/सहायक)।hate_crack/attacks.py: मेनू हमला हैंडलर।hate_crack/corpus_stats.py: LLM को कॉर्पस का वर्णन करने के लिए उपयोग किए जाने वाले संपूर्ण-कॉर्पस पासवर्ड आंकड़े।hate_crack/plaintext.py: कॉर्पस लाइन से पासवर्ड पुनर्प्राप्त करता है (हैश-प्रीफ़िक्स स्ट्रिपिंग,$HEX[...]डिकोडिंग); LLM मोड, corpus_stats, और rulegen द्वारा साझा किया गया।hate_crack/llm.py: Atomic Agents के माध्यम से संरचित (JSON) LLM उम्मीदवार जनरेशन।hate_crack/menu.py: साझा मेनू रेंडरर, जिसमें वैकल्पिक एरो-की नेविगेशन शामिल है।hate_crack/noninteractive.py: स्क्रिप्टेड हमला सबकमांड के लिए डिस्पैचर।hate_crack/notify/: नोटिफिकेशन पैकेज (Pushover बैकएंड, प्रति-क्रैक टेलर)।hate_crack/username_detect.py: hashcat के--usernameपर निर्णय लेने के लिएusername:hashइनपुट फ़ाइलों का पता लगाता है।hate_crack/formatting.py,hate_crack/progress.py: आउटपुट फ़ॉर्मेटिंग और प्रगति प्रदर्शन सहायक।hate_crack/main.py: मुख्य CLI कार्यान्वयन।
शीर्ष-स्तरीय hate_crack.py मुख्य प्रवेश बिंदु बना हुआ है और इन मॉड्यूलों का समन्वय करता है।
संदर्भ और धन्यवाद
यह परियोजना कई बाहरी परियोजनाओं और सेवाओं पर निर्भर करती है और उनसे प्रेरित है। धन्यवाद:
- Hashview (http://github.com/hashview/)
- Weakpass (https://weakpass.com)
- Hashmob (https://hashmob.net)
उपयोग
make के साथ इंस्टॉल करने के बाद, hate_crack को कहीं से भी चलाएं:
hate_crack
# or with arguments:
hate_crack <hash_file> <hash_type> [options]
वैकल्पिक रूप से, uv के माध्यम से चलाएँ:
uv run hate_crack.py <hash_file> <hash_type>
टूल के रूप में चलाएँ (अनुशंसित)
रिपॉज़िटरी रूट से make का उपयोग करके इंस्टॉल करें - यह सबमॉड्यूल बनाता है और एसेट्स को बंडल करता है:
cd /path/to/hate_crack
make
hate_crack
make install कमांड ~/.local/bin/hate_crack पर एक bash शिम बनाता है जो रेपो डायरेक्टरी से चलता है, इसलिए कॉन्फ़िग और एसेट्स हमेशा मिल जाते हैं, चाहे आपकी वर्तमान वर्किंग डायरेक्टरी कोई भी हो।