The Raspberry Pi is a low-cost, credit-card-sized ARM computer. Despite being a good bit less powerful than a laptop or desktop PC, its affordability makes it an excellent option for a tiny Linux system and it can do far more than act as a media hub.
The Raspberry Pi provides a SD card slot for mass storage and will attempt to boot off that device when the board is powered on.
By default, the Kali Linux Raspberry Pi image has been streamlined with the minimum tools, similar to all the other ARM images. If you wish to upgrade the installation to a standard desktop installation, you can include the extra tools by installing the kali-linux-fullmetapackage. For more information on metapackages, please refer to our tools page.
Kali Linux on Raspberry Pi — Pre-built Version
If you’re unfamiliar with the details of downloading and validating a Kali Linux image, or forusing that image to create a bootable device, it’s strongly recommended that you refer to the more detailed procedures described in the specific articles on those subjects.
To install a prebuilt image of the standard build of Kali Linux on your Raspberry Pi, the general process goes as follows:
- Get a fast SD card with at least 8 GB capacity. Class 10 cards are highly recommended.
- Download and validate the Kali Linux Raspberry Pi image from the Offensive Securitydownloads area. The process for validating an image is described in more detail in the article on “Downloading Kali Linux”.
- Use the dd utility to image this file to your SD card. The full process for creating a bootable USB or SD device is described in the article on “Making a Kali Live USB Drive”. In the following example, we assume that the image is named “kali-1.0.9-rpi.img”, that it’s is in your current working directory, and that the SD card is located at /dev/sdb. Donot simply copy these value, change this to the correct drive path corresponding to your SD card.
This process can take a while depending on your SD card’s device speed and image size. Once the dd operation is complete, insert the SD card into the Raspberry Pi and power it on.
You should be able to log into Kali (as user root, using the password toor) and execute thestartx command at the shell prompt to start up the XFCE desktop environment.
Changing the SSH host keys can be accomplished by doing the following:
root@kali:~ dpkg-reconfigure openssh-server
root@kali:~ service ssh restart
Kali Linux on Raspberry Pi — Custom Build
If you are a developer and want to tinker with the Kali Raspberry Pi image, including changing the kernel configuration, customizing the packages included, or making other modifications, you can work with the rpi.sh script in the kali-arm-build-scripts repository on github, and follow the README.md file’s instructions.
You will need to set up an ARM cross-compilation environment before you can build a Raspberry Pi image of Kali Linux. A general overview of the build process for ARM devices can be found in the article on “Preparing a Kali Linux ARM chroot”.
TFT touch screen support request from the Kali Forums
Several weeks ago a request in the Kali forums prompted us to look at the integration of the Adafruit 2.8in TFT touch screen for Kali Linux. A few weeks and much less hair later, we are happy to announce the availability of this image in our Offensive Security custom Kali images section.
Great for various Raspberry Pi projects
Although slightly on the expensive side – especially compared to the Raspberry Pi itself – a small functional touch screen that can do a whopping 320×240 resolution can be extremely useful at times. We used it in one of our hardware projects and implemented a couple of Desktop shortcuts that would “start” and “stop” our automated tool, giving us both an input and output source.
Source code for the Kali Raspberry Pi TFT touch screen image
Due to the nature of the patches and image configuration, we had to build a separate image for the TFT Kali Raspberry Pi image. However, our build script for this image can easily be modified to accommodate any changes you may require. As with all our custom Kali Linux ARM images, we can find the source of the build script in our Offsec github page.