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 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, it is also required that we 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 virtual environment on our existing system. 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 install of a virtual environment), the OS is provided by the product in the form of a Hypervisor. Although this is an extremely useful way to create powerful and complex architectures, it requires the dedication of the 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 the 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 screenshot:
As the preceding screenshot shows, in a type 1 or bare metal architecture, the Hypervisor is installed in 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 you are building your pentesting 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 the other platforms. One potential option to use 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 our purposes in this book, we will use type 2 virtualization. An example of type 2 virtualization is shown in the following screenshot:
As can be seen, in type 2 virtualization, the Hypervisor rides on the operating system and the OS rides 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.