Installing Kali

Most of the stuff in here assumes you're running or have access to a Kali installation. There are exceptions, as I like to use Docker containers in many instances, since those are so portable. However, even where that is the case, I've usually done most of the testing or exploration on a Kali installation.
There are two reasons for this:

  1. Kali comes pre-loaded with tons of software, tools, scripts, and other resources that you'd just install anyway, and
  2. It's just cool.

"Bare metal" install on your laptop

Hardware Requirements

It can be fun to run Kali natively on your laptop, but be forewarned, that you'll often run into issues, incompatibilities, and quirks because of how Kali is setup versus a “normal” Linux OS.

The on-board Nvidia chips can cause headaches when installing Linux, so looking for a compatible (and stable!!) distro is very important.

Don't doubt yourself!

Kernel

Software

Java

openjdk version 1.8.0 or greater is likely needed for some programs you'll want to run, including LibreOffice if this is the main workstation.

Basic additional packages

There are some core utilities and tools that are not necessarily included in a default Linux install. The missing such as curl or even ping. Run this command to

sudo apt install openjdk-8-jre gnome-tweaks emacs byobu htop build-essential python3 python3-pip nmap ubuntu-restricted-extras inetutils-ping curl

Metapackages

Sometimes a full install is not required. This is where Kali's Metapackages come in. These include packages from the various areas of Kali tools.

Tools

Others

Install Kali in Windows Services for Linux (WSL)

Kali on Windows has a base install “kex” and this can be run in some different modes, such as seamless, in a window, etc.

Install instructions

Launch the Kali terminal from the normal Windows start menus

Launch kex with something like, which includes windowed mode and sound support
kex --win -s

Seamless mode merges Kali with your Windows environment
kex --sl -s

Build a Kali Hackbox in AWS

Cloud formation template for a Kali EC2 instance by ehelbig1

Other things

Use VirtualEnv whenever installing a specific python tool, because it will help.