Don't remember if it has brute forcing in it or not, but look in to gray hat python. however, from what you describe, isn't that how John The Ripper works?
Personally I think brute forcing would work better if you could use a dictionary file with the most common passwords, and then flip over to brute attacks later. (And I think some of them do that too).
Problems with brute forcing over all. Brute a remote host, you have to worry about account lockout. So you have to do the attack slower to get it done. With a password file, you still have a time issue. Brute forcing is one of those things that take lots and lots of time.