A Python toolkit for probabilistic password guessing and analysis using Probabilistic Context-Free Grammar (PCFG) models.
PCFG Cracker is a Python-based toolkit that uses Probabilistic Context-Free Grammar (PCFG) models to analyze and generate password guesses. It trains on disclosed password lists to learn human password creation patterns, enabling more efficient password cracking against salted or slow hashing algorithms by producing guesses in probability order.
Security researchers, penetration testers, and academics studying password security, cryptography, or human-factor authentication. It's also valuable for developers building password strength evaluation tools.
It offers a statistically driven approach to password guessing that significantly reduces the number of guesses needed compared to traditional dictionary or brute-force attacks, making it particularly effective against large sets of salted hashes where speed is less critical than accuracy.
Probabilistic Context Free Grammar (PCFG) password guess generator
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates password guesses in descending probability order, cracking salted or slow hashes with significantly fewer guesses on average than traditional methods, as noted in the README's testing results.
Allows training on custom plaintext password lists to create tailored PCFG rulesets, capturing patterns like base words, digits, and special characters with associated probabilities for targeted attacks.
Includes tools like password_scorer for strength estimation and PRINCE_LING for generating customized wordlists, extending utility beyond cracking to research and combinator attacks.
Supports pausing and resuming guess generation sessions, enabling flexible and long-running attack workflows without losing progress, as detailed in the guess generation section.
Only produces 50-100k guesses per second, making it impractical for fast hashing algorithms where GPU-based tools like Hashcat can generate millions to billions of guesses per second.
Requires access to and preprocessing of large plaintext password lists (e.g., RockYou with 32 million entries), which can be time-consuming and may not be readily available for all targets.
The pre-built developer guide may be outdated, and users are advised to build it from source using Sphinx, adding an extra step for accurate and up-to-date documentation.