Understanding password-based attacks is a key skill for any penetration tester. The job of a penetration tester is to find any weak or common passwords that may exist on the network so that they can be changed before someone else cracks their password with malicious intent. Plus, if these same users are using weak or well-known passwords for their user accounts, who knows what other system or superuser accounts they will also use those passwords for? That is why password cracking is such an important task.
In this chapter, I will be going through the fundamental process for password cracking, the initial task being generating rainbow tables and wordlists. These lists are the foundation of any cracking utility. I will then take those wordlists that I generated and use them in the various password cracking utilities that I use in my lab, the goal being to...