Skip to content

Kali RPI4B

reubenajohnston edited this page Feb 24, 2020 · 53 revisions

Useful websites

Programming instructions

  1. Copy your kili rpi image to the VM and cd into the directory with it
  2. Confirm the file is in your current directory
$ ls
kali-linux-2020.1-rpi3-nexmon-64.img.xz
  1. Extract the image $ unxz kali-linux-2020.1-rpi3-nexmon-64.img.xz
  2. Verify it extracted
$ ls
kali-linux-2020.1-rpi3-nexmon-64.img
  1. Plug in your sd-card into the USB reader and attach it to the VM
  2. Identify the block device for your sd-card (SIZE should be close to your SD card size, my sd-card is 64GB and was /dev/sdc)
$ lsblk -p
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
/dev/sda      8:0    0    50G  0 disk 
├─/dev/sda1   8:1    0    42G  0 part /
├─/dev/sda2   8:2    0     1K  0 part 
└─/dev/sda5   8:5    0     8G  0 part [SWAP]
/dev/sdc      8:32   1  59.5G  0 disk 
├─/dev/sdc1   8:33   1 122.1M  0 part 
└─/dev/sdc2   8:34   1  58.6G  0 part 
/dev/sdd      8:48   1  57.8G  0 disk 
└─/dev/sdd1   8:49   1  57.8G  0 part /media/kali/TRAVELER1
/dev/sr0     11:0    1  1024M  0 rom  
  1. If there are existing logical partitions on your device, delete them using gparted gui $ sudo gparted /dev/sdc
  2. Write the image to the sd-card using dd
$ sudo dd if=kali-linux-2020.1-rpi3-nexmon-64.img of=/dev/sdc status=progress
6995849728 bytes (7.0 GB, 6.5 GiB) copied, 1446 s, 4.8 MB/s
13671874+0 records in
13671874+0 records out
6999999488 bytes (7.0 GB, 6.5 GiB) copied, 1449.97 s, 4.8 MB/s
  1. Mount the first logical partition to edit cmdline.txt and config.txt kali@kali:~/Downloads$ sudo mount /dev/sdc1 /mnt
  2. Edit cmdline.txt to contain the following
dwc_otg.fiq_fix_enable=2 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rootflags=noload net.ifnames=0
  1. Edit config.txt and add the following line to the end of the file
enable_uart=1
  1. Unmount the first logical partition $ sudo umount /mnt
  2. Eject the sd-card before you remove it $ sudo eject /dev/sdc
  3. Attach the FTDI-USB-Serial cable to your RPI4's UART0 and attach the USB to your PC (see https://github.com/jhu-information-security-institute/NwSec/wiki/RPI4B); attach the device to your VM and it should be /dev/ttyUSB0
  4. Open minicom on /dev/ttyUSB0; Settings should be 115200,8N1,No,No $ sudo minicom -D /dev/ttyUSB0
  5. Insert the sd-card into the RPI4
  6. Power on the RPI4
  7. Wait for the RPI4 to boot and login with root, toor
  8. Setup networking
  9. Run an update and upgrade sequence
$ sudo apt-get update
$ sudo apt-get upgrade -y
  1. Install openssh-server $ sudo apt-get install openssh-server
  2. Start the server $ systemctl start ssh.service
  3. Get the ip address of your rpi $ ifconfig wlan0
  4. From your Kali VM, SSH into the RPI4 using its ip address $ ssh root@ipaddressofpihere

Network setup for WPA2 home network

  1. Generate a skeleton wpa_supplicant.conf for your SSID and WPA2 pre-shared key (PSK) $ wpa_passphrase ssidhere pskhere > /etc/wpa_supplicant/wpa_supplicant.conf
  2. Edit /etc/wpa_supplicant/wpa_supplicant.conf and add lines for ctrl_interface, update_config, country, key_mgmt, proto, pairwise, and group
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
        ssid="ssidhere"
        #psk="pskhere"
        psk=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF		
        key_mgmt=WPA-PSK
        proto=RSN WPA
        pairwise=CCMP TKIP
        group=CCMP TKIP
}
  1. Create a nwsetup.sh script with the following lines
pkill dhclient                                                                                                                     
pkill wpa_supplicant                                                                                                               
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf                                                              
ip link set dev wlan0 down                                                                                                         
ip addr flush dev wlan0                                                                                                            
ip link set dev wlan0 up                                                                                                           
dhclient -v wlan0
  1. Make nwsetup.sh executable $ chmod +x nwsetup.sh
  2. Run it $ ./nwsetup.sh

Clone this wiki locally