Metasploitable
Metasploitable is an intentionally vulnerable machine that you can use to test Metasploit exploits to obtain shell permissions. Metasploitable differs from other vulnerable machines, since it focuses more on the operating system and network layer.
Metasploitable currently has three versions to date; these are aptly named Metasploitable, Metasploitable 2, and Metasploitable 3.
There are significant changes in each release over and above how you would set them up.
Metasploitable (version 1) is a VM-based customized Ubuntu image. Within this image, there is a number of vulnerable and poorly configured software installed. For example, you might have Tomcat with weak credentials, easily exploitable using Metasploit.
Metasploitable 2, which was more robust, had a lot more vulnerabilities introduced. It included more than 30 exposed ports that would show up in a Nmap scan. It also included vulnerable web applications, such as Damn Vulnerable Web App (DMVA) and Mutillidae. This allowed people to test their web application penetration testing skills.
Metasploitable 3 upped the game. Versions 1 and 2 were Linux-based, but version 3 is Windows-based. Metasploitable 3 makes use of automation and provisioning. The build process is simple and robust, all of its scripts are open source, and it leverages tools such as vagrant and packer. At the time this book was written, Metasploitable 3 supports both VMware and Virtualbox.
There is additional software that needs to be installed prior to getting Metasploitable up and running. The following are required:
- Packer (available for download at https://www.packer.io/intro/getting-started/install.html)
- Vagrant (available for download at https://www.vagrantup.com/docs/installation/)
- The Vagrant reload plugin (available for download at https://github.com/aidanns/vagrant-reload#installation)
- Virtualbox or VMware
- Metasploitable 3 (available for download at https://github.com/rapid7/metasploitable3)
The build steps for Metasploitable 3 are relatively simple and can be found on the GitHub repository maintained by Rapid7 (https://github.com/rapid7/metasploitable3). There are resources available on the internet that host pre-built Metasploitable 3 VMs.