Ethical Hacking Lesson 10 – Kali Linux Overview | Dataplexa
Foundations & Hacking Mindset · Lesson 10

Kali Linux Overview

Your lab is running. Now it is time to get properly acquainted with the machine you will be working from for the rest of this course. Kali Linux is not complicated — but it does work differently from Windows and macOS in ways that matter from day one.

Kali Linux is a platform, not just a tool

The reputation Kali has in popular culture is wildly out of proportion to what it actually is. It is a Linux-based operating system built specifically for penetration testing and security research — developed and maintained by Offensive Security. Think of it less like a single tool and more like a fully equipped workshop: the workbench, the lighting, and 600+ specialist tools all set up and ready to go the moment you boot it.

It does not make you a hacker the moment you install it. It does not do anything automatically. It is a well-organised platform sitting on a stable Debian Linux base, designed so that security professionals can open a terminal and get to work without spending hours on setup. The skill is in knowing which tool to use, when to use it, and what the output actually means.

Everything you will do in the practical lessons from here onwards happens inside Kali. Getting comfortable with its structure now will save you a lot of friction later.

Download Kali Linux — free, official, always up to date

Kali Linux is completely free to download and use. The official download page at kali.org/get-kali offers several versions — for most learners following this course, the VirtualBox pre-built image is the right choice. It imports directly into VirtualBox with no installation required and is ready to use in minutes.

Download Kali Linux

Choose: Virtual Machines → VirtualBox (64-bit) — this is the image used throughout this course.

The Kali desktop — finding your way around

Kali uses the XFCE desktop environment by default — a lightweight graphical interface that looks similar to a traditional desktop. The most important element is the terminal, which you will use far more than any graphical application. Here is the layout you will see when Kali boots.

KALI LINUX — desktop layout
Applications
Places
Mon 09:04 AM
Terminal
root@kali:~# _
Terminal
Browser
Files
Taskbar — running applications appear here

The terminal is the black window with the green prompt. That is where every command in this course gets typed. The graphical interface exists but most professional work happens in the terminal — it is faster, more precise, and gives you complete control over what runs and how.

The terminal prompt — reading it correctly

Every time you open a terminal in Kali, you will see a prompt that looks like this:

root@kali:~# _

root

The username you are logged in as. Kali runs as root by default — the most powerful user account on any Linux system. Root has no restrictions. Every command runs with full system access.

kali

The hostname — the name of the machine. In your lab, this will say kali unless you have renamed it. On a real engagement, professionals often change the hostname to something less conspicuous.

~

The current directory. The tilde symbol means you are in the home directory — /root on Kali. As you navigate around the filesystem, this changes to show where you currently are.

#

The character that ends the prompt and where you start typing. A hash symbol means root access. A dollar sign ($) means a regular non-root user. On Kali you will almost always see #.

Essential commands — the ten you will use constantly

You do not need to memorise hundreds of Linux commands. A small core set covers the vast majority of what you will do during any engagement. These ten commands appear in almost every practical exercise from here onwards.

CORE LINUX COMMANDS — quick reference
Command Purpose Example
pwd Print current directory — shows exactly where you are in the filesystem pwd
ls List files and folders in the current directory ls -la
cd Change directory — navigate to a different folder cd /etc
cat Read and display the contents of a file cat /etc/passwd
grep Search through text for a specific pattern or keyword grep "root" /etc/passwd
man Open the manual page for any command — the built-in help system man nmap
mkdir Create a new directory — useful for organising engagement files mkdir engagement1
chmod Change file permissions — controls who can read, write, or execute a file chmod +x script.sh
ifconfig Show network interface details — your IP address and connection status ifconfig eth0
apt Package manager — install, update, or remove software on Kali apt update

The man command deserves special mention. Any time you encounter a tool or command you are not sure about, type man followed by the command name and Linux will show you its full documentation. Every flag, every option, every example — all built in. It is the fastest way to learn any tool without leaving the terminal.

Kali's tool categories — finding the right tool fast

With 600+ tools available, the question becomes: where do you find what you need? Kali organises everything into categories accessible from the Applications menu. Each category groups tools by what they are used for — so even if you do not know the name of a specific tool, you can find the right category and browse from there.

01 - Information Gathering

WHOIS, theHarvester, Maltego, Recon-ng, dnsenum, Shodan CLI

02 - Vulnerability Analysis

Nikto, OpenVAS, Nmap scripting engine, legion

03 - Web Application

Burp Suite, sqlmap, dirb, gobuster, wfuzz

04 - Database Assessment

sqlmap, mdb-tools, sqlite3, oscanner

05 - Password Attacks

Hydra, John the Ripper, hashcat, crunch, wordlists

06 - Exploitation Tools

Metasploit Framework, searchsploit, exploitdb

Running your first real commands in Kali

The best way to get comfortable with any environment is to use it. The commands below are not attack tools — they are basic navigation and system commands that familiarise you with how Kali works. Run them in your lab now while reading through each one.

The scenario: Your lab is set up and Kali is running. Before starting any security work, you spend ten minutes navigating the filesystem, checking the network configuration, and confirming the key tools are installed. This is standard practice at the start of any new engagement — know your environment before you start working in it.

# pwd — print the current directory
# This tells you exactly where you are in the filesystem right now
pwd

# ls -la — list all files including hidden ones with full details
# -l = long format (shows permissions, size, date)
# -a = all files (includes hidden files that start with a dot)
ls -la

# uname -a — show system information
# Displays the kernel version, architecture, and hostname all at once
# Useful at the start of any engagement to confirm what system you are on
uname -a

Breaking it down:

/root
The output of pwd. You are currently in /root — the home directory for the root user. This is where Kali starts you by default every time a new terminal opens.
drwx------ and -rw-r--r--
These are file permission strings. The first character tells you if it is a directory (d) or file (-). The next nine characters show read (r), write (w), and execute (x) permissions for the owner, group, and everyone else. You will see these constantly during privilege escalation exercises.
Linux kali 6.5.0-kali3-amd64
The kernel version your Kali installation is running. The x86_64 at the end confirms you are running a 64-bit system — which is required for most modern security tools to function correctly.
# Confirm your network interface is up and has an IP address
# eth0 is the primary wired network adapter in Kali
# Look for "inet" followed by an IP address starting with 192.168.56
ifconfig eth0

# Confirm a key tool is installed and working
# nmap --version prints the version of Nmap installed on the system
# If Nmap is missing, install it with: apt install nmap
nmap --version

Breaking it down:

inet 192.168.56.102
This is Kali's IP address on the private lab network. Both machines are now on the 192.168.56.0/24 subnet — Kali at .102 and Metasploitable at .101. Every tool you run in the practical lessons will use the Metasploitable IP as its target.
Nmap version 7.94
Nmap is installed and ready. The version number matters — certain Nmap scripts and features require specific versions. 7.94 is a recent stable release with full scripting engine support, which is what you need for the scanning lessons coming up.

Keeping Kali updated — one command, run it regularly

Security tools get updated frequently. New vulnerability databases, new detection methods, new scripting capabilities. Running an outdated version of a tool during an engagement can mean missing vulnerabilities that a more recent version would have caught.

Keeping Kali updated is a single two-part command. Run it before any major exercise and after any significant period of not using the lab.

# Step 1 — apt update
# Downloads the latest package list from Kali's software repositories
# This does NOT install anything yet — it just refreshes the list of what is available
# Always run this before upgrading so apt knows what the latest versions are
apt update

# Step 2 — apt upgrade
# Installs the latest versions of everything currently installed on the system
# -y automatically answers yes to any confirmation prompts so it runs without interruption
# This step actually downloads and installs the updates
apt upgrade -y

Breaking it down:

42 packages can be upgraded
After apt update, this line tells you how many installed packages have newer versions available. Running apt upgrade will download and install all of them. The number varies depending on how recently you last updated.
Need to get 124 MB of archives
The total download size for all the updates. On a fast connection this takes a few minutes. The update command needs internet access — temporarily switch your Kali network adapter from Host-Only to NAT just for the update, then switch it back when done.
-y flag on apt upgrade
Without -y, apt asks you to confirm before downloading each batch of updates. With -y, it proceeds automatically. Saves several keystrokes on a routine update — but do not use -y on commands you are not sure about, as it removes the chance to review what is about to happen.

Teacher's Note: You now have everything you need to start the practical section of this course. A running lab, a target machine, and a working Kali environment with the core tools confirmed installed. Section II starts with DNS enumeration — and everything from here runs in this exact setup.

Practice questions

Scenario:

A pen tester is about to use a Kali tool they have not used before. They want to read the full documentation for that tool — every available flag, usage examples, and a description of what it does — without leaving the terminal or opening a browser. Which built-in Linux command lets them do this for any installed tool?


Scenario:

A pen tester has not used their Kali lab for three weeks. Before starting a new practical exercise, they want to make sure all their tools are at their latest versions so they do not miss any vulnerability signatures or features added in recent updates. What two commands should they run in sequence to update the package list and then install all available updates?


Scenario:

A student opens a terminal in Kali and sees the prompt: root@kali:~# — they are not sure what the first part of the prompt tells them. A classmate explains that it indicates the user account currently logged in, and that this particular account has unrestricted access to every file and command on the system with no permission restrictions at all. What is the name of this user account?


Quiz

Scenario:

A student wants to run apt update and apt upgrade on their Kali machine to get the latest tool versions. Their Kali VM is currently set to Host-Only Adapter so it cannot reach the internet. They need internet access just for the update — but they cannot leave Metasploitable exposed to the internet in the process. What is the correct approach?

Scenario:

During a privilege escalation exercise on Metasploitable, a student runs ls -la and sees a file with permissions listed as drwxr-xr-x. They need to explain to their team what this permission string means. Which explanation is correct?

Scenario:

A pen testing student wants to find the Metasploit Framework in Kali's Applications menu but cannot remember its exact name or where it is listed. They know Kali organises tools into numbered categories based on their function. Metasploit is used to exploit vulnerabilities once they have been identified. Which Kali tool category should they look in?

Up Next · Lesson 11

DNS Enumeration

Section II begins — your first active recon technique, run directly against your lab target for the first time.