Making bruteforce wordlists smarter, not harder
Project description
BruteSleuth
This program uses string formatting to give a list of strings related to an original string based off regex
Description of Formatting
This script works with official python formatting. For more information on proper python formatting, see the official documentation[1].
This program also works with custom formatting of its own design. This was implemented so that iteration using multiple unique character sets was possible.
Pythonic Formatting
As stated, this program works with the majority of formatting that can be done in python.
What this means is that you can input almost any string into the programs formatter that
will work in a python f-string or string.format function. As such, "{0:4d}
" will use the
first generator to iterate through 4 base 10 digits in the chain. Currently only digit
based filters work (though they are for the most part the only bits that will make sense)
but this means that "{2x}
" for 2 hex characters will work, as well as "{0:08b}
" and "{0:3o}
"
and other formats that can be iterated may be added in the near future.
Custom Formatting
An example of a unique character set would be "{4a}
", which is a custom combo of an iterator
of 4 characters long using lowercase letters. {5aAd}
is a 5 character long iterator using
lowercase, uppercase, and number characters for iteration. As of right now, the current custom
formats available are:
a: Lowercase Alphabet
A: Uppercase Alphabet
d: Decimal Numbers
s: Special Characters (!,@,#,$)
w: Custom Wordlist. This format is only available with the -w argument
More are on the way, but the custom iterators allow any combonation of each other for more unique bruteforcing.
ID Tags
in official python formatting, these are the numbers before a colon that tell the format function
which parameter to use per format tag. Examples such as {0:04d}
, which to python says that the first
argument will go into the format. Custom formats also work with ID Tags, but in a unique way to help
the program differentiate the two. an example of a custom format with an id is {0+4aA}
. This says
that the first argument is expected to be an iterator of length 4 with uppercase and lowercase letters.
The advantages of using ID's are two fold: if you have a bruteforce string that you know repeats in
another portion of the password, then you can call the iterative number twice, meaning less false
positives and less passwords to generate, which means it runs faster. The other advantage is you can
prioritize portions of the unknown password. formats with smaller ID's will change value far less often
than a format with a higher value. This can make life easier as the password list continues to grow in size.
Links:
[1] https://docs.python.org/3.4/library/string.html#format-string-syntax
Authoring:
This program was built by Nicholas Cottrell (Rad10Logic) April 4th, 2020
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for BruteSleuth-1.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0c8ac74ee980dbea6b1d24d47d66af8657eff97bab868a19957478301480b7b |
|
MD5 | 8157434d35dbc087c4ebd77d7201ae65 |
|
BLAKE2b-256 | 67b3586b49d7022927a3a20091f010336e196879fa002b41a9017b25113ae50c |