Kali Linux on Raspberry Pi 1/2/3/Zero with 3.5″ or 2.8″ Touch Screen and touch optimized interface in a ready-to-go image
Sticky Finger’s Kali-Pi – The pocket size, finger friendly, lean mean hacking machine
Need practice targets?
Checkout Sticky Finger’s DV-Pi
Sticky Finger’s Quick Start Guide:
Sticky Finger’s Kali-Pi image comes with the following features out of the box:
- 2GB image ready to go with all common TFT screens.
- Kali Linux Rolling edition with MSF meta package and all other essential tools
- Re4son Kali-Pi Kernel 4.9 with bluetooth, touch screen support and wifi injection patch
- “re4son-pi-tft-setup” tool to set up all common touch screens, enable auto-logon, etc.
- Apache, Pure-FTP, SDR-Scanner, Screenshot Tool, ntop, darkstats, mana-toolkit, Remote Access AP, Sticky Finger’s Kali-Pi Launcher
- Boots into vanilla kali gui but comes with user “pi” pre-configured to launch
the “Sticky Finger’s Kali-Pi Launcher” (touch screen interface) after login
- Just run “re4son-pi-tft-setup” tool for your particular screen and you are up and running.
- Out of the box support for Raspberry Pi 3 on-board Bluetooth
- Download the Sticky Finger’s Kali-Pi image here:
Architecture Link armhf (Pi 2/3 B/B+) https://whitedome.com.au/re4son/download/sticky-fingers-kali-pi/
armel (Pi 1/Zero/Zero W) https://whitedome.com.au/re4son/download/sticky-fingers-kali-pi-0/
- write it to your microSD card (Windows=Win32 Disk Imager, Linux=dd):
Minimum recommended card sizes:
- 8GB for Kali-Pi MSF – basic Kali MSF package (this image)
- 16GB for Kali-Pi Full – install kali-linux-full and OpenVAS (very tight)
- 32GB for Kali-Pi Complete – Install the above plus Snort and other goodies
- Extend the file system if your card is > 8GB (See fdisk howto here)
- Boot up your Pi and ssh into it with user root and password toor
- Change passwords (defaut: root=toor, pi=raspberry, ftp/pi=raspberry, vnc/root=toortoor)
- Set up the screen with the re4son-pi-tft-setup tool:
cd /usr/local/src/re4son-kernel_4* mount /dev/mmcblk0p1 /boot ./re4son-pi-tft-setup -u #(updates re4son-pi-tft-setup to the latest version) ./re4son-pi-tft-setup -h #(lists all options - pick your screen from the list) ./re4son-pi-tft-setup -t <your screen> -d /home/pi # Say "Y" when asked if you want the console to be displayed on the TFT screen reboot
- NOTE: If you have an Adafruit 3.5″ or a 4DSystems screen, please install the “old” kernel for now. For Adafruit 2.8″ please select “No” when asked to enable the “on/off button”.
- Optional: enable “Automatic boot into Sticky Finger’s Touch Interface”:
cd /usr/local/src/re4son-kernel_4* ./re4son-pi-tft-setup -b cli # Boot into command line interface ./re4son-pi-tft-setup -a pi # Enable auto-login for user "pi"
- Edit “/home/pi/Kali-Pi/menu” to define your screensize, enable/disable screensaver and PIN:
## Adjust these: export KPSCREENSIZE=2.8 ## Screensize in inch, Options= 3.5, 2.8 export KPLAYOUT=9 ## Number of buttons - Currently only 9 is supported export KPPIN=0 ## Set to "1" to enforce PIN authentication, run ./set-pin to change PIN export KPTIMEOUT=2 ## Minutes before screensaver kicks in, comment out for screensaver off ## End adjustments
Reboot and enjoy 🙂
To pair Bluetooth devices, just start the bluetooth services:
systemctl enable bluetooth service bluetooth start systemctl enable hciuart systemctl start hciuart.service
You are now ready to pair your devices, just like this:
[bluetooth]# agent on
Default agent request successful
[bluetooth]# scan on
[bluetooth]# pair 00:1F:xx:xx:xx:xx
Attempting to pair with 00:1F:xx:xx:xx:xx
[bluetooth]# trust 00:1F:xx:xx:xx:xx
[CHG] Device 00:1F:xx:xx:xx:xx Trusted: yes
[bluetooth]# connect 00:1F:xx:xx:xx:xx
Attempting to connect to 00:1F:xx:xx:xx:xx
Voila – there it is, Bluetooth device connected.
More details can be found here:
TIP: How to mount the img file in linux
If you are curious to see what’s in the image file before you write it to the SD card, here is how you can mount it in linux:
- Check the file system table with fdisk:
fdisk -l StickyFingers-Kali-Pi-Small-160827.img
- Create a mount point for each image
mkdir img1 img2
- Mount each image
mount StickyFingers-Kali-Pi-Small-160827.img -o loop,offset=$(( 512 * 1)) img1/ mount StickyFingers-Kali-Pi-Small-160827.img -o loop,offset=$(( 512 * 125001)) img2/
For questions or comments please join the discussion in our forum: