Specific amount of letters/digits
#1
As asked and somewhat answered here; I'm looking to try and crack a hash I know to be 12 characters long, having 2 digits, and 10 letters, albeit in any position. The response linked seems like it'd work, however, doesn't when I attempt to parse the rejection rule, stating "No valid rules left" so I'm a little stumped. Is it just that the flow has changed since that post? Or is this typical noob user error?

Example of possible combinations, much like in the OP:
abc1defgh2ij
2zyxw1vutsrq
etc.
Reply
#2
well i think the fastest way is to use a maskfile with all possible masks

starting with

Code:
?d?d?l?l?l?l?l?l?l?l?l?l

then shifting the second ?d until you reach the end so from 

Code:
?d?l?d?l?l?l?l?l?l?l?l?l
up to
?d?l?l?l?l?l?l?l?l?l?l?d

then start again with both ?d?d shifted once 

Code:
?l?d?d?l?l?l?l?l?l?l?l?l

and from there  again shift the second ?d until your reach the end

you should end up with 66 or 65 (11 +10 +9 ... + 1) masks, not quite sure about the last one, representing all possibilities

you can shuffle the resulting lines to achieve add some randomluck or just stay with this order
Reply
#3
Hola, me podria ayudar?, requiero de un patron que yo mismo establezco para usar este comando ?d?d
?l?l?l?l?l?l?l?l?l?l?
Reply
#4
Please use english as this is the used forum language.

Por favor, utilice inglés porque este es el idioma del foro.
Reply
#5
Or use copilot to create a python script With requested limitations. So 12 character long wordlist, minimum and maximum number of digits is 2, all the rest are lower case letters and create a wordlist.txt.
And then you crack hash with that wordlist. But all combinations is 9x10^18 combinations. If your rig is capable to do 1billion per second, that would take few of your lifetimes
Reply
#6
Also here should be a python combinations for all 66 combinations of masks

from itertools import combinations

# Define characters
letter = '?l'
digit = '?1'

# Number of positions (12 total)
positions = range(12)

# Find all ways to place two "1"s in 12 positions
combinations_list = list(combinations(positions, 2))

# Generate masks
masks = []
for digit_positions in combinations_list:
mask = [letter] * 12 # Start with all letters
mask[digit_positions[0]] = digit # Place first digit
mask[digit_positions[1]] = digit # Place second digit
masks.append(''.join(mask)) # Store mask as string

# Print all 66 masks
for m in masks:
print(m)

# Save to a file
with open("hashcat_masks.txt", "w") as file:
file.write("\n".join(masks))

print("\nGenerated all 66 masks and saved to 'hashcat_masks.txt'!")
Reply
#7
thanks for sharing. I really like it
Reply