diff --git a/README-USAGE-BYEPASS.md b/README-USAGE-BYEPASS.md index 7b2fb5f..d1cd7f1 100644 --- a/README-USAGE-BYEPASS.md +++ b/README-USAGE-BYEPASS.md @@ -70,7 +70,7 @@ tutorials in the following playlist -p PERCENTILE, --percentile PERCENTILE Based on statistical analysis of the passwords cracked during initial phase, use only the masks statistically likely to be needed to crack at least the given percent of passwords. For example, if a value of 0.25 provided, only use the relatively few masks needed to crack 25 passwords of the passwords. Note that password cracking effort follows an exponential distribution, so cracking a few more passwords takes a lot more effort (relatively speaking). A good starting value if completely unsure is 25 percent (0.25). - -a, --all Shortcut equivalent to -w [RUN_ALL_BASEWORDS] -t [RUN_ALL_TECHNIQUES] -s -p [RUN_ALL_PERCENTILE] -u -c -r. See config.py for values used. + -a, --all Shortcut equivalent to -w [RUN_ALL_BASEWORDS] -t [RUN_ALL_TECHNIQUES] -s -p [RUN_ALL_PERCENTILE] -l [RUN_ALL_FIRST_PATHWELL_MASK, RUN_ALL_LAST_PATHWELL_MASK] -m -u -c -r. See config.py for values used. -j PASS_THROUGH, --pass-through PASS_THROUGH Pass-through the raw parameter to John the Ripper. Example: --pass-through="--fork=2" diff --git a/byepass.py b/byepass.py index 92f01e1..17402db 100644 --- a/byepass.py +++ b/byepass.py @@ -267,9 +267,10 @@ def run_statistical_crack_mode(pJTR: JohnTheRipper, pPercentile: float, def run_pathwell_mode(pJTR: JohnTheRipper, pFirstMask: int, pLastMask: int, pMaxAllowedCharactersToBruteForce: int) -> None: + lThisDirectory = os.path.dirname(os.path.realpath(__file__)) Printer.print("Starting Pathwell mode", Level.INFO) - lPathwellFileName = 'masks/pathwell.txt' + lPathwellFileName = '{}/{}'.format(lThisDirectory, 'masks/pathwell.txt') with open(lPathwellFileName, "r") as lPathwellFile: lMasks = lPathwellFile.read().splitlines() @@ -281,6 +282,9 @@ def run_pathwell_mode(pJTR: JohnTheRipper, pFirstMask: int, pLastMask: int, run_smart_mask_mode(pJTR=pJTR, pMasks=lPathwellMasks, pMaxAllowedCharactersToBruteForce=pMaxAllowedCharactersToBruteForce) + # for i in range(pFirstMask-1, pLastMask): + # do_run_jtr_mask_mode(pJTR=pJTR, pMask=lMasks[i], pWordlist=None, pRule=None) + Printer.print("Finished Pathwell Mode", Level.INFO) diff --git a/config.py b/config.py index 7dfa5a0..aafca59 100644 --- a/config.py +++ b/config.py @@ -22,7 +22,7 @@ MAX_CHARS_TO_BRUTEFORCE = 6 # If the user does not provide any instructions, these techniques run by default -DEFAULT_TECHNIQUES = [7] +DEFAULT_TECHNIQUES = [1,2,3] # If the user chooses the "all" option, these defaults are used RUN_ALL_RUN_HAILMARY_MODE = True diff --git a/todo.txt b/todo.txt index c859129..40d9f21 100644 --- a/todo.txt +++ b/todo.txt @@ -8,3 +8,4 @@ Add aggression levels for prince mode Add warning about large keyspaces for prince mode Create -m targeted brute force masks Automate -k migration to incremental mode +Have ByePass detect number of CPU cores and issue --fork automatically \ No newline at end of file