Kali Linux, Hyper-V, PowerShell and VS Code

I am in the process of working towards my OSCP certification. As such, I needed a way to run a Kali Linux machine leveraging the OffSec provided VM images on my Win10 box and I needed tools that I am comfortable with that allow me to script easily and on demand. Since I am pretty deep in PowerShell, getting PWSH (how we launch PS on Linux) and Visual Studio Code up and running seemed logical. The instructions for installing PWSH on most blog posts aren’t quite complete or are out of date. I am documenting the version of everything I am using here to make it work.


  • Windows 10 Professional 1809
  • Kali Linux VMWare version 2019.2
  • PowerShell Core 6.2.1
  • Visual Studio Code 1.35.1
  • Git 2.20.1

Step 1. Download the VM
Step 2. Convert the VM into a Hyper-V Image
Step 3. Import the VM into Hyper-V
Step 4. Update and Upgrade
Step 5. Install PWSH
Step 6. Install VS Code
Step 7. Install Git

Step 1. Download the VM

Download page here: https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/

Q. Should you download 32 or 64-bit?
A. If you are going to run PWSH you need the 64-bit version as .Net Core is only supported on 64-bit Debian machines.


Since I am going to land on Hyper-V, I downloaded the VMWare image.

Step 2. Convert the VM into a Hyper-V Image

There are a lot of blog posts on doing this. I followed the steps here: https://blogs.msdn.microsoft.com/timomta/2015/06/11/how-to-convert-a-vmware-vmdk-to-hyper-v-vhd/

[Update] The conversion will not work immediately post download. It throws and error which requires the VMDK file to be modified. Simply open the VMDK with notepad and comment out (#) the line that says ddb.toolsInstallType = “4”. Save and convert.

Microsoft VMWare Conversion Kit: http://www.microsoft.com/en-us/download/details.aspx?id=42497

Step 3. Import the VM into Hyper-V

  • Select Location
  • Gen 1 VM (Image does not work with Gen 2)
  • 4096 MB of RAM
  • Connected to the Internet
  • Using the converted VMWare image
  • 4 cores

Boot it up

Step 4. Update and Upgrade

NOTE: Out of the box username and password are root and toor respectively. Recommend you change this ASAP.

  • Login
  • Open a terminal (left hand side)
  • sudo apt-get update && sudo apt-get upgrade
    • It might throw a warning or error here that a different process has a lock on some necessary files. If that is the case, wait a sec and rerun the prior command
  • Be patient
  • Follow the onscreen prompts
    • Should non-super users be able to capture packets – yes
  • Reboot

Step 5. Install PWSH

From here, I followed the Microsoft steps in order to install PowerShell on Kali:


# Download & Install prerequisites

wget http://ftp.us.debian.org/debian/pool/main/i/icu/libicu57_57.1-6+deb9u2_amd64.deb
dpkg -i libicu57_57.1-6+deb9u2_amd64.deb
apt-get update && apt-get install -y curl gnupg apt-transport-https

# Add Microsoft public repository key to APT
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add –

# Add Microsoft package repository to the source list
echo “deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main” | tee /etc/apt/sources.list.d/powershell.list

# Install PowerShell package
apt-get update && apt-get install -y powershell

# Start PowerShell

Rather than putting stretch main into powershell.list, I put it into microsoft.list instead.

PowerShell is installed!

Step 6. Install Visual Studio Code


I downloaded the .deb file from here:


And then changed to the download directory and ran the install command:

    sudo apt install ./code_1.35.1-1560350270_amd64.deb

Once VS Code finishes installing, pop open the editor and then go to Extensions and add the PowerShell extension

You are now ready to PWSH on Kali!

Step 7. Install Git

    sudo apt-get install git

Ready to rock. We now have OffSec’s Kali Linux running in Win10 Hyper-V with PowerShell, Visual Studio Code and Git installed.

Automation, OffSec, OSCP, PowerShell, Security

Leave a Reply