Update: Check out guide for Kali Linux on the Raspberry Pi 4
The Kali Linux penetration testing distribution has been available for Raspberry Pi for quite some time. However, it can be quite a chore to set it up, especially with a touchscreen.
Recently I purchased the official Raspberry Pi 7″ touchscreen and was astonished when I put the SD card in and Kali booted up right to the desktop ready for me to log in with the touchscreen not only displaying but actually fully functional with touch enabled!
Read on to see the setup and some basic instructions to do it yourself!
- Raspberry Pi 4B 4GB
- Raspberry Pi 7″ Touchscreen Display
- Case for the Official Raspberry Pi 7″ Touchscreen Display – LEGO compatible front and adjustable angle
- CanaKit Raspberry Pi USB C Power Supply
- Sandisk Extreme Pro 64GB MicroSD Card
The assembly is very easy. First you put your official 7″ touchscreen in the case with the provided screws. Now put your Pi in the slot in the back of the case that is perfectly formed to hold the board. Then you simply connect one ribbon cable from the touchscreen to the Pi. Finally insert your MicroSD and connect the power supply. That is it!
Imaging your SDcard
Head to https://www.offensive-security.com/kali-linux-arm-images/ and scroll down to the Raspberry Pi. You will download the image for the Raspberry Pi 2/3 (the first one). You will *not* choose the one that says Raspberry Pi w/ TFT. That is for other older TFTs and Gen1 boards like the original Model B.
Now write the image to your SD card. If you are doing this from Windows then I suggest to use Win32DiskImager . If you are not on Windows then I am going to assume you already know how to write an image to your SD card. Wait for the process to finish then safely eject the card after the write is complete.
Starting Kali Linux
Simply put the SD card in your Raspberry Pi. Assuming you have already assembled everything go ahead and power it up. It should take you straight to the Kali login. The default login information is username root and the password is toor. This should take you straight to the desktop and you should immediately be able to use the touchscreen. Go ahead and hit the Applications menu or open the web browser and test out to make sure everything is working.
This is pretty much a no brainer but you should immediately change the default password. SSH is enabled by default so you are extremely vulnerable to anyone just SSH’ing in and taking control if you don’t do it. Open a command prompt and type passwd and change it.
The second step is to regenerate your SSH keys. All these images ship with the same default SSH keys which makes your SSH traffic vulnerable to sniffing quite easily. This is easily done by typing:
The third step is to expand the image to use all of your SD cards space just like you would with Raspbian. Unfortunately we do not have the raspi-config tool to do it for us on Kali. Thankfully we can just use GParted which is very easy. Type in a console window:
apt-get install gparted
Now run gparted from the applications menu or just right in the console again. The window will open. Resize your ext4 partition to use the rest of the unused space (just slide the end of the partition all the way into the rest of the unused space) and then apply your changes.
Now you should be utilizing the full space and will have plenty of space to upgrade to full Kali Linux!
And the fourth step is to update your distribution. From console window:
Upgrade to Kali-Linux-Full (Optional)
The Raspberry Pi distribution is pretty minimal by default. This makes sense for a small ARM board but chances are you have at least a 16-32GB SD card and if you have resized your partition you have plenty of room to unleash the full power of Kali. The upgrade is simple. Type
apt-get install kali-linux-full
This will take a while and there are a few packages you’ll have to answer some basic questions for. However, once completed, you will have the full version of most powerful security and penetration testing distribution in the world with a touchscreen and a highly mobile platform for testing!