how to install kali linux 2026 raspberry pi

How to Install Kali Linux on Raspberry Pi? (Complete Guide)

If you click our links and make a purchase, we may earn an affiliate commission. Learn more

I recently tried installing Kali Linux on my Raspberry Pi, and honestly, it was easier than I expected once I found the right method. If you’re curious about turning your Pi into a security testing tool, I’ll walk you through what worked for me and how you can get started quickly.

Kali Linux is available directly in Raspberry Pi Imager, under “Other specific-purpose OS” from the operating system list. It can be flashed onto any SD card to start directly on any Raspberry Pi model (all versions are supported).

In this article, I will show you the two ways to install Kali Linux on your Raspberry Pi, and more importantly, how to get started with it once installed (including an introduction to some of the default apps).

If you’re new to Raspberry Pi or Linux, I’ve got something that can help you right away!
Download my free Linux commands cheat sheet – it’s a quick reference guide with all the essential commands you’ll need to get things done on your Raspberry Pi. Click here to get it for free!

What is Kali Linux?

kali linux logo

Kali Linux is a Debian-based Linux distribution that includes security and penetration testing tools.

Formerly known as Backtrack, many security companies (and also hackers) use it.
Associated with Raspberry Pi, it turns it into a perfect hacking kit. You may have seen it in the “Mr. Robot” TV series:

Kali Linux is available for the ARM architecture, so the installation is relatively simple. We will now go over how to install it on your Raspberry Pi.

How to Install Kali Linux

Kali Linux has been recently added to Raspberry Pi Imager, so it’s the easiest way to install it on a Raspberry Pi. You can use this tool the same way as when installing Raspberry Pi OS. Alternatively, you can still download the image manually from the official site if you prefer.

If you don’t already have Raspberry Pi Imager on your computer, you can download it from the official website. I generally have it on my PC, and flash all my systems from it, but it’s also possible to use Raspberry Pi Imager on a Raspberry Pi if you don’t have a separate computer.

Here’s how to install Kali Linux using Raspberry Pi Imager:

Something not working as expected?
You can get answers from real experts in minutes.
Get help with your setup
  • Launch Raspberry Pi Imager, and make the following selections for each step.
  • Device – Choose “no filtering” at the bottom to see all possibilities.
  • OS – Scroll down to Other specific-purpose OS and select Kali Linux.
    You’ll get a list of all versions available, with the corresponding Raspberry Pi models:

    Select the version you want to install (64-bit is recommended if supported).
  • Storage – Pick your SD card (you can also use a USB drive if you prefer).
  • Customisation – click SKIP CUSTOMISATION, as it’s not supported at this time.
  • Writing – click WRITE to start the flashing process.

After a few minutes, Kali Linux should be ready to use, you can eject the storage device and plug it into the Raspberry Pi.

Note: Another option is to use the network boot feature if available, to flash directly Kali Linux from the Raspberry Pi, without the need of a previous operating system. Click the link for more details about this.

Getting Started with Kali Linux on Raspberry Pi

No matter how you did the installation on the SD card, you are now ready to start Kali Linux for the first time on your Raspberry Pi.

First Boot on Kali Linux

Just insert the SD card into your Raspberry Pi and power it on.
Give it a few minutes to run some setup tasks the first time you boot.

Kali Linux will start directly with the login screen.
No questions or anything, insert, start, and wait.

There is nothing else to do.

Open a Session on Kali Linux

Once Kali has started, you need to log in:

On Raspberry Pi, the default credentials are:
username = kali
password = kali

Warning: the default keyboard is set to en-US, which mean you may need to type something like “kqli” if you use a different layout (like I do).

You are now on the Kali Linux Desktop, and we can move to the configuration.

It is strongly recommended that you change these credentials quickly.
You can change it by opening a terminal and typing the command:
passwd

Keyboard Layout

If you don’t use a US keyboard, you can change it in the main menu > Settings > Keyboard.

  • Go to the “Layout” tab and disable the system defaults.
  • Add your custom layout.
  • Set it by default (or remove the US layout).

But be careful, on the login screen you will keep the US layout for the moment, so choose your password knowing this.

Connect to your Network (DHCP)

Follow this part only if there is a DHCP server on your network.
If not, or if you need to set a static IP address, look at the next section.

Ethernet:

If you can connect to an Ethernet network, it’s the easiest solution: simply connect the RJ45 cable to your Raspberry Pi and wait a few seconds for an IP address to be assigned to it, there is nothing else to do.

Wi-Fi:

The Raspberry Pi Wi-Fi card is supported natively, so connection to a wireless network shouldn’t be complicated either.

On the Kali desktop, click on the network icon at the top right, and choose the SSID of your Wi-Fi network.

Type the password of your access point, and wait a few moments to be connected.

Get the Current IP Address:

Whatever your connection mode, you can check the IP address obtained with the ip command:
ip address

The IP addresses are indicated on the second line of each interface, after the keyword “inet”.

kali ip address
eth0 = Ethernet, wlan0 = Wi-Fi

I recommend not activating both interfaces simultaneously, even if it seems to work. This common mistake led to problems with response times, probably a problem with routing (I didn’t take any longer to look at this, but disabling the Wi-Fi fixed the problem).

Tip: Command lines can be a pain to memorize. I put the essential Linux commands on a printable cheat sheet so you don't have to keep googling them. You can grab the PDF here if you want to save some time.

Set a Static IP Address

A static IP address will allow you to choose the IP address associated with your Raspberry Pi, and therefore find it more easily later.

The easiest way is to use the Advanced Network Configuration tool from the main menu:

If you prefer command line, you can do it via this tool in a terminal:
sudo nmtui

kali linux set static ip

In it, you can configure your wireless network, but also set a static IP if needed.

Update Kali

As for any fresh new installation, a good practice is to update your system.

Kali is based on Debian, so you can use the same commands as on Raspberry Pi OS:
sudo apt update
sudo apt upgrade

By the way, I had over 900 packages to upgrade, so I think it’s pretty important to do right away.

Enable SSH and VNC

Now that we have a fixed IP address, it’s time to make our Raspberry Pi accessible from another network computer.

Enable SSH

In theory, SSH is already installed and enabled by default.
If you don’t have access, it’s probably because you need to start the service:
systemctl start ssh

If you need help with SSH, look at this tutorial here.

Enable VNC

VNC will allow you to have access to a remote desktop on your Raspberry Pi.
On the latest Kali Linux versions, TightVNC server is already installed.
You just need to set a password:

  • Open a terminal or connect via SSH.
  • Use this command to define your password:
    vncserver
  • Once done, this will also start the service.

You can now connect to your Raspberry Pi on Kali Linux with any VNC Viewer.
For example, on Ubuntu:
sudo apt install xtightvncviewer
xtightvncviewer 192.168.1.200:1

On Windows, you can download TightVNC here.
Don’t forget to add “:1” after the IP address.

Remember that VNC is not a secure protocol, and if you use it at home it’s OK, but in a more extensive network, it is better to use it through an SSH tunnel for example.

You can find more details about the remote desktop on Raspberry Pi in my tutorial linked here. It’s for Raspberry Pi OS, but it’s very similar.

Note: If you get a gray screen when connecting to Kali Linux with VNC Viewer, you may need to edit the startup file for VNC:
sudo nano ~/.vnc/xstartup
Paste these lines (backup the old content if needed):
!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

Kali Linux Tools

Ok, your basic configuration of Kali Linux is now ready. You could obviously use it as a standard desktop operating system, but I guess if you installed Kali, it’s probably that you’re interested in some of the default apps that come with it.

Let’s list a few of them with a short demonstration of how they work. This isn’t an exhaustive list of complete tutorials for each one, but it will give you a better idea of the possibilities.

Change the MAC Address

A MAC address is a unique identifier for each network adapter. It depends on each manufacturer, and it’s often used to give access to a specific part of the network to restricted computers. A DHCP server can also assign always the same IP to a MAC Address.

For example, you can configure your Wi-Fi network to whitelist your MAC address, and prevent anyone else from connecting to it. I have a detailed article here on how to find the MAC address of your Raspberry Pi.

MacChanger is a tool that allows you to do MAC address spoofing, i.e. pretend to be someone else.

Usage

Install it if needed (in my tests it was already installed):
sudo apt install macchanger

See your current MAC Address:
ip addr show eth0

kali show mac address

You’ll probably need sudo to run the following commands.

  • Disable your network card:
    ip link set eth0 down
  • Get a random MAC address:
    macchanger -r eth0
  • Set a specific MAC address:
    macchanger -m XX:XX:XX:XX:XX:XX eth0
  • Reboot to reset to the standard MAC Address.

Hack Wi-Fi password

AirCrack-NG is one of the most popular tools on Kali Linux.
It’s a complete suite of tools to test the wireless security of a network.
It provides tools for monitoring, attacking, testing, and cracking Wi-Fi networks.

Usage

You need to disconnect the Wi-Fi on your Raspberry Pi before starting:

  • Then check that your network card is compatible (it is):
    sudo airmon-ng
    airmon-ng tool
  • Start monitoring:
    sudo airmon-ng start wlan0
  • Show wireless networks available:
    sudo airodump-ng wlan0mon
    airodump scan wifi networks

And you are ready to go!
You can read this post to get more details on how to do this.

Brute Force with Hydra

Brute force is a password cracking method, that tries passwords from a dictionary or other sources, and tries all the possibilities until it works.

Hydra is a tool to make very fast brute force from Kali Linux software and that supports many protocols.

Usage

First, you will need a list of passwords and put it in a file, like /root/passwords.txt (one per line).
You can find the most common passwords on the Internet, or generate your own.
For the test, just put a few random passwords manually in the file.

Then you can try it, for example, I have decided to brute force SSH on my computer from the Raspberry Pi:
hydra -l root -P /root/passwords.txt -t 6 ssh://192.168.222.51

If I check in my /var/log/auth.log, I can see tries from the Raspberry Pi:

May 22 15:55:37 ubuntu sshd[2481]: Failed password for root from 192.168.222.31 port 37226 ssh2
May 22 15:55:37 ubuntu sshd[2487]: Failed password for root from 192.168.222.31 port 37234 ssh2
May 22 15:55:39 ubuntu sshd[2482]: Failed password for root from 192.168.222.31 port 37228 ssh2
May 22 15:55:39 ubuntu sshd[2484]: Failed password for root from 192.168.222.31 port 37232 ssh2

Packet Analyzer

A packet analyzer (or sniffer) is a tool that can intercept traffic from the network and capture it to analyze it.

On Kali Linux, you can use Wireshark, which is the most used tool to analyze network traffic.
It’s a graphical tool, but you can capture packets with tcpdump or something else, and then open it with Wireshark.

Usage

You can find the app in the Applications menu, under Discovery > Network Sniffing:

  • Launch the app, and then go to Capture > Start.
  • You will now see all packets from the network.
  • Click Stop when you want.

Then there are many features that you can use to filter or analyze what you have captured:

wireshark packet analyzer

Related: Getting Started With Wireshark On Ubuntu

SQL Injection

SQL injection is a technique to attack insecure applications, including injecting code into user fields that are not protected.

This technique is mainly used to attack websites that have databases.

For example, if you replace a parameter of the URL, say ?user=yourname with something like ?user=yourname ‘ OR 1. If the field is poorly protected, the SQL query will be modified and will return all the data, not just those of your user.

On Kali Linux, the sqlmap tool allows testing SQL injection vulnerabilities.

Usage

The sqlmap tool is straightforward to use.

You only need to put the URL of the page to test, something like this:
sqlmap -u https://www.domain.com/?p=123

kali sqlmap injection

Once you have found a security hole, it is possible to dig deeper with this tool to see what you can get. But the best thing to do is to fix it.

Vulnerabilities Exploit

Metasploit is a tool that will allow you to validate vulnerabilities and use them.
Metasploit allows you to automate the process of discovery and exploitation and provides you with the tools required to perform the manual testing phase of a penetration test.

Usage

You can start it from the main menu > Execution > metasploit-framework.

This tool will initialize and start a terminal that will allow you to use it.
For example, you can use nmap in the framework:
db_nmap -v -sV 192.168.222.1

metasploit scan

You can also retrieve information about a known vulnerability, and try to use it:
db_rebuild_cache
search CVE-2018-9864
use exploit/folder/folder/name

Replace the search parameter with your vulnerability ID and use the exploit path displayed in the search results.

If you are interested in learning more, find a good tutorial on the topic (or read the documentation), as it’s not possible to explain everything in a few short lines.


🛠 This tutorial doesn't work anymore? Report the issue here, so that I can update it!

Still stuck after following this guide? Drop your question in the RaspberryTips Community — real Pi users answer fast. Post your question here.

Video Tutorial

If you want a visual guide, watch our video on how to install Kali Linux on your Raspberry Pi:

Subscribe to get all the other videos about Raspberry Pi:

We have seen how to install Kali Linux on Raspberry Pi, including the first steps of the system configuration, and some exciting tools to use on this distribution.

As I said at the beginning, this article is not exhaustive. There are hundreds of apps and most are quite complicated to take in hand, which would require an article each, but that was not the goal here (in fact, I have another website about Kali Linux that you can check if you’re interested in this topic).

I hope this article was helpful anyway. Check the links below for more interesting resources about the Raspberry Pi world.

Not getting the same result?

Even when you follow every step, small differences in OS version, hardware or config can change the outcome. Instead of wasting time guessing, get help from people who have already fixed the same kind of issue.

Ask your question now
🔒 No risk. Cancel anytime.
  • Get help on your exact issue
  • Access step-by-step videos for tricky setups
  • Browse the website without ads

Similar Posts

14 Comments

  1. perhaps you can help me with something.i’m trying to remote to a raspberry pi from a phone then start a pentest.but the catch is i have the pi in a coat pocket.giving the appearance i’m just playing on my phone.all the while using my tools on kali while walking through a site i’ve been tasked with.basicly (phone-raspberry pi(in pocket)-wireless router-loot)ideas?

  2. This article was extremely helpful. It explained important things that YouTube tutorials did not.

  3. Thanks for the very explained tutorial, it teaches much more than just intallation!
    I’m having an issue with the network devices. I’m not sure, but after the update and upgrade or after I changed the interfaces file as you suggested and rebooted the Pi there is the message “device not managed” under the “Ethernet Networks” and Wo-Fi Networks”.

    Could help me?

    Thanks

  4. Hello,

    I just updated this post today
    Mainly for the installation part as there are a few changes in the last updates
    The Raspberry Pi 4 is now supported (if you download the good image version…)

  5. i dont have another computer,is there a way to flash image using rasbian on raspberry pi.plzzzz reply caus i need help and does 64 bit kali version works on raspberry pi 4?

  6. This guide is very complete. But i have a problem. When I do the command: sudo apt upgrade, at the moment that the percentage is 15% the screen goes black and rebooting doesn’t solve it. If you got an idea of what I’m not doing or anything, tell me please. I keep reinstalling kali and try different things.
    Raspberry 4b 4gb
    Kingston 32gb 10
    Also I used the Raspberry Pi Imager

    1. Maybe you can try this via SSH, so that even if the display driver is updated you can still see the upgrade progress.

  7. i just found this site. Not just a basic knowledge, but very interesting. Thanks so much.

  8. Good article, it’s awesome . But how can I use Rpi GPIO with Kali Linux

  9. When I try it on raspberry pi 400 by my self i just get stuck on the code from the boot yea thar no moving code or code with bracets where inside have a green V as usual. When i use the card on my rpi 4 it works completly normal. What is going on I cant even see the login session and bringing my big razer keyboard on trips for the rpi4 it is not the best idea. Please help

    1. Hi,

      Make sure you use the image version made for the RPI 400.
      There is a specific image on the download page.

      It’s the same as Pi 4, but if you have an old image it may not be compatible.

      Patrick

Comments are closed.