yeah, that would work, you just generate the set of hashes with different right part ("salt" aka ciphertext) and try to crack those hashes. In theory it shouldn't be 65536 if the plaintext wasn't random, but 65536 is the worst case (of "hashes").
The 56 bit only have to do with the other input: the mask ! you would run something like this:
Code:
hashcat -m 14000 -a 3 -w 3 --hex-charset -2 charsets/DES_full.charset all_the_hash_variants.txt afaf?2?2?2?2?2?2
(please be aware that if you use --hex-charset, also the constant bytes in the mask need to be in hexadecimal form, e.g. "1" becomes "31" because 0x31 is the hex representation of the ASCII character 1)
of course you need to use --hex-charset and with the hint about the 56 bits from above I wanted to emphasize that you should use the charsets/DES_full.charset hashcat charset file (.hcchr) which already reduces the amount of keys tested to the 56 bits.
of course the hash file all_the_hash_variants must be generated somehow, you could just use any scripting/programming language.
e.g. something like this (perl script):
Code:
#!/usr/bin/env perl
use strict;
use warnings;
for (my $i = 0; $i < 256; $i++)
{
for (my $j = 0; $j < 256; $j++)
{
print sprintf ("53b325182924b356:14127810%02x%02x3178\n", $i, $j);
}
}
This is for the example -m 14000 hash from
https://hashcat.net/wiki/example_hashes (password: hashcat1), but you could just change the known bytes above with your target hash (%02x is the thing that gets replaced, in the 2 locations, therefore twice ! with $i and $j counter)