This Python script provides functionality for managing passwords, including hashing, brute-force attacks, and mutation generation. Below is an overview of its functionalities and usage instructions:
-
Read Wordlist from URL:
- Reads a wordlist from a given URL and returns it as a list of strings.
-
Hash Password:
- Generates a hashed version of a password using SHA256 encryption with a specified salt.
-
Remove User:
- Removes a user's information from a specified file.
-
Insert User:
- Inserts a new user's information (username, hashed password) into a specified file.
-
Guess Password:
- Checks if a guessed password matches a stored hash for a given user.
-
Brute Force Mutated Passwords:
- Attempts to crack passwords by brute-force using mutated password lists.
-
Brute Force Mutated Usernames:
- Tries to crack passwords using mutated usernames.
-
Categorize Passwords:
- Divides passwords into two categories: with and without digits.
-
Generate Password Mutations:
- Generates mutations of passwords in batches of 100, saving each batch to a separate file.
-
Generate Username Mutations:
- Generates mutations of usernames and saves them to a file.
-
Get Mutated Passwords:
- Retrieves a list of mutated password files.
-
Get Original Passwords:
- Retrieves the original list of passwords from a URL.
-
Running the Script:
- Execute the script in a Python environment.
-
Commands:
- Enter one of the following commands:
mp
ormutate passwords
: Generate mutations of the 10 million most-used passwords.mu
ormutate users
: Generate mutations of the usernames from the database.bf
orbrute force
: Use brute force to crack passwords.
- Enter one of the following commands:
-
Brute Force Options:
- When prompted, choose one of the following options:
original/o
: Use original unmutated password data.mutated/m
: Use mutated passwords from the original dataset.mutated users/mu
: Use mutated passwords from usernames.
- When prompted, choose one of the following options:
-
Follow Prompts:
- Follow the prompts to execute the selected command.
- Ensure proper error handling and input validation to handle unexpected scenarios.
- Review and modify file paths and external tool dependencies as needed.