02-11-2014, 10:46 PM
Here's just a brief description of the new debug rule feature, I'm a bit in hurry.
Most of you guys know it already from hashcat CPU and many wished to have this feature for oclHashcat as well. That wasn't possible for a long time but due to some architecture changed it's possible now!!
This feature is primarily aimed for generating new rules but it's also good if you want to find out which of your words in your dictionaries are efficient or which rules in your rulesets crack the most hashes. But for this example, I'll only focus on the rule generator:
##
## 1. Crack some hashes with random generated rules with a small wordlist
##
##
## 2. Above example is just for display of the use, usually you would do --debug-file which would contain the following information instead:
##
##
## 3. Optimize rules with new rule-optimizer:
##
... What it did, it removed the "oAL" function since it wasn't neccessary, thus sort -u packing rate will increase.
In the last days I was running -g runs of oclHashcat in an endless loop, always with around 10k generated rules. In total I collected around 50k of new rules, each of it cracked at least one hash.
Now I just re-run those 50k rules on my full dictionaries, it had great effect
Tip: You can also sort the results by occourance
Most of you guys know it already from hashcat CPU and many wished to have this feature for oclHashcat as well. That wasn't possible for a long time but due to some architecture changed it's possible now!!
This feature is primarily aimed for generating new rules but it's also good if you want to find out which of your words in your dictionaries are efficient or which rules in your rulesets crack the most hashes. But for this example, I'll only focus on the rule generator:
##
## 1. Crack some hashes with random generated rules with a small wordlist
##
Quote:
root@ht:~/oclHashcat-1.02# ./oclHashcat64.bin example0.hash example.dict --generate-rules 100 --debug-mode 3 --quiet
cf61d5aed48e2c5d68c5e3d2eab03241:alex999999999
alex99:Z5 Z2
a4bf29620bb32f40c3fc94ad1fc3537a:_hallo12
hallo12:^_
ba114384cc2dbf2f2e3230b803afce86:321654987Q
321654987:$Q
77719e24d4e842c8c87d91e73c7d1a8f:1123581322
1123581321:oAL *98 +8
e2a3f66b3de94593e2e0a6e5208b55af:anais20072007
anais2007:Y4
77108d6b734f4f4e06639fced921b1fe:1234qwerQ
1234qwer:$Q
66dec649460b9ebfdb3f513c2985525c:wrestlingg
wrestling:Z1
8c0d31cadefef386ed4ebb2daf1b80be:newports12
newports21:*98 p4
##
## 2. Above example is just for display of the use, usually you would do --debug-file which would contain the following information instead:
##
Quote:
root@ht:~/oclHashcat-1.02# cat debug.rules
alex99:Z5 Z2
hallo12:^_
321654987:$Q
1123581321:oAL *98 +8
anais2007:Y4
1234qwer:$Q
wrestling:Z1
newports21:*98 p4
##
## 3. Optimize rules with new rule-optimizer:
##
Quote:
root@ht:~/oclHashcat-1.02# tools/rules_optimize/rules_optimize.bin < debug.rules | sort -u
^_
*98 +8
*98 p4
$Q
Y4
Z1
Z5 Z2
... What it did, it removed the "oAL" function since it wasn't neccessary, thus sort -u packing rate will increase.
In the last days I was running -g runs of oclHashcat in an endless loop, always with around 10k generated rules. In total I collected around 50k of new rules, each of it cracked at least one hash.
Now I just re-run those 50k rules on my full dictionaries, it had great effect
Tip: You can also sort the results by occourance