To practice "ethical hacking", I have created a dozen different "vulnerable machines". These machines are virtualized, and are created with a small hidden hole in their security which is known as a critical vulnerability. Exploiting these vulnerabilities allows the hacker to have full access to the target machine. The task is to find these vulnerabilities and exploit them using various real world hacking tools.