Skip to content
  • mdxfind info

    Pinned Locked mdxfind
    6
    2 Votes
    6 Posts
    2k Views
    cycloneC
    mdxfind 1.136 (2025-11-10) - Fixed obscure bug affecting certain lengths of input strings when doing parallel-processed rules-based hashing. Discovered by hops. - Replaced Intel (.mac) and Apple Silicon (.macm1) with MacOSX universal binaries. The final .mac-m1 and .mac-intel versions are in ./archive/retired if needed. Download: https://www.techsolvency.com/pub/bin/mdxfind/ Mirror: https://github.com/cyclone-github/mdxfind/
  • hashes.com Escrow API Tool

    Hash Cracking
    4
    1 Votes
    4 Posts
    2k Views
    cycloneC
    New version released. https://github.com/cyclone-github/hashes.com-escrow-tool/releases/tag/v1.1.2 v1.1.2; 2025-11-21 fixed redundant new line logic added http timeouts Full Changelog: https://github.com/cyclone-github/hashes.com-escrow-tool/compare/v1.1.1...v1.1.2
  • xiaopan forum

    General Discussion
    1
    0 Votes
    1 Posts
    294 Views
    No one has replied
  • nvflash (nvidia vbios flash tool)

    Tools
    1
    0 Votes
    1 Posts
    673 Views
    No one has replied
  • 1 Votes
    6 Posts
    1k Views
    T
    RAR hash-mode๏ผš23800 23800.txt
  • ๐ŸŽ‰ Happy 1st Birthday, hashpwn! ๐ŸŽ‰

    Announcements & Comments
    5
    0 Votes
    5 Posts
    1k Views
    C
    Hey @cyclone and the whole hashpwn crew โ€” sorry for being 10 days late to the party, but congrats on the 1st anniversary! What youโ€™ve built in just a year is straight-up legendary โ€” a global powerhouse for hash cracking minds. Huge respect for keeping the scene alive, open, and fun. Hereโ€™s to many more years of cracking, sharing, and pushing limits together. Happy Birthday, hashpwn!
  • ~90kk MD5 Hashfile for Debugging and Benchmarking

    Resources
    2
    0 Votes
    2 Posts
    629 Views
    P
    That's great, thank you.
  • wordlists for a specific country

    General Discussion
    3
    0 Votes
    3 Posts
    565 Views
    A1131A
    CN passwords International
  • Emails rules extractor

    Scripts
    2
    0 Votes
    2 Posts
    726 Views
    A1131A
    Analyzes and displays the top 20 (customizable by def print_top_domains) overall domains (NEW). Ready to use in script. #!/usr/bin/env python3 """ Email-Based Hashcat Rule Extractor This script processes a file containing email addresses, extracts trailing digit sequences from the usernames (before the '@'), filters them by specified domains, and generates Hashcat-compatible rule strings. It first displays the top 20 most frequent domains in the input file to help the user decide which domains to target for rule extraction. Functionality: - Reads email addresses from an input file. - **Analyzes and displays the top 20 overall domains (NEW).** - Filters addresses by user-specified domain(s) (e.g., 'gmail.com', 'yahoo.com'). - Extracts trailing digits from the local-part (e.g., 'user123' -> '123'). - Groups and counts digit-domain combinations. - Generates Hashcat rules from the most common combinations. - Saves rules to an output file. - Displays the top 5 most frequent patterns with example emails. Usage: - Run the script and provide: 1. Path to the input file containing emails (one per line). 2. Comma-separated list of domains to filter (after seeing the top domains). 3. Path to save the output Hashcat rules. """ import sys import re from collections import Counter, defaultdict def get_file_path(prompt): """Handles continuous prompting until a non-empty path is entered.""" while True: path = input(prompt).strip() if path: return path print("Path cannot be empty. Please try again.") def extract_data_from_email(email): """ Extracts the local part and domain from an email. Returns (digits, domain) if the local part ends in digits, otherwise None. """ # Regex to validate email structure and separate user/domain match = re.match(r'^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$', email.strip()) if not match: return None user, domain = match.groups() domain = domain.lower() # Normalize domain to lowercase # Check for trailing digits in the local part (username) digits_match = re.search(r'(\d+)$', user) if digits_match: digits = digits_match.group(1) return digits, domain return None def string_to_hashcat_rule(s): """Converts a string (e.g., '[email protected]') to a Hashcat rule (e.g., '$1$2$3$@$g$m$a$i$l$.$c$o$m').""" return ''.join(f"${c}" for c in s) def print_top_domains(file_path, limit=20): # edit limit if required """Reads the file, counts all domains, and prints the top 'limit' domains.""" domain_counts = Counter() try: with open(file_path, 'r', encoding='utf-8') as f: for line in f: email = line.strip() if '@' in email: # rsplit ensures we only split once from the right _, domain = email.rsplit('@', 1) if domain: domain_counts[domain.lower()] += 1 except FileNotFoundError: print(f"\nError: File not found at '{file_path}'", file=sys.stderr) return False except Exception as e: print(f"\nAn error occurred while reading the file: {e}", file=sys.stderr) return False top_domains = [f"{domain} ({count})" for domain, count in domain_counts.most_common(limit)] print("\n" + "="*50) print(f"๐Ÿฅ‡ Top {limit} Domains Found in the Input File:") print("="*50) # Print the top domains comma-separated, without spaces, just like the original request's output print(','.join(domain for domain, count in domain_counts.most_common(limit))) print("="*50 + "\n") return True def main(): """Main function to handle user input, file processing, and rule generation.""" print("--- Hashcat Rule Extractor for Email Patterns ---") # 1. Get Input Path and Print Top Domains input_path = get_file_path("Enter path to input file containing emails: ") # Display the top domains before proceeding if not print_top_domains(input_path, limit=20): # Exit if file reading failed in print_top_domains sys.exit(1) # 2. Get Domains to Filter domains_input = input("Enter comma-separated domains to filter (e.g., gmail.com,yahoo.com): ").strip() # 3. Get Output Path output_path = get_file_path("Enter path to save generated hashcat rules: ") domains_to_include = set(domain.strip().lower() for domain in domains_input.split(',') if domain.strip()) if not domains_to_include: print("\nWarning: No domains were specified for filtering. Exiting.", file=sys.stderr) sys.exit(0) counter = Counter() examples = defaultdict(list) print("\nProcessing file...") try: with open(input_path, 'r', encoding='utf-8') as f: for line in f: email = line.strip() extracted = extract_data_from_email(email) if extracted: digits, domain = extracted if domain in domains_to_include: key = (digits, domain) counter[key] += 1 # Store a few examples for display later if len(examples[key]) < 3: examples[key].append(email) except Exception as e: print(f"An error occurred during file processing: {e}", file=sys.stderr) sys.exit(1) sorted_items = counter.most_common() # 4. Write Rules to Output File try: with open(output_path, 'w', encoding='utf-8') as out: for (digits, domain), count in sorted_items: rule = string_to_hashcat_rule(digits + '@' + domain) out.write(f"{rule}\n") except Exception as e: print(f"Error writing to output file '{output_path}': {e}", file=sys.stderr) sys.exit(1) # 5. Display Summary print(f"\nDone! {len(sorted_items)} rules written to {output_path}") print("\nTop 5 extracted rules with examples:") if not sorted_items: print(" No patterns found matching the specified domains and having trailing digits.") return for (digits, domain), count in sorted_items[:5]: rule = string_to_hashcat_rule(digits + '@' + domain) print(f" Rule: {rule} | Count: {count} | Examples: {', '.join(examples[(digits, domain)])}") if __name__ == '__main__': main() https://raw.githubusercontent.com/A113L/Bucket/refs/heads/main/emailr.py
  • Hashcat Rules

    Hashcat Rules
    17
    0 Votes
    17 Posts
    4k Views
    oe3p32wedwO
    thanks for your work!
  • 41M+ 40hex Hashes

    Standard: MD5, SHA1, SHA256, etc.
    4
    0 Votes
    4 Posts
    998 Views
    V
    I think I did a quick run, just using cpu, currenctly I don't have a gpu, and many sql5 are short in lenght, and also being only numbers. This might help to anyone interested to give a run with only that algo, cleaneaning this kind of specific stuff.
  • 25 Hashes or Less Requests (Windows)

    Pinned Windows: LM, NTLM, DCC, DCC2
    5
    1 Votes
    5 Posts
    1k Views
    cycloneC
    @crack365 said in 25 Hashes or Less Requests (Windows): hashcat -m 1000 john --format=NT john --format=NT-opencl 0589F1147BA9F4948414E55E6CF2CE5C 8A53B66F187C676F601870B88E5F4E4D 69AF03F8B8E64F288131D2CDD62CAF74 539A615622475F3012BD9640D506E8E5 A724A56F02F8AEC08162AE1E7CFF60EA ACA40560CDE197233A22612BFA171057 B0E03A1682720A09A58BDE5DDE19F423 C95A4DC54A57D3ABDF8E04B8CE2FF27C D8B7ED5A849075C04AB341C2FA249F06 E25704E15CC5CF6C1EDA64D92720DF4F 764DB1FE05BF0E6D5E65EEB5DFC69FC9 CA9000D2022576A4ABE77A2344138C76 b0e03a1682720a09a58bde5dde19f423:update159
  • 25 Hashes or Less Requests (Standard)

    Pinned Standard: MD5, SHA1, SHA256, etc.
    10
    1 Votes
    10 Posts
    2k Views
    cycloneC
    @crack365 said in 25 Hashes or Less Requests (Standard): 0b06813ab7717dd7423d9bbef3572c91 7e49578820c4dd7c15391fcce4d4312b 37befe5d759b1077abc4f6ebd71feea9 55fdd5a905ad789303eecb65a53a8abb 61ac8215828ad230e5ff964037dc7741 85a76f2c339fbf38706625a438c78583 125efd3a22d5e7707b318d9aa11567bc 251a428ee267340c75b0c5b53d065d17 4781d31eb4a26322cadb81b46d984410 9170cd29916bc3ad5692415facc09446 93414c61d4a24443a36c8f6b9b79f2b3 750961df1b1d3bfd568a24185cd869bc 92450469b138edd7529d1fdfae6b095b c07d8f5b5fcf63c4a847087d02653642 ce05f8b8ccec2697d3feaeac62c31226 d67c5240977e949d591da2f9cdabecc0 d80b01fb0b5e73695f3bf651a23f47b8 ec1bddfbc3e66f1fed12416baec7b709 Found: 9170cd29916bc3ad5692415facc09446:parisiivogel
  • 940k MD5 Hashes

    Standard: MD5, SHA1, SHA256, etc.
    6
    0 Votes
    6 Posts
    1k Views
    N
    -m2600 759_found.txt 206509_left.7z
  • Pro Tips

    Pinned Resources jtr
    14
    4 Votes
    14 Posts
    3k Views
    freerouteF
    Title: hcxcommic. ZeroBeat: ZeroBeat Source: https://github.com/ZerBea/hcxtools Description:It takes as input a 22000 hashcat -o file and a hash file and converts it to a HEX:PLAIN file. Accepted by hashmob if the MIC is in both input files present. That makes it much easier to submit findings to hashmob.net. Download a 22000 left list from hashmob either via web interface (filter by 22000) https://hashmob.net/hashlists/user or by ID (get if via web interface (https://hashmob.net/hashlists/user) I prefer via ID: (12612 is the ID shown in hm web interface: $ wget https://cdn.hashmob.net/hashlists/12589/125892.left Run hashcat against this list and use its -o option to store the findings to file! Either use your own word list $ hashcat -m 22000 -o 12589.found 12589.left wordlist ... Recovered........: 8/3358 (0.24%) Digests (total), 8/3358 (0.24%) Digests (new), 8/2857 (0.28%) Salts ... Or get one from wpa-sec $ wget https://wpa-sec.stanev.org/dict/cracked.txt.gz $ hashcat -m 22000 -o 12589.found 12589.left wordlist Generate the hash file accepted by hm: $ hcxcommic 12589.found 12589.left > hm.found Submit hm.found to hashmob (choose 22000). Note: hasmob marks some hashes as invalid. That's because hashmob has a massif(!) missing new line (\0a) problem! It has been reported.
  • Wordpress v6.8 Bcrypt - hmac-sha384

    General Discussion
    1
    1 Votes
    1 Posts
    1k Views
    No one has replied
  • Quick Way to Crack VB 2611 Salts

    Scripts
    2
    0 Votes
    2 Posts
    935 Views
    A1131A
    #!/bin/bash # simple script to save your time on file operations while cracking vBulletin < 3.8.5 hashes without salts using hashcat # popular types of vBulletin salt - ?a?a?a, ?h?h?h?h?h?h, ?d?d?d?d?d # download hashgen - https://github.com/cyclone-github/hashgen (used to convert $[HEX] hashes with colon-containing salts and generating hashed wordlist) # Function to read file paths with validation read_file_path() { local prompt="$1" local result_var="$2" local path while true; do read -r -p "$prompt" path if [ -f "$path" ]; then # Use eval to set the variable passed by name eval "$result_var=\"$path\"" break else echo "ERROR: File not found: $path. Please try again." fi done } echo "--- Interactive vBulletin Salt Cracker Configuration ---" # --- Input Acquisition --- # 1. Hash list path read_file_path "Enter the path to the hash list (e.g., hashlists/main.txt): " HASHLIST_PATH # 2. Wordlist path read_file_path "Enter the path to the wordlist (e.g., wordlists/top1000.txt): " WORDLIST_PATH # 3. Mask (optional, with default value) read -r -p "Enter the mask for salt cracking (e.g., ?h?h?h?h?h?h) [Default: ?a?a?a]: " CRACKING_MASK if [ -z "$CRACKING_MASK" ]; then CRACKING_MASK="?a?a?a" fi # Generate dynamic paths WORDLIST_BASENAME=$(basename "$WORDLIST_PATH") HASHED_WORDLIST_PATH="md5_wordlists/${WORDLIST_BASENAME}.md5" echo "--- Settings Confirmed ---" echo "Hash List: $HASHLIST_PATH" echo "Word List: $WORDLIST_PATH" echo "Mask: $CRACKING_MASK" echo "Hashed Word List Output: $HASHED_WORDLIST_PATH" echo "------------------------------" sleep 2s # --- Tool Verification --- if ! command -v hashcat &> /dev/null; then echo "ERROR: hashcat not found. Ensure it is in your PATH." exit 1 fi if [ ! -f ./hashgen ]; then echo "ERROR: The ./hashgen file was not found. Ensure it is in the current directory and is executable." exit 1 fi # --- STEP 1: Potfile Cleanup --- echo "--- STEP 1: Cleaning potfile ---" if [ -f "hashed.pot" ]; then echo "Creating backup: hashed.pot -> hashed.pot.bak" cat hashed.pot >> hashed.pot.bak 2>/dev/null else echo "hashed.pot not found, skipping backup." fi echo '' > hashed.pot sleep 3s # --- STEP 2: Generate Hashed Wordlist --- echo "--- STEP 2: Generating hashed wordlist ---" mkdir -p md5_wordlists ./hashgen -m 0 -w "$WORDLIST_PATH" -o "$HASHED_WORDLIST_PATH" sleep 3s # --- STEP 3: Crack Salts --- echo "--- STEP 3: Cracking salts (Mode -m0 -a6) ---" hashcat -d1 -m0 -a6 -w4 --hwmon-temp-abort=95 --potfile-path=hashed.pot "$HASHLIST_PATH" "$HASHED_WORDLIST_PATH" "$CRACKING_MASK" --remove sleep 3s # --- STEP 4: Prepare Hashes for Wordlist Cracking --- echo "--- STEP 4: Preparing hashes for cracking (m2611 format) ---" sleep 3s # 1. Process NON-HEX lines (already cracked passwords) # Corrected format: HASH:PLAINTEXT (Single colon) grep -v HEX hashed.pot | sed 's/^\(.\{65\}\)/\1:/' | cut -d: -f1,3 | sed -E 's/^(.{32}):(.*)$/\1:\2/' > 2611_to_crack.txt sleep 3s echo "Converting HEX strings" # 2. Convert HEX strings grep HEX hashed.pot | cut -d: -f2 > hex.tmp grep HEX hashed.pot | cut -d: -f1 > hash.txt ./hashgen -m plaintext -w hex.tmp -o hex.txt sleep 3s # 3. Combine HEX hashes and append to 2611_to_crack.txt # Corrected format: HASH:HEX_SALT (Single colon) paste -d : hash.txt hex.txt | sed -E 's/^(.{32}):(.*)$/\1:\2/' >> 2611_to_crack.txt sleep 3s echo "Deleting temporary files" # 4. Remove temporary files rm -f ./{hash.txt,hex.txt,hex.tmp} sleep 3s # --- STEP 5: Crack Hashes with Wordlist (Mode -m2611) --- echo "--- STEP 5: Cracking hashes with wordlist -a0 -m2611 ---" hashcat -d1 -m2611 -a0 -w4 --potfile-path=hashcat.pot.salted 2611_to_crack.txt "$WORDLIST_PATH" sleep 3s # --- STEP 6: Export Cracked Hashes --- echo "--- STEP 6: Writing/Appending last cracked hashes into file ---" hashcat -d1 -m2611 -a0 -w4 -O --hwmon-temp-abort=95 --hwmon-disable --potfile-path=hashcat.pot.salted 2611_to_crack.txt --show > 2611_cracked.txt sleep 3s echo "Done." Preview
  • Definition of the hashing algorithm.

    Unknown Algo
    1
    0 Votes
    1 Posts
    738 Views
    No one has replied
  • Terms of Service & Privacy Policy

    Pinned Locked Forum Rules (MUST READ)
    1
    0 Votes
    1 Posts
    880 Views
    No one has replied
  • Import Hashcat Rules into John the Ripper

    John the Ripper
    2
    2 Votes
    2 Posts
    1k Views
    C
    I do it like this since I'm a windows user I go to cygwin64/home/pcname/JtR/run/rules Use e.g. best64.rule file Copy your hashcat rules to best64.rule file and save and you can run your hashcat rules from file best64.rule That way I don't have to edit my config file since I don't use JtR that often

Who's Online [Full List]

14 users active right now (4 members and 10 guests).
hashpwn-bot, cyclone, Waffle, danail

Board Statistics

Our members have made a total of 11.0k posts in 179 topics.
We currently have 380 members registered.
Please welcome our newest member, Waffle.
The most users online at one time was 49 on Thursday, December 26, 2024.