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.
Environment
- Windows 10 Professional 1809
- Kali Linux VMWare version 2019.2
- PowerShell 6.2
- Visual Studio Code
- Git
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
## Update – OffSec now offers HyperV images directly so you can skip conversion
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/
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
- 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 – generally accept
- 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
pwsh
Rather than putting stretch main into powershell.list, I put it into microsoft.list instead.
PowerShell is installed!
Step 6. Install Visual Studio Code
https://code.visualstudio.com/docs/setup/linux#_debian-and-ubuntu-based-distributions
I downloaded the .deb file from here:
https://go.microsoft.com/fwlink/?LinkID=760868
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.