Installing Kali OS Workstation

Introduction

This guide will help us get our machine ready for the development and exploitation environment. The core Tools and Methodologies used for assessing web applications and performing researches should be applied.

Core Tools and Methodologies

Generally the following tools are required for performing White, Gray and Black box assessments.

  1. Web traffic inspection: burp suite(Setting web testing guide: https://app-sec.gitbook.io/application-security/v/penetration-testing/web-testing/advanced-web-testing-workspace)

  2. Scripting: Python is used to interact and perform web interactions, send/receive requests, changing headers, parameters, meta data

  3. Source code analysis: IDE (Visual Code/ NeoVim), used for debugging and analysis Routes and functions

  4. Compilers and runtime environment: Node.js runtime(+NPM), Java+JDK,

Pre-requisites

In the day to day of penetration testing and exploit development we need access to tools and libraries that allow us to install and deploy several web and API frameworks. Preferably machine should be one of the following:

  1. MacOs with Brew installed

  2. Debian based with RPM (apt)

  3. Windows with WSL or Kali running on a VM

You'd need at least 60GB of storage, at least 16G RAM, and an internet connection.

Preferred OS - Kali

It is preferred to use Kali OS, as it comes pre-built with most of the tools and all of the prerequisites.

Installing Kali

There are several methods to obtain and install Kali Linux on your machine:

  1. Use an ISO image and install it bare metal(either via bootable USB or live bootable USB) if using a dedicated computer.

  2. If using a Windows host machine: install virtualbox or VMware or use Hyper-V and download and load the KaliOS VM

  3. Using Windows 11 - WSL 2 we can use a Linux Kernel inside Hyper-V VM(make sure to allow for nested VM) Follow Kali documentation and commands

Enable virtualization

The following steps are required to enable WSL2 in your windows 11 PC.

For windows 10 follow this guide https://www.omgubuntu.co.uk/how-to-install-wsl2-on-windows-10

  1. Ensure Compatibility: x64 and Arm CPUs, Windows Version above 1809(Follow here if not up to date)

  2. Test if hyper-v is already enabled(Powershell with administrator privliges): Set-VMProcessor -VMName kali -ExposeVirtualizationExtensions $truesprivliges

  3. If Hyper-V isn't enabled continue through the next steps:

  4. Ensure Virtualization is enabled in BIOS. Below is a ThinkPad BIOS example, but you can research your BIOS on google. You can obtain BIOS model by right clicking My Computer> Manage > Device Manager

ThinkPad BIOS, go to security, Virtualization
Enable Virtualization, Save and Exit with F10
  1. Ensure the features are enabled in windows features:

    1. "Virtual Machine Platform" (a subset of Hyper-V)

    2. "Windows Subsystem for Linux"

    3. In Start(Ctrl+R) start appwiz.cpl

Click enable or disable Windows features
Click the + sign next to Hyper-V and check both sub-items
Enable Windows subsystem for Linux, also enable Windows Hypervisor Platform

Restart your computer and ensure Windows is fully up to date.

Install WSL2

Note: The easiest method is to install Kali in WSL2 is Kali Linux via the Microsoft Store Enable WSL2.

Run this in cmd(Win+R > cmd.exe):

If you get the following error you probably missed a previous step, ensure virtualization is enabled in BIOS.

to start kali Win-Kex:

Additional Tools

We would require the following:

  1. package manager (brew, updated apt)

  2. node + npm (opt for nvm to control versions)

  3. Java JDK + maven (to run springboot/jersey)

  4. Python3 with Flask and Django

MacOS

If using Mac ensure homebrew is installed:

Debian

Kali includes most of the tools, ensure tools are installed if you're not using kali or missing any

Example: Full Personalized Installation

The following commands are the commands necessary to install fonts, NeoVim+VSCode IDEs, ensure java is installed ,GitHub CLI + Lazygit to manage git, and some suggested plugins.

Verify installation

Last updated