https://github.com/domai-tb/leakh
Small command line utility and helper tool to handle password leakage files.
https://github.com/domai-tb/leakh
leaks password-list-maker seclists
Last synced: 3 months ago
JSON representation
Small command line utility and helper tool to handle password leakage files.
- Host: GitHub
- URL: https://github.com/domai-tb/leakh
- Owner: domai-tb
- License: mit
- Created: 2024-08-15T19:19:04.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-08-15T19:36:05.000Z (9 months ago)
- Last Synced: 2024-12-30T17:16:39.388Z (5 months ago)
- Topics: leaks, password-list-maker, seclists
- Language: Rust
- Homepage:
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# leakh
leakh is a multi-threaded command line utility and helper tool to handle password leakage files.
It uses regular expressions to extract passwords from `.txt` or `.csv` files. Each file, inside the given `directory`, is read out by a seperate thread that returns the list of all passwords and the count how often it appeard inside the list. After extracting all passwords, the resulting list is sorted accordingly to the count and douplicates are removed. It will write each password with its count in a seperate `$(output).stats.csv` file.
## Usage
```bash
Extracts passwords from filesUsage: leakh [OPTIONS] --config --directory --output
Options:
-c, --config Specifies the config file
-d, --directory Specifies the directory to scan for files
-o, --output Specifies the output file location
-v, --verbose Enables verbose output
-h, --help Print help
-V, --version Print version
```## Configuration
leakh uses a configuration file that follows the `.toml` syntax.
```toml
# Default configuration for all files
[default]
# Regex pattern to extract password (e.g., password is after the second ":")
pattern = "^[^:]+:(\\S[^\n]*)"
# Minimum length for passwords to be considered valid
min_length = 6
# List of unwanted strings to filter out using regular expressions
unwanted_strings = [
"imap\\.[^\\s]+",
"smtp\\.[^\\s]+",
"NULL",
"^#file_links.*",
"^lUCKY"="=STEVEN.*"
]# Optional specific configurations for individual files
[files]# Custom configuration for "special_file.txt"
[files."special_file.txt"]
pattern = "\\|\\s*(\\S+)"
unwanted_strings = ["domain\\.com", "test\\.com"]
min_length = 8```