oclHashcat-plus v0.09 - Printable Version +- hashcat Forum (https://hashcat.net/forum) +-- Forum: Deprecated; Ancient Versions (https://hashcat.net/forum/forum-46.html) +--- Forum: Very old oclHashcat-plus Announcements (https://hashcat.net/forum/forum-19.html) +--- Thread: oclHashcat-plus v0.09 (/thread-1541.html) |
oclHashcat-plus v0.09 - atom - 09-07-2012 We are proud to present oclHashcat-plus v0.09! Download it here: http://hashcat.net/oclhashcat-plus/ Lots of new features and algorithms have been added, and many bugs have been fixed. The major changes are:
Lets start with the algorithms added; in this case, the generic types:
They have been added for two reasons. 1. Because there were many requests by users to add them like here:
2. By adding another feature -- that is, setting the minimum length for a salt to 0 -- you can construct your own hashing modes if you exploit the salt by putting some data into the calculation. Since we have support in oclHashcat-plus for --hex-salt, this will make your lives even easier. Next one is the bcrypt algorithm. Guys, there is not much to say. Just one thing: do not expect too much! This algorithm was designed to run extremly slow on GPUs. It is highly dependant on memory-lookups, and is both salted and iterated. On our hd6990, we can reach 4085/s. This isn't much, but it's still multiple times faster than on CPU. Details here:
Another algorithm we added was the EPIserver algorithm. These are the hashes stored by the ASP.NET membership provider. For more detailed information about this, have a look here: http://hashcat.net/forum/thread-987.html There are plans to rename this algorithm from EPIserver to something like "asp.net membership provider." For now we will stick to EPIserver, but we will certainly rename this in a later version. There was already an interesting blog post about all this here, definitely a good read: http://www.troyhunt.com/2012/06/our-password-hashing-has-no-clothes.html Last but at least, the most impressive addition is the sha512crypt algorithm, aka $6$, which is used in nearly all Linux distributions by default. Like all crypt(3) algorithms, this is another algorithm which is designed to run slow; plus, it is based on sha512, which uses 64 bit integers. Today's AMD GPUs do not have support for native 64 bit bitwise arithmetics (except shifts), so this is another reason why this algorithm is slow. Still, the speedup cracking sha512crypt on GPU versus CPU is much higher compared to bcrypt. My hd6990 gives an impressive 32519/s, which we are very proud of! This algorithm was requested here:
The partial reversing of hashes for multi-hash lists differs a bit from classic single-hash reversal, which you are already familiar with if you use oclHashcat-lite. For several reasons, it is not efficient to reverse all hashes that many steps back as in single-hash cracking, and thus we can not reach oclHashcat-lite speed. But, it can still be more efficient than just traditional early checks. To visualize this, here made some graphs: You can see that the less hashes you have, the more efficient it is. The curves on Nvidia are a bit sharper. Whenever you run brute force on multiple MD4, NTLM or MD5 hashes, oclHashcat-plus will use this partial reveral technique. In theory we can port this to salted hashes as well, but multi-hash on a salted hash is a bad idea. So for now, we stick to raw and reversable algorithms. Another nice thing that came up lately is the Virtual OpenCL Cluster Platform (VCL) project. When thorsheim and epixoip informed us about this project in this post http://hashcat.net/forum/thread-1473.html it was totally not working with oclHashcat-*, nor any other OpenCL-based password cracker. But, we got in contact with the developers at MOSIX, and after some debugging and trace sessions, we were able to pinpoint the problems. MOSIX then released VCL version 1.15 which addressed these issues. The overhead produced by the network agents is very low. This is one of the most important factors for a distributed solution. I made some stats on this here: VCL is intended to be used on dedicated LANs or with High Speed Interconnects. I would not recommend clustering nodes over the Internet, as both latency and bandwidth would be an issue. Development for VCL support is still in its infancy, but I've tested it with 22 GPUs and it worked well. Installing and configuring VCL is outside the scope of these release notes, but I plan to write a form post on this topic soon. However, there is no magic required to get VCL running on your own. To better support VCL, we have increased the maximum number of GPUs from 16 to 128. We do not know for a fact if VCL can handle 128 GPUs, but it works with at least 22 GPUs. Another nice thing about this is that it works around the 8-GPU limitation in AMD's drivers and Xorg. Since VCL does not require X to run, you can build giant GPU clusters this way. Something that already was included in the newer versions of oclHashcate-lite is the support for markov-chains. It does not matter if you do simple Brute-Force attack using -a 3 or you do a dictionary based Hybrid-Attack using either -a 6 or -a 7. This enhancement is automatically used EVERY time you use a mask. A little background on this, as if you do not use oclHashcat-lite you might not know: The markov-attack is a statistically based brute-force like attack, but instead of specifying a charset or a mask, we specify a file that was generated once in a previous step. It contains statistical information which is made out of an automated analysis of a given dictionary. It can fully replace Brute-Force since it covers the full keyspace. In Brute-Force Attack (or in Mask Attack) we can limit the keyspace by setting a smaller charset in order to reduce the attack-time. In Markov Attack we have something similar, the "threshold". All you do is to specify a number. The higher the number, the higher the threshold to add a new link between two characters on the two-level table on which the markov-attack is based on. The background is not so important -- just remember that the lower the value, the smaller the keyspace, and thus the faster the attack is. But if you take a close look on it, the technical correct description would be: "Brute-Force attack enhanced by per-position markov-chains built out of wordlists for statistics with the ability to use filters using a mask". OK? That required some special naming, and since it's 100% replacing Brute Force, we made it simple for ourselves and called it Brute-Force++ Here is a nice chart that visualizes the efficiency of Brute-Force++: The original description of how this works can be found here:
Use .ptx ad .llvmir intermediate kernels - from oclHashcat-lite The kernels are distributed in an "intermediate" format (aka IL). This format cannot be reversed to its original C code, but is still not a binary format that can be used for execution. The JIT (just-in-time) compilers from both OpenCL and CUDA, which ship with the driver, compile the final bytecode out of the IL. This takes a few seconds per kernel, but this is a one-time operation as the bytecode is cached (CUDA does it automatically, OpenCL does not, but we add eda function that emulates CUDA's behavior.) This has some nice advantages:
Added Retaining GPU temperature - from oclHashcat-lite When I started with oclHashcat-* Hardware mangement support, some people asked me for add support for fan-speed. For a long time I was not interessted in adding fan-speed code to oclHashcat-* since this is the job for the driver or some specialized controling software. I did not change my mind completly on this, but still we have added some fan-speed controlling code. The new parameters are: Code: --gpu-temp-disable Disable temperature and fanspeed readings and triggers So what this does is, if the temperature configured with the new --gpu-temp-retain parameter is reached, it starts to increase the fan-speed by 1 percent each second. Thats all. In practice, this means is it enables you to enfore a very specific operating temperature for your GPUs. Some notes:
More implemented feature requestes on forum:
More implemented feature requestes on PM / IRC / Email:
This new version has been tested by many beta testers on a wide variety of hardware and operating systems. All new features were available to beta tester for several weeks. All we did for the last few weeks was perform both automated and manual tests of all features and algorithms, until all issues were 100% fixed. We want to say a special thank-you to the following beta-testers for their massive support during development: This is great proof of how the cracking community is working together, regardless of what team they are on. Of course we want to say thanks to all the beta testers who helped finding bugs and suggesting things as well -- Thanks! -- atom and matrix Full changelog: Code: type: feature RE: oclHashcat-plus v0.09 - M@LIK - 09-07-2012 Great work! Good job all! RE: oclHashcat-plus v0.09 - kartan - 09-07-2012 fucking amazing! this would qualify for a major release! RE: oclHashcat-plus v0.09 - forumhero - 09-07-2012 fantastic work, everyone! RE: oclHashcat-plus v0.09 - atom - 09-08-2012 As said in the release notes, here is the howto: Building GPU-Clusters for oclHashcat with VCL v1.15: https://hashcat.net/wiki/doku.php?id=vcl_cluster_howto RE: oclHashcat-plus v0.09 - mastercracker - 09-08-2012 (09-08-2012, 04:15 PM)atom Wrote: As said in the release notes, here is the howto:Good wiki. It's not mentioned but I guess that you are bound with the same limitation as the OCL version which is that you need the same cards on each machine or at least the cards using the same kernel, right? RE: oclHashcat-plus v0.09 - atom - 09-08-2012 Yes, right, while my prio 1 is to enable mixed gpu types for v0.10 RE: oclHashcat-plus v0.09 - Mem5 - 09-09-2012 Thanks ! great release as always ! RE: oclHashcat-plus v0.09 - forumhero - 09-10-2012 atom, just wanted to clarify. is the master node required to be on the same highspeed LAN or can it be on wireless? RE: oclHashcat-plus v0.09 - atom - 09-10-2012 Wireless LAN is a highspeed LAN, somewhat Should work, yes! |