|
|
Message-Id: <08976157-BA3E-4D72-AE81-0AD8F66AD2F5@sl-chat.de>
Date: Wed, 1 Jul 2009 16:12:53 +0200
From: SL <auditor@...chat.de>
To: john-users@...ts.openwall.com
Subject: Re: Joomla password hashes
On Thu, 7 Feb 2008 07:10:42 +0300, Solar Designer wrote
> On Wed, Feb 06, 2008 at 10:09:17AM -0500, Steve ...... wrote:
>> On Sun, 3 Feb 2008 22:17:13 +0300, Solar Designer wrote:
>>> Here's an example external filter() that adds that salt from your
>>> first
>>> posting in this thread:
>>>
>>> [List.External:Joomla]
>>> void filter()
>>> {
>>> int i;
>>>
>>> // Find end of "word"
>>> i = 0; while (word[i]) i++;
>>>
>>> // Hard-coded salt from http://www.openwall.com/lists/john-users/
>>> 2008/02/01/1
>>> word[i++] = 'R';
>>> word[i++] = 'i';
>>> word[i++] = 'y';
>>> word[i++] = 'O';
>>> word[i++] = '6';
>>> word[i++] = 'I';
>>> word[i++] = 'Z';
>>> word[i++] = 'T';
>>> word[i++] = '9';
>>> word[i++] = 'e';
>>> word[i++] = 'u';
>>> word[i++] = 'D';
>>> word[i++] = 'z';
>>> word[i++] = '6';
>>> word[i++] = '9';
>>> word[i++] = 'F';
>>>
>>> word[i] = 0;
>>> }
>>>
>>> To use it, you'd put the hash in a file (let's call it passwd)
>>> like this:
>>>
>>> joomla1:4e36196d7ddc2610fd425ba0617233ca
>>>
>>> Then run JtR on the file like this:
>>>
>>> ./john -w=password.lst --rules --external=joomla --users=joomla1
>>> --format=raw-md5 passwd
>>
>> Im a little confused.. so I would have to add that below line for
>> line to my
>> john.conf and run john wait a couple days then modify it again
>> changing it
>> line by line run john on another hash?.. sounds like a lot of work
>> and time.
>
>
> That's correct - although it's up to you to decide how long to let
> it run
> on just one hash - a couple of days sounds excessive to me if you
> have a
> lot of hashes. In fact, if you choose to test for just the initial
> passwords (those not changed by the users), then you'd need just a few
> seconds per hash.
>
> [...]
>
> This external mode that I posted was primarily a proof-of-concept.
> For
> actual use on a large number of hashes, you'd want support for these
> hashes added to JtR itself.
Sorry for quoting this much, but since it's a reply to a rather dusty
post, I thought it was sensible.
My approach to salted Joomla MD5's is a little different, but (at
least to my gusto) more convenient (assuming Bash, may work with
other shells, works equally well on Linux and OSX/BSD):
#!/bin/bash
IFS=":";
wordlist="./password.lst";
passwd="./passwd";
while read user hash salt comments; do
echo "Trying $user ...";
./john --session="S1" --stdout --wordlist="$wordlist" --rules \
| sed "s/$/${salt}/" \
| ./john --session="S2" --stdin --format=raw-MD5 --user="$user"
"$passwd";
done < "$passwd"
./passwd's format is:
joomla1:4e36196d7ddc2610fd425ba0617233ca:RiyO6IZT9euDz69F
$username:MD5($password$salt):$salt[:comments, full name, email etc.]
This is certainly not the most performant solution, but with a
carefully crafted wordlist and a moderate ruleset, it's able to audit
an entire user DB within a fortnight.
Of course, you can equally use "--markov" or "--incremental", if
you've got plenty of time or CPU cycles. Just replace
./john --session="S1" --stdout --wordlist="$wordlist" --rules
with
./john --session="S1" --stdout --markov
or
./john --session="S1" --stdout --incremental
(I fail to crack the given example hash though, by the way. As Solar
mentioned, it appears to be nontrivial.)
SL
--
To unsubscribe, e-mail john-users-unsubscribe@...ts.openwall.com and reply
to the automated confirmation request that will be sent to you.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.