Bottleneck, and my 31 character limit. Ideas?
#11
OK, here's the solution:

##
## generate base
##

Quote:$ cat perm-input.txt
0123456789

Quote:$ /root/hashcat-utils-1.2/permute.bin < perm-input.txt | more
0123456789
1023456789
2013456789
0213456789
1203456789

Quote:$ /root/hashcat-utils-1.2/permute.bin < perm-input.txt | perl -ne 'chomp; my @x = split ""; printf "%s-\n", join ("-", @x);' > wordlist.txt

Quote:$ more wordlist.txt
0-1-2-3-4-5-6-7-8-9-
1-0-2-3-4-5-6-7-8-9-
2-0-1-3-4-5-6-7-8-9-
0-2-1-3-4-5-6-7-8-9-
1-2-0-3-4-5-6-7-8-9-

Quote:$ wc -l wordlist.txt
3628800 wordlist.txt

Quote:$ md5sum wordlist.txt
18adc4eacda246044fe166016f30f422 wordlist.txt

##
## generate amplifier
##

Now a little patch for permute.c from hashcat-utils to generate the amplifier rules for A, B and C (10, 11, 12):

Code:
$ diff permute.c permutepatch.c
38a39,128
> void conv (char *line_buf, int line_len, int *map)
> {
>   static const char grp_pos[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' };
>
>   int A_sav = 0;
>   int B_sav = 0;
>   int C_sav = 0;
>
>   int i;
>   int p;
>
>   for (i = 0, p = 0; i < line_len; i++, p += 2)
>   {
>     if (line_buf[i] == 'A')
>     {
>       A_sav = p;
>
>       p++;
>     }
>     else if (line_buf[i] == 'B')
>     {
>       B_sav = p;
>
>       p++;
>     }
>     else if (line_buf[i] == 'C')
>     {
>       C_sav = p;
>
>       p++;
>     }
>   }
>
>   int key = (A_sav <<  0)
>           + (B_sav <<  8)
>           + (C_sav << 16);
>
>   if (map[key] == 1) return;
>
>   map[key] = 1;
>
>   if (A_sav < B_sav && A_sav < C_sav)
>   {
>     printf ("i%c1 i%c0 i%c- ", grp_pos[A_sav + 0], grp_pos[A_sav + 1], grp_pos[A_sav + 2]);
>
>     if (B_sav < C_sav)
>     {
>       printf ("i%c1 i%c1 i%c- ", grp_pos[B_sav + 0], grp_pos[B_sav + 1], grp_pos[B_sav + 2]);
>       printf ("i%c1 i%c2 i%c- ", grp_pos[C_sav + 0], grp_pos[C_sav + 1], grp_pos[C_sav + 2]);
>     }
>     else
>     {
>       printf ("i%c1 i%c2 i%c- ", grp_pos[C_sav + 0], grp_pos[C_sav + 1], grp_pos[C_sav + 2]);
>       printf ("i%c1 i%c1 i%c- ", grp_pos[B_sav + 0], grp_pos[B_sav + 1], grp_pos[B_sav + 2]);
>     }
>   }
>   else if (B_sav < A_sav && B_sav < C_sav)
>   {
>     printf ("i%c1 i%c1 i%c- ", grp_pos[B_sav + 0], grp_pos[B_sav + 1], grp_pos[B_sav + 2]);
>
>     if (A_sav < C_sav)
>     {
>       printf ("i%c1 i%c0 i%c- ", grp_pos[A_sav + 0], grp_pos[A_sav + 1], grp_pos[A_sav + 2]);
>       printf ("i%c1 i%c2 i%c- ", grp_pos[C_sav + 0], grp_pos[C_sav + 1], grp_pos[C_sav + 2]);
>     }
>     else
>     {
>       printf ("i%c1 i%c2 i%c- ", grp_pos[C_sav + 0], grp_pos[C_sav + 1], grp_pos[C_sav + 2]);
>       printf ("i%c1 i%c0 i%c- ", grp_pos[A_sav + 0], grp_pos[A_sav + 1], grp_pos[A_sav + 2]);
>     }
>   }
>   else if (C_sav < A_sav && C_sav < B_sav)
>   {
>     printf ("i%c1 i%c2 i%c- ", grp_pos[C_sav + 0], grp_pos[C_sav + 1], grp_pos[C_sav + 2]);
>
>     if (A_sav < B_sav)
>     {
>       printf ("i%c1 i%c0 i%c- ", grp_pos[A_sav + 0], grp_pos[A_sav + 1], grp_pos[A_sav + 2]);
>       printf ("i%c1 i%c1 i%c- ", grp_pos[B_sav + 0], grp_pos[B_sav + 1], grp_pos[B_sav + 2]);
>     }
>     else
>     {
>       printf ("i%c1 i%c1 i%c- ", grp_pos[B_sav + 0], grp_pos[B_sav + 1], grp_pos[B_sav + 2]);
>       printf ("i%c1 i%c0 i%c- ", grp_pos[A_sav + 0], grp_pos[A_sav + 1], grp_pos[A_sav + 2]);
>     }
>   }
>
>   printf (" ] ^[ $]\n");
> }
>
51a142,143
>   int *map = (int *) calloc (256 * 256 * 256, sizeof (int));
>
72c164
<     puts (line_buf);
---
>     conv (line_buf, line_len, map);
74c166
<     while ((k = next_permutation (line_buf, p, k)) != line_len) puts (line_buf);
---
>     while ((k = next_permutation (line_buf, p, k)) != line_len) conv (line_buf, line_len, map);
76c168
<     puts (line_buf);
---
>     conv (line_buf, line_len, map);

Quote:$ cat input
0123456789ABC

Quote:$ ./permutepatch < input > amplifier.rule

Quote:$ wc -l amplifier.rule
1716 amplifier.rule

Quote:$ md5sum amplifier.rule
77dac3e8ac31eec1318d60ee60ef341c amplifier.rule

##
## this should work against a hash (and even a hashlist) with full gpu acceleration
## cracking should be nearly instant
##

Quote:$ ./oclHashcat64.bin 3206c0ed6f2770d72a470c839b0550ae wordlist.txt -r amplifier.rule -w 3
oclHashcat v1.36 starting...

Device #1: Tahiti, 3022MB, 1000Mhz, 32MCU
Device #2: Tahiti, 3022MB, 1000Mhz, 32MCU
Device #3: Tahiti, 3022MB, 1000Mhz, 32MCU

Hashes: 1 hashes; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 1716
Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Scalar-Mode
* Raw-Hash
Watchdog: Temperature abort trigger set to 90c
Watchdog: Temperature retain trigger set to 80c
Device #1: Kernel ./kernels/4098/m00000_a0.Tahiti_1573.4_1573.4 (VM)_1428240294.kernel (522804 bytes)
Device #2: Kernel ./kernels/4098/m00000_a0.Tahiti_1573.4_1573.4 (VM)_1428240294.kernel (522804 bytes)
Device #3: Kernel ./kernels/4098/m00000_a0.Tahiti_1573.4_1573.4 (VM)_1428240294.kernel (522804 bytes)

Cache-hit dictionary stats wordlist.txt: 76204800 bytes, 3628800 words, 6227020800 keyspace


INFO: approaching final keyspace, workload adjusted

3206c0ed6f2770d72a470c839b0550ae:[5-10-3-0-2-7-11-9-6-8-1-12-4]

Session.Name...: oclHashcat
Status.........: Cracked
Rules.Type.....: File (amplifier.rule)
Input.Mode.....: File (wordlist.txt)
Hash.Target....: 3206c0ed6f2770d72a470c839b0550ae
Hash.Type......: MD5
Time.Started...: Mon Apr 6 03:11:38 2015 (1 sec)
Speed.GPU.#1...: 1807.6 MH/s
Speed.GPU.#2...: 1771.0 MH/s
Speed.GPU.#3...: 1769.9 MH/s
Speed.GPU.#*...: 5348.5 MH/s
Recovered......: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.......: 3453911324/6227020800 (55.47%)
Skipped........: 0/3453911324 (0.00%)
Rejected.......: 0/3453911324 (0.00%)
Restore.Point..: 1048576/3628800 (28.90%)
HWMon.GPU.#1...: 64% Util, 33c Temp, 25% Fan
HWMon.GPU.#2...: 62% Util, 33c Temp, 25% Fan
HWMon.GPU.#3...: 64% Util, 33c Temp, 25% Fan

Started: Mon Apr 6 03:11:38 2015
Stopped: Mon Apr 6 03:11:40 2015

PS: Check the progress value


Messages In This Thread
Formatted/mask permutations? - by InfDoleo - 04-05-2015, 07:14 PM
RE: Formatted/mask permutations? - by atom - 04-05-2015, 09:00 PM
RE: Formatted/mask permutations? - by InfDoleo - 04-05-2015, 09:47 PM
Maximum length of 31? Why? - by InfDoleo - 04-05-2015, 10:13 PM
RE: Formatted/mask permutations? - by undeath - 04-05-2015, 10:26 PM
RE: Maximum length of 31? Why? - by Xanadrel - 04-05-2015, 10:27 PM
RE: Maximum length of 31? Why? - by InfDoleo - 04-05-2015, 10:44 PM
RE: Formatted/mask permutations? - by atom - 04-05-2015, 11:35 PM
RE: Maximum length of 31? Why? - by atom - 04-05-2015, 11:37 PM
RE: Maximum length of 31? Why? - by InfDoleo - 04-06-2015, 12:20 AM
RE: Formatted/mask permutations? - by atom - 04-06-2015, 03:15 AM
RE: Maximum length of 31? Why? - by Rolf - 04-06-2015, 03:06 PM
RE: Maximum length of 31? Why? - by epixoip - 04-06-2015, 04:38 PM
RE: Maximum length of 31? Why? - by InfDoleo - 04-06-2015, 07:04 PM
RE: Formatted/mask permutations? - by InfDoleo - 04-06-2015, 07:08 PM
RE: Maximum length of 31? Why? - by unix-ninja - 04-06-2015, 08:39 PM
RE: Formatted/mask permutations? - by atom - 04-07-2015, 02:56 AM
RE: Formatted/mask permutations? - by InfDoleo - 04-07-2015, 05:56 AM
RE: Formatted/mask permutations? - by atom - 04-07-2015, 11:20 AM
RE: Formatted/mask permutations? - by InfDoleo - 04-07-2015, 05:11 PM
RE: Formatted/mask permutations? - by atom - 04-07-2015, 05:19 PM
RE: Formatted/mask permutations? - by InfDoleo - 04-08-2015, 05:13 PM
RE: Formatted/mask permutations? - by InfDoleo - 04-08-2015, 05:16 PM
RE: Formatted/mask permutations? - by InfDoleo - 04-09-2015, 03:36 AM
RE: Formatted/mask permutations? - by epixoip - 04-09-2015, 06:39 AM
RE: Formatted/mask permutations? - by InfDoleo - 04-09-2015, 07:30 AM
RE: Formatted/mask permutations? - by undeath - 04-09-2015, 05:03 PM
RE: Formatted/mask permutations? - by InfDoleo - 04-09-2015, 05:37 PM