The virtual machines are supposed to be equivalent to a physical machine.
The virtual machines run on virtual hardware, so the operating system and programs behave as if they are running on an actual physical machine.
Why do we utilize virtual machines for this? A few reasons are:
- Repeatability (If a virtual machine gets trashed, reset it to a known point.)
- Adaptability (You don't need to set up an entire office worth of computers in your basement, you can virtually network them and achieve the same result... or mimic a typical SOHO setup.)
- Cost (Same as above, virtualize a whole network, don't build one from hardware.)
Why does this matter?
Compromising a virtual webserver, file server, or host system is essentially the same as doing it on a physical host
A lot of networks utilize some form of virtualized infrastructure
Remember, these introductory exercises are straight forward. Putting it all together is not. You might need a simple SQL injection to dump a poorly secured file that contains user credentials, and then use those credentials to SSH into a system, from there you continue exploring and advancing through a network.
In closing, the exploitable VM can represent anything. It might be designed with a user's system in mind, or a webserver, or a file server. In real-life penetration testing, you might not know what the system you're trying to break into does.