This question already has an answer here:
I know how to use rainbow tables. I've already read the other questions this topic here.
Well but there is still one question left. As an attacker, I usually have a hash value of a password and everything I read says that you have to start at the end of a chain and then apply the reduction function, the hash function an so on, until you find the given hash value.
Another way to get the password could be to start with the plaintext, calculate the hash, reduce the hash until I find my given Hash value. So there is no need to reconstruct the complete chain.
Why do I have to start with a hash value and not with a plaintext?