Parrot OS on Windows Subsystem for Linux (WSL)
Due to Parrot no longer actively maintaining the Github repo for this install script, I have ported it to a gist on my own account. I am now working to actively maintain it to ensure it continues working. As of Jan 13, 2020, it appears that the script is currently working as intended and the links on this blog have been updated to reflect its new location.
SPECIAL THANKS to Thunder Son for walking through this process with me after I failed to take notes the first time so he could help me grab screenshots and troubleshoot errors for this write up.
Recently I decided to take on the change of turning from Linux as my daily driver, specifically Parrot OS, and moving to Windows to take advantage of Windows Subsystem for Linux (WSL) alongside the versatility of other tools like Powershell. I really loved Parrot OS as a Linux distro and so I knew I wanted to be running this distro with all of it’s tools when I typed “bash” in Windows. After hours upon hours of errors, tinkering, and setup, I now have a fully working install with all tools of Parrot OS on WSL. Below is how I got there and some of the errors you may run into along the way if you attempted it yourself. Note that some native Parrot tools like “anonsurf” still do not function properly due to how WSL and networking work on the machine but I will be working to resolve those in later write ups. I have also done another write up on getting Nmap to “work” in WSL.
Without any further delay, here is what I did!
STEP ONE
Step one is, of course: install Windows Subsystem for Linux (WSL). This can be done by the “Enable / Disable Windows Features” window or by running the following Powershell command on any machine with Windows 10 version 1601 or later.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
If you hadn’t installed this previously, you should reboot your machine after it completes. If you already had it installed, you can just proceed to the next step.
STEP TWO
STEP THREE
Open Command Prompt or Powershell and launch “bash”. This should boot you right into Kali Linux on the user account you created. At this point, it’s a good idea to make sure the Linux side of the system is fully up to date. Run the following:
$ sudo apt update
$ sudo apt upgrade -y
STEP FOUR
Install GNUPG. This is required for the Parrot install script to work. I don’t know why, but everything gets messed up if you try the next step without it. Learn from my mistakes and just install it.
$ sudo apt install gnupg
STEP FIVE
STEP SIX
C:\Users\USERNAME\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalState\rootfs\etc\resolv.conf
STEP SEVEN
We can’t have our cake and eat it too. To install all of our favorite hacking tools (next step) we are going to have to set some exclusions in Windows Defender. I made the mistake of not doing this the first time and my Defender went crazy with notifications when I first tried to run the command in the next step. Choose your own way for this method, I opted to do it by a folder exclusion at:
With this, everything in my Linux distro should be safe from scanning and allow the rest of my machine to stay behind Windows Defender.
STEP EIGHT
At this point you have the core system and you’re free to hang out here. However, just like Kali on Windows, we don’t have all of our beloved Parrot OS tools available and it doesn’t make a ton of sense to stop right here after all of that. To start the (LONG) install of the whole toolset, simply run:
$ sudo apt install parrot-tools-full
STEP NINE
All that’s left to do now is enjoy running Parrot inside your Windows installation. At the time of writing this I am only less than 24 hours in on using the system this way and I haven’t uncovered all the kinks that I have no doubt will come with this. I know that the popular “anonsurf” doesn’t work and I will try and fix that. I also know that as with all WSL setups, Nmap doesn’t work Linux side but can be called from the Windows side easily through an alias.
If you run into any errors along the way, have any tips regarding this, or anything else, feel free to let me know in the comments here or on Twitter.
Member discussion