Skip to content

Azazelx0/grimoire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GRIMOIRE ๐Ÿ”ฎ

GRIMOIRE Banner

An advanced wordlist/password generator combining CeWL-style web crawling, CUPP-style target profiling, Hashcat-compatible mutations, OSINT scraping, Markov generation, and more โ€” all in pure Python with a beautiful interactive TUI.

Python 3.9+ License: MIT GitHub


โœจ Features

Feature Description
๐Ÿ•ท Web Crawling Static HTTP + optional headless JS rendering (Playwright). Configurable depth, delay, proxy
๐ŸŽฏ Target Profiling CUPP-style โ€” name, DOB, partner, pet, company โ†’ personalized wordlists
๐Ÿงฌ Mutation Engine Leet speak, case variants, append numbers/symbols/years, reverse, duplicate
๐Ÿ“œ Hashcat Rules Full .rule file parser: :, l, u, c, C, r, d, $X, ^X, sXY, TN
๐Ÿ“ง Email Harvesting RFC-compliant email extraction during crawl
๐Ÿ” OSINT Scraper Extract keywords from Instagram, X (Twitter), LinkedIn, and GitHub profiles
๐Ÿ”€ Combo Attack Merge two wordlists by concatenating every pair
๐ŸŽญ Mask Generator Pattern-based generation (?u?l?l?d?d โ†’ Ab3c12)
๐Ÿ“ก Wi-Fi Wordlist ESSID/vendor-based password generation with common patterns
๐ŸŒ Locale Packs Language-specific common passwords (EN, TR, DE, ES, FR, AR)
๏ฟฝ Wordlist Analysis Length histograms, charset breakdown, entropy, pattern detection
๐Ÿ”— Chain Pipeline Multi-step mutations: leet -> numbers(0-99) -> policy(min:8)
๐Ÿ“ Recipe System YAML-based automation: crawl โ†’ profile โ†’ mutate โ†’ filter โ†’ export
๐Ÿงฌ Markov Generator Train on wordlists, generate statistically probable passwords
๐Ÿ›ก Policy Filter Filter output by password requirements (min/max length, upper, digit, special)
๏ฟฝ Alecto DB Bundled default device credentials (routers, IoT, network gear)
๐Ÿ“ฅ Dict Downloader Fetch curated wordlists from SecLists by category
๐Ÿ“ˆ Dict Improver Feed existing wordlists through the mutation engine
๐Ÿ”„ Deduplication Exact + fuzzy (Levenshtein-based) dedup
๐Ÿ“ค Multi-Format Output: plaintext, JSON (with frequency), Hashcat rules
๐ŸŽจ Rich TUI Beautiful colored interface powered by Rich โ€” no raw ANSI escape codes
๐Ÿ” Interactive REPL Tab-complete shell โ€” mutate, export, analyze, profile without restarting

๐Ÿš€ Quick Start

Install

git clone https://github.com/Azazelx0/grimoire.git
cd grimoire
pip install -r requirements.txt
pip install -e .

Run

grimoire              # Interactive wizard (14 modes)
grimoire --help       # Full flag reference

Interactive Mode

Running grimoire without flags launches the interactive mode selector:

? Select mode
โฏ ๐Ÿ•ท  Web Crawl         โ€” Extract words from a URL
  ๐ŸŽฏ Profile Target     โ€” CUPP-style personal profiling
  ๐Ÿ“ˆ Improve Dict       โ€” Mutate an existing wordlist
  ๐Ÿ“ฅ Download Lists     โ€” Fetch curated wordlists
  ๐Ÿ” Default Creds      โ€” Dynamic default credentials database
  ๐Ÿ”€ Combo Attack       โ€” Merge two wordlists
  ๐ŸŽญ Mask Generator     โ€” Pattern-based generation
  ๐Ÿ” OSINT Scraper      โ€” Social media profiling
  ๐Ÿ“ก Wi-Fi Wordlist     โ€” ESSID/vendor-based passwords
  ๐ŸŒ Locale Packs       โ€” Language-specific passwords
  ๐Ÿ“Š Analyze Wordlist   โ€” Statistics & analysis
  ๐Ÿ”— Chain Pipeline     โ€” Multi-step mutations
  ๐Ÿ“ Run Recipe         โ€” Execute YAML recipe
  ๐Ÿงฌ Markov Generator   โ€” Statistical password generation
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  ๐Ÿ”„ Update GRIMOIRE    โ€” Pull latest from GitHub

๐Ÿ“– Usage Examples

Web Crawl

# Basic crawl
grimoire --url https://example.com --depth 2 -o wordlist.txt

# With mutations + emails
grimoire --url https://target.com --depth 3 --emails --mutate --leet -o mutated.txt

# JS-heavy site (requires: pip install playwright && playwright install chromium)
grimoire --url https://spa-app.com --mode headless -o js-words.txt

# Authenticated + stealth
grimoire --url https://intranet.corp.com \
  --cookie "PHPSESSID=abc123" \
  --proxy socks5://127.0.0.1:9050 \
  --random-ua --delay 1000 -o stealth.txt

Target Profiling (CUPP-style)

# Interactive
grimoire  # โ†’ select "Profile Target"

# Scripted
grimoire --profile "name=John last=Smith dob=1990 pet=Rex company=Acme" -o john.txt

Mask Generator

# Generate all ?u?l?l?d?d combinations (Aaa00-Zzz99)
grimoire --mask "?u?l?l?d?d" -o mask.txt

# Charsets: ?l=lower ?u=upper ?d=digit ?s=special ?a=all

Combo Attack

grimoire --combo wordlist1.txt wordlist2.txt -o combined.txt

OSINT Scraper

# Scrape all platforms (Instagram, X, LinkedIn, GitHub)
grimoire --osint username -o keywords.txt

# Specify platforms
grimoire --osint username --osint-platforms github,x

Wi-Fi Wordlist

grimoire --wifi-essid "NETGEAR42" --wifi-vendor netgear -o wifi.txt

Chain Pipeline

grimoire --chain "leet -> case -> numbers(0-99) -> policy(min:8)" \
  --file input.txt -o chained.txt

Recipe System

# recipe.yml
name: corporate-pentest
steps:
  - crawl: {url: "https://corp.com", depth: 3}
  - profile: {name: John, company: Acme}
  - mutate: [leet, case, numbers]
  - policy: {min: 8, upper: 1, digit: 1}
  - export: corporate-wordlist.txt
grimoire --recipe recipe.yml

Markov Generator

grimoire --markov-train wordlist.txt --markov-count 50000 -o markov.txt

Default Credentials

grimoire --default-creds "cisco"     # Search by vendor
grimoire --default-creds ""          # Dump all

Wordlist Analysis

grimoire --stats wordlist.txt

Locale Packs

grimoire --locale en,tr,de -o locale-words.txt

Policy Filter

grimoire --mask "?l?l?l?l?d?d" --policy "min:6 upper:0 digit:1" -o filtered.txt

Update GRIMOIRE

grimoire update  # Automatically pulls latest from GitHub and reinstalls

๐Ÿ–ฅ REPL Commands

After any operation, GRIMOIRE drops into an interactive REPL with tab-completion:

grimoireโฏ help
Command Description
help Show all commands
stats / analyze Wordlist statistics + histogram
export <file> Export wordlist
mutate [--leet] [--case] [--numbers] Apply mutations
profile Launch target profiling
defcreds [search <vendor>] Browse default credentials
download <category> Download wordlist category
improve <file> Improve existing wordlist
dedup [--fuzzy] Deduplicate
policy min:8 upper:1 ... Filter by password policy
load <file> Load wordlist from file
save <file> Save wordlist
set <key> <value> Change session setting
clear Reset wordlist
exit Quit

๐Ÿ“Š Comparison

Feature CeWL CUPP GRIMOIRE
Web crawling โœ… โŒ โœ… (static + headless)
Target profiling โŒ โœ… โœ… (enhanced)
Mutation engine โŒ Basic โœ… (full + Hashcat rules)
Combo attack โŒ โŒ โœ…
Mask generator โŒ โŒ โœ…
OSINT scraping โŒ โŒ โœ…
Wi-Fi wordlists โŒ โŒ โœ…
Locale packs โŒ โŒ โœ… (6 languages)
Wordlist analysis โŒ โŒ โœ… (entropy, histograms)
Chain mutations โŒ โŒ โœ…
Recipe system โŒ โŒ โœ… (YAML automation)
Markov generator โŒ โŒ โœ…
Policy filter โŒ โŒ โœ…
Email harvesting โœ… โŒ โœ…
Default creds DB โŒ โœ… โœ… (dynamic fetcher)
Interactive REPL โŒ โŒ โœ… (tab-complete)
Multi-format output text text โœ… (txt/JSON/Hashcat)
Cross-platform Ruby Python โœ… (Python, any OS)
No compilation โŒ โœ… โœ…

๐Ÿ“ Project Structure

grimoire/
โ”œโ”€โ”€ pyproject.toml              # Package config โ†’ `grimoire` command
โ”œโ”€โ”€ requirements.txt            # Core dependencies
โ”œโ”€โ”€ grimoire/
โ”‚   โ”œโ”€โ”€ cli.py                  # Click CLI with 40+ flags
โ”‚   โ”œโ”€โ”€ banner.py               # Rich Panel ASCII banner
โ”‚   โ”œโ”€โ”€ wizard.py               # 14-mode interactive selector
โ”‚   โ”œโ”€โ”€ repl.py                 # Tab-complete REPL shell
โ”‚   โ”œโ”€โ”€ crawler/                # Static + headless crawlers
โ”‚   โ”œโ”€โ”€ extractor.py            # Word/email/meta/JS extraction
โ”‚   โ”œโ”€โ”€ mutator/                # Basic + Hashcat rules + combo
โ”‚   โ”œโ”€โ”€ profiler.py             # CUPP-style target profiling
โ”‚   โ”œโ”€โ”€ default_creds.py        # Default credentials dynamic DB
โ”‚   โ”œโ”€โ”€ mask.py                 # Mask/pattern generator
โ”‚   โ”œโ”€โ”€ osint.py                # OSINT social scraper
โ”‚   โ”œโ”€โ”€ wifi.py                 # Wi-Fi ESSID generator
โ”‚   โ”œโ”€โ”€ locale_packs.py         # Language packs
โ”‚   โ”œโ”€โ”€ stats.py                # Wordlist analysis
โ”‚   โ”œโ”€โ”€ chain.py                # Pipeline mutations
โ”‚   โ”œโ”€โ”€ recipe.py               # YAML recipe system
โ”‚   โ”œโ”€โ”€ policy.py               # Password policy filter
โ”‚   โ”œโ”€โ”€ markov.py               # Markov chain generator
โ”‚   โ”œโ”€โ”€ dedup.py                # Exact + fuzzy dedup
โ”‚   โ”œโ”€โ”€ output.py               # txt/json/hashcat writers
โ”‚   โ””โ”€โ”€ data/                   # Locale packs + fallback data
โ”œโ”€โ”€ docs/                       # Reference documentation
โ””โ”€โ”€ examples/                   # Usage scripts + rule files

๐Ÿ“„ License

MIT License. See LICENSE for details.

๐Ÿค Contributing

See CONTRIBUTING.md for guidelines.

๐Ÿ“š Documentation


GRIMOIRE โ€” Where words are forged into weapons. ๐Ÿ”ฎ

About

๐Ÿ”ฎ GRIMOIRE โ€” Where words are forged into weapons. Advanced wordlist generator with 14 modes: web crawling, CUPP profiling, Hashcat rules, OSINT, Markov generation, mask attacks, Wi-Fi wordlists, and more. Pure Python, interactive TUI.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages