Is my plan a good idea?
#1
So, I have a bad CPU and GPU, however I like cracking hashes. My plan may work, or it may not, please help me.

Plan:

1. Buy a 1TB external hard drive.
2. Download a crap load of wordlists.
3. Sort them if I can be bothered
Now since my hardware is bad I thought this would make thing a little quicker.
4. Make a rainbow table out of those wordlists, so my hardware dosn't have to hash the word every time I run them.

But I am knew to lookup/rainbow tables. If I had 100GB of wordlists, how big would the tables be in size? Also, if it took me 2 hours to run through 100GB of lists, how long would it take on to run through the table?

I am aware that I can only make the table in one algo.

Profit, or not?

Thanks for your help.
#2
It's a really bad idea, all you're doing is wasting disk space. And if you have a 100 GB wordlist, you're doing something very, very wrong.
#3
(12-28-2014, 09:29 PM)epixoip Wrote: It's a really bad idea, all you're doing is wasting disk space. And if you have a 100 GB wordlist, you're doing something very, very wrong.

I don't have a 100GB wordlist, I was just saying i could download it if I wanted to.

What do you mean a waste of disk space?

If the wordlist is 100GB, how big would the table be?

Also, I have an extremely slow GPU, so I thought it would be beneficial if I computed all of the hashes beforehand.

Thanks.
#4
Rainbow tables are virtually useless against salted hashes. And even if they weren't, you have to factor in disk access times: How fast can you search those tables vs. how fast is hashcat (and oclhashcat). This is made worse by the fact you specify an external HD. Does your computer have USB 3.0 ports? Is the HD a USB 3.0? Even then, based on my experience, don't expect more than about 30MB/sec transfer rate and that's on a straight copy.

You would be better off spending the HD money on a better video card.
#5
(12-28-2014, 11:28 PM)rsberzerker Wrote: Rainbow tables are virtually useless against salted hashes. And even if they weren't, you have to factor in disk access times: How fast can you search those tables vs. how fast is hashcat (and oclhashcat). This is made worse by the fact you specify an external HD. Does your computer have USB 3.0 ports? Is the HD a USB 3.0? Even then, based on my experience, don't expect more than about 30MB/sec transfer rate and that's on a straight copy.

You would be better off spending the HD money on a better video card.

Laptop, so I can't really replace the GPU. I looked at an external hard drive that was USB 3.0, my laptop has a 3.0 port, and the drive had a read and write speeds of 120MB/sec.

So is turning lots of wordlists into a lookup table really such a bad idea?
#6
First, GPU is irrelevant for what you are talking about doing. CPU is faster than GPU for the algorithms you would be able to generate tables for, since it's impossible to gain any acceleration performing straight wordlist attacks against fast hashes.

Second, rainbow tables have NEVER been a viable substitute for straight dictionary attack, only brute force. And even then rainbow tables have been considered deprecated for many years now thanks to GPUs. We stopped using rainbow tables 5+ years ago because they are a waste of disk space, they're absurdly inflexible, they don't scale for shit, and smarter attacks (rule-based, combinator, targeted mask attacks) will win out every time.

Overlooking the idea that arbitrarily-large wordlists are completely braindead, let's say your 100 GB wordlist has about 9 billion words. And let's say you really do have a shitty CPU, and you can only pull 15 MH/s on md5. At 15 MH/s, it would only take you 10 minutes to run through your 100 GB of words. That's nowhere near the 2hrs you estimate. This wordlist can also be re-used for other algorithms and can be used to seed other attacks (rule-based, combinator, hybrid, etc), whereas your massive lookup table can't be used for any of those things.

It's just a terrible idea no matter how you slice it. Crack smarter.
#7
(12-28-2014, 11:48 PM)epixoip Wrote: First, GPU is irrelevant for what you are talking about doing. CPU is faster than GPU for the algorithms you would be able to generate tables for, since it's impossible to gain any acceleration performing straight wordlist attacks against fast hashes.

Second, rainbow tables have NEVER been a viable substitute for straight dictionary attack, only brute force. And even then rainbow tables have been considered deprecated for many years now thanks to GPUs. We stopped using rainbow tables 5+ years ago because they are a waste of disk space, they're absurdly inflexible, they don't scale for shit, and smarter attacks (rule-based, combinator, targeted mask attacks) will win out every time.

Overlooking the idea that arbitrarily-large wordlists are completely braindead, let's say your 100 GB wordlist has about 9 billion words. And let's say you really do have a shitty CPU, and you can only pull 15 MH/s on md5. At 15 MH/s, it would only take you 10 minutes to run through your 100 GB of words. That's nowhere near the 2hrs you estimate. This wordlist can also be re-used for other algorithms and can be used to seed other attacks (rule-based, combinator, hybrid, etc), whereas your massive lookup table can't be used for any of those things.

It's just a terrible idea no matter how you slice it. Crack smarter.

My CPU and GPU both pass hashes at around 5 MH/s on a file containing 65K hashes. The CPU passes at 20 MH/s and GPU at 5 MH/s with dealing with 1 hash.

If I were to buy an external hard drive, space would not be an issue. So therefore, is there not a way to pre-hash the words in the wordlist, for example, instead of this

098f6bcd4621d373cade4e832627b4f6

It would be saved in the list as this

098f6bcd4621d373cade4e832627b4f6:test

Therefore, when I do a run through a list of hashes, it would be saving a lot of time as my hardware won't need to hash the words over and over again for every hash list I pass?

I really appreciate your replies.
#8
GPU makes sense -- as I said, you should not be running straight wordlist attacks against fast hashes on GPU. However, there shouldn't be that much of a drop between single hash and multihash on CPU. Are you specifying the correct -n value for hashcat-cli? Have you tried adjusting the segment size?

Also hash:plain is not a lookup table or a rainbow table -- that's a potfile, and that would be much, much slower than 5 MH/s. For you to have any chance at speed you'll want to use an indexed database.

Generating the tables will be about 50x slower than what hashcat-cli can hash at due to the fact that you won't be able to take advantage of multithreading, SIMD, and general algorithm optimizations, plus the time it actually takes to write to the database and generate the indexes. You will likely spend several months generating this table.

Again, what you are talking about doing has never been a good idea, even when rainbow tables were popular. Rainbow tables were a substitute for brute force, NOT for straight dictionary attacks.

It seems like you have your mind made up though, so good luck to you.
#9
(12-29-2014, 12:19 AM)epixoip Wrote: GPU makes sense -- as I said, you should not be running straight wordlist attacks against fast hashes on GPU. However, there shouldn't be that much of a drop between single hash and multihash on CPU. Are you specifying the correct -n value for hashcat-cli? Have you tried adjusting the segment size?

Also hash:plain is not a lookup table or a rainbow table -- that's a potfile, and that would be much, much slower than 5 MH/s. For you to have any chance at speed you'll want to use an indexed database.

Generating the tables will be about 50x slower than what hashcat-cli can hash at due to the fact that you won't be able to take advantage of multithreading, SIMD, and general algorithm optimizations, plus the time it actually takes to write to the database and generate the indexes. You will likely spend several months generating this table.

Again, what you are talking about doing has never been a good idea, even when rainbow tables were popular. Rainbow tables were a substitute for brute force, NOT for straight dictionary attacks.

It seems like you have your mind made up though, so good luck to you.

I don't have my mind made up, I am just seeking suggestions. So thanks very much for your time Smile
#10
(12-29-2014, 12:03 AM)Saint Wrote: It would be saved in the list as this

098f6bcd4621d373cade4e832627b4f6:test

not like rainbow tables are already bad, you want to make it even worse.