EPiServer hash format - Printable Version +- hashcat Forum (https://hashcat.net/forum) +-- Forum: Deprecated; Ancient Versions (https://hashcat.net/forum/forum-46.html) +--- Forum: Feature Requests (https://hashcat.net/forum/forum-7.html) +--- Thread: EPiServer hash format (/thread-987.html) |
RE: EPiServer hash format - atom - 03-27-2012 OK, that is awesome. Thanks for information. I was able to reproduce it with Per's hash and salt. Here is some demo code: Code: #include <stdio.h> Quote:root@sf:~# gcc-4.4 -o tec tec.c -lssl Hash: UQgnz/vPWap9UeD8Dhaw3h/fgFA= -> 510827cffbcf59aa7d51e0fc0e16b0de1fdf8050 RE: EPiServer hash format - thorsheim - 03-27-2012 A big thank you to @skradel for telling us the formatting used, and @klingsen for the important note on Microsoft .NET version 4 using sha256 as its default. I presume episerver will, if they haven't got it already, create a guide for their customers on how to improve the default security provided by .NET. After all .NET does have PBKDF2 support, something I really haven't heard any .NET developers understand or use... (raise your hands if you know someone!) I'll simply challenge @skradel and @klingsen to come up with a blog post or something that 1) documents the different default encryption/hash algorithms available in .NET with default settings 2) Examples of known user/pass/hash/salt (for the obvious purpose of implementing support for it) 3) Provide examples of DOs and DONTs when configuring anything else than default I guess there are quite a few .NET developers out there that would gain from such information. :-) RE: EPiServer hash format - thorsheim - 04-04-2012 Well, @skradel has made his blog post(s): http://zetetic.net/blog/2012/3/29/strong-password-hashing-for-aspnet.html for those interested, with some timings to go with it: https://gist.github.com/2242252 I'll stand by my feature request for implementing specific support for the default (episerver) .NET format (SHA1), but with .NET 4x it will default to SHA256. After talking to episerver (Thx Steve!), there is every reason to believe that current episerver installations are running with the SHA1 hash/salt default. Although "upgrading" current installations to utilize SHA256 or better, it will require 1) (simple) code changes in current installations, as well as 2) password resets across all users/accounts in order to bring them over to whatever new format you choose to implement. Easier said than done, episerver will most probably recommend and even implement/deploy better .NET settings for their next major version of episerver. RE: EPiServer hash format - thorsheim - 04-05-2012 Rounding off with a blog post with a big THANK YOU to the people involved in this particular case: http://securitynirvana.blogspot.com/2012/04/it-all-started-with-hash.html RE: EPiServer hash format - atom - 04-06-2012 Thanks for the helping Per, always a winning! I will add this algorithm to oclHashcat-plus. RE: EPiServer hash format - atom - 05-06-2012 I've finished a first version. See here: Quote:root@sf:~/oclHashcat-plus-0.09# echo testPassword | ./oclHashcat-plus64.bin -m 141 hash Tomorrow I will add BF kernel, build a new beta and post some benchmarks RE: EPiServer hash format - thorsheim - 05-06-2012 Nice! Thank you atom! Will also check to see if the same format is valid for "anything" that gets stored through default .NET <=3.5 settings. If so, its not just episerver format support, but ".NET SHA1 hash format". RE: EPiServer hash format - atom - 05-06-2012 Sure, I know. I am using the same hash format JtR uses, with the version tag *0* indicating that this is the unmodified algorithm setting (.NET SHA1 hash format). The new beta version is up on http://hashcat.net/beta/ for testing for both AMD and NVidia. Here are some stats: hd7970: Quote:Speed........: 2110.4M c/s Real, 2110.7M c/s GPU hd6990: Quote:Speed........: 3054.4M c/s Real, 3058.3M c/s GPU gtx560Ti: Quote:Speed........: 428.9M c/s Real, 428.9M c/s GPU RE: EPiServer hash format - troyhunt - 06-20-2012 Hi guys, I've tried get into this today and work out a little proof of concept around cracking the hashes stored by the ASP.NET membership provider which, as we've discussed, should be the same as EPiServer. Running v0.09 and trying to apply atom's syntax from above (comment 16), I'm a bit stumped - I just can't work out how that command syntax is structured and where the salt / hash is coming from. Judging by the other samples, I was expecting to see something similar to this (assuming cracking against a dict): -m 141 [hashfile] [dict] I'm also not sure of how the salt is appended with the hash in the hash file so, yeah, ideas? What am I missing here? RE: EPiServer hash format - atom - 06-20-2012 The example hash is structured as following: $episerver$ <- signature * sep 0 <- version (currently only 0 allowed. 0 = sha1) * sep fGJ2wn/5WlzqQoDeCA2kXA== <- salt value, base64 encoded * sep zycIUapZz/v84FF93rAWDlCA3x8= <- sha1 hash, base64 encoded The dict you are missing can be added as last parameter. If you omit it, oclHashcat accepts arbitrary input via stdin, that why it says piped in the status. In my example I used echo. |