Chapter 2. Choosing the Virtual Environment
In this chapter, we will discuss the different virtual environment platforms there are to choose from. We will look at most of the main virtual technology platforms that exist. We will discuss the following topics:
- Commercial environments
- Image conversion
- Converting from a physical to a virtual environment
One of the most challenging things we have to do is decide on the virtualization software that we want to use. Not only do we have to decide on what we want to do with respect to the software we choose, we also need to decide whether we want to build a dedicated virtual platform or run the software on our existing system. In this book, we are going to focus on creating a new virtual environment on our existing system, which is normally a desktop or laptop. However, it is still important to at least briefly discuss the option of creating a bare-metal environment.
When we install a bare-metal environment (also known as a Type 1 installation of a virtual environment), the OS is provided by the product in the form of a hypervisor. Although this is an extremely useful way of creating powerful and complex architectures, it requires dedicated hardware and as such is not something we would, for the most part, be able to carry around with us. If you are in a lab environment and building labs, then it is something you definitely should explore due to the power and options you have when creating machines.
An example of a Type 1 bare-metal architecture is shown in the following figure:
As the figure shows, in a Type 1 or bare-metal architecture, the Hypervisor is installed on the system hardware and the virtualization resources are provided by the Hypervisor. You can configure a large number of options to include resource allocation when you use a virtual bare-metal solution.
Type 1 virtualization provides a robust and extremely powerful solution to consider when building your pen-testing labs. However, one thing that makes it a challenge to deploy is the fact that the OS is provided by the hypervisor already installed in the hardware, and this can cause challenges with certain hardware versions; furthermore, for the most part, this type of solution is best implemented on a desktop or server-type machine. While it can be implemented on a laptop, it is more common on other platforms. One option is to create your lab environment and then remotely access it. From a virtualization standpoint, it does not impact the machines we create; either type 1 or type 2 will suffice. For the purpose of this book, we will use type 2 virtualization. An example of Type 2 virtualization is shown in the following figure:
As can be seen, in Type 2 virtualization, the Hypervisor sits on the Operating System, and the Operating System sits on the system Hardware. Again, this is the architecture we will utilize as the book progresses. For now, we will look at both type 1 and type 2 solutions. Starting from Chapter 3, Planning a Range, we will maintain focus on the type 2 solution, in fact, a machine with an operating system and a virtual tool installed on top of it.