TODO: Convert the Metasploitable2 VMDK (VMWare image) to a VHD/VHDX (Hyper-v) image.

What you need: Except an running Hyper-v setup, all you need to download and install is Microsoft Virtual Machine Converter 3.0 (it really is 3.1) Luckily you don’t really need to use this - it is somewhat half baked and not what you expect, but the convert module is excellent, and that is the only thing we care about here. If you have a running VMware/Citrix setup running, the MS converter application could work.

Microsoft Virtual Machine Converter 3.0

MS Virtual Machine Converter install dir will include the relevant PS module: MvmcCmdlet.psd1 (Typical install location would be: C:\Program Files\Microsoft Virtual Machine  Converter\MvmcCmdlet.psd1). Import this module. From a elevated PowerShell prompt:

Import-Module “C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1”

 After importing the module, you can convert the VMDK image directly from Powershell with ConvertTo-MvmcVirtualHardDisk. Syntax is pretty straightforward:

-SourceLiteralPath     Path to source image. I.e. D:\VMS\Metasploitable.vmdk
-DestinationLiteralPath   Where you want to store the resulting vhd image. Like D:\VMS\Metasploitable.vhdx
-VhdType DynamicHardDisk|FixedHardDisk Self explanatory. The fixed disk will be about 8.2 GB. The dynamic disk will be 2.3 GB.
-VhdFormat Vhd | Vhdx Format of resulting vhd(x) image. vhdx denotes 2. generation Hyper-v format (but you can use a VHDX image, in a 1. generation VM).


Source: F:\ISO\Metasploitable2-Linux\Metasploitable.vmdk 
Destination: F:\ISO\Metasploitable2-Linux\Metasploitable.vhd
Disk type: Dynamic
Format: vhd


ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "F:\ISO\Metasploitable2-Linux\Metasploitable.vmdk" -DestinationLiteralPath "F:\F:\ISO\Metasploitable2-Linux\Metasploitable.vhd" -VhdType DynamicHardDisk -VhdFormat Vhd

Very quick conversation; 30-40 seconds on my standard office PC.

Note on configuration of VM

Configure the Hyper-v VM as 1. generation and of course use the exported VHD disk.

Missing network: I had to remove the network adapter installed in the initial setup of the VM, and replace it with a ‘Legacy Network Adapter’.

VM is configured with 2048 Mb (dynamic).


Note on the Open Web Application Security Project (OWASP)

The OWASP Broken Web Applications Project VM can also be converted to VHD/Hyper-v with the above PS module. Just use “OWASP Broken Web Apps-cl1.vmdk” as source. Resulting VHD image will be around 7.4 GB. Also replaced the initial network adapter with a ‘Legacy Network adapter’. 


PS C:\> ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "F:\ISO\OWASP\OWASP_Broken_Web_Apps_VM_1.2\OWASP Broken Web Apps-cl1.vmdk" -DestinationLiteralPath "F:\ISO\OWASP\OWASP_Broken_Web_Apps_VM_1.2\OWASP-Broken-Web-Apps-cl1-s001.vhd" -VhdType DynamicHardDisk -VhdFormat Vhd

 Also fairly quickly conversion - less than 2 minutes.

VM is configured with 2048 Mb (dynamic).


OWASP Broken Web Applications Project