You might be interested in Hashcat. http://ob-security.info/?p=56

I may be mistaken, but I believe it will do exactly what you're asking. Crunch seems to be more geared towards permuting...