Kali Linux op een Raspberry Pi
Een van mijn favoriete apparaatjes is toch wel de Raspberry Pi. Deze prachtige minicomputer ter grote van een creditkaart is ideaal geschikt voor mijn favoriete OS, Kali Linux. Tezamen vormt dit superheldenteam een fantastisch hack apparaatje. De Raspberry Pi kan vanwege zijn formaat gemakkelijk verborgen worden en kan uren draaien op een goede powerbank. Daarnaast is de Pi goedkoop en samen met Kali Linux dus ideaal geschikt als penetration tester tool.
Laten we eerst even wat verwachtingen managen. Zoals je kunt zien aan de systeemeigenschappen van de Raspberry Pi beschikt het apparaat niet over supercomputer krachten. In dit voorbeeld gebruiken we een Raspberry Pi 3B welke voorzien zijn van een 1.2 GHz Quad Core ARM processor en 1 GB RAM. Zware taken zoals het kraken van wachtwoorden middels brute-force. De Raspberry Pi is echter ideaal voor het verzamelen van data welke later geanalyseerd kan worden. De Raspberri Pi in combinatie met Kali Linux biedt bijvoorbeeld voldoende overige opties zoals het afluisteren van netwerkverkeer (mits voorzien van een antenne welke packet injection toestaat), deauthentiseren van netwerkverkeer, DNS spoofing, Information Gathering enz. In sommige gevallen zal de Raspberry Pi voorzien moeten worden van additionele hardware maar ook dat is geen enkel probleem. De 4 aanwezige USB poorten, ethernet poort en GPIO pinnen geven voldoende mogelijkheden voor het aansluiten van additionele hardware.
Laten we aan de slag gaan.
Wat hebben we nodig
We hebben eigenlijk maar erg weinig nodig om van de Raspberry Pi een succesvolle penetration tester tool te maken. In mijn ervaring zijn dit de essentiële onderdelen:
- De Raspberry Pi 3B
- Een goede SD kaart, bij voorkeur minimaal U1 klasse
- Powerbank (minimaal 8000 mAh)
Als we al deze componenten compleet hebben gaan we de Kali Linux image downloaden en op de kaart flashen.
Kali Linux op de SD kaart Flashen
Het downloaden van de image is simpel. De Kali Linux image is te vinden op de website van Offensive Security. Zoals je ziet is Kali Linux voor veel apparaten met een ARM processor beschikbaar. Wij kiezen echter voor de RaspberryPi Foundation image:

Als de image gedownload is wordt het tijd om deze op de kaart te flashen. Dit proces is makkelijk. Gebruik voor Windows een tool als Etcher en als je de image in Linux erop gaat plaatsen gebruik je hiervoor het “dd” commando:
dd if=pad-naar-image/image-naam.img of=/dev/sdb bs=512k |
In het hier bovenstaande commando is “/dev/sdb” je flashdrive. Controleer of dit klopt met het commando:
ls /dev/usb/* |
Kali Linux Starten op de Raspberry Pi
Het vervolgproces is simpel. Stop de SD kaart in je Raspberry Pi en start hem op. Het opstarten duurt gemiddeld 30 seconden. Het loginscherm ziet er als volgt uit:

Om in te loggen gebruik je:
Gebruikersnaam: root
Wachtwoord: toor
Vervolgens wordt je gevraagd hoe je panel (startmenu) eruit moet zien. Je kunt hier kiezen voor een leeg paneel of het default paneel. Kies voor het default paneel.

En that’s it. Kali Linux draait nu als een malle op je Raspberry Pi…. NICE!
Er zijn nu nog een aantal vervolgstappen die je kunt nemen om Kali Linux beter aan te laten sluiten op de werkzaamheden die je waarschijnlijk gaat uitvoeren met je nieuwe Ultieme Pi. Laten we de installatie dus even gaan finetunen!
1. Verander je Hostnaam
Je hostnaam identificeert je Kali Linux installatie op het netwerk. Kali Linux wordt met een random hostnaam geïnstalleerd. Om deze aan te passen verander je de hostnaam in /etc/hostname.
nano /etc/hostname |
Maak vervolgens dezelfde aanpassing in de “/etc/hosts” file voor de 127.0.1.1 host:
nano /etc/hosts |
2. Verander je wachtwoord
Het eerste dat ik uiteraard aanraad om te doen is het veranderen van je wachtwoord. Dit doe je als volgt:
passwd je-nieuwe-wachtwoord je-nieuwe-wachtwoord |
3. Zorg ervoor dat Kali Linux Automatisch Boot zonder credentials
Zoals alle stappen is ook deze stap volledig optioneel. Mocht je graag je wachtwoord in willen vullen na een reboot is dat prima. Echter wordt de Raspberry Pi vaak onbeheerd achtergelaten. Mocht de Pi om welke reden dan ook rebooten wil je dat deze automatisch door logt. Vervolgens kun je indien gewenst de juiste scripts en/of applicaties starten. Het inschakelen van automatische aanmelding gaat als volgt in zijn werk:
We maken een nieuwe gebruiker aan met “root” rechten:
useradd –m autouser –G sudo –s /bin/bash |
Nu gaan we het wachtwoord voor deze gebruiker instellen:
passwd autouser Nieuw-Wachtwoord Nieuw-Wachtwoord (bevestiging) |
We gaan nu het inlogscherm uitschakelen. Dit doen we in het “lightdm.conf: bestand:
nano /etc/lightdm/lightdm.conf |
Haal nu het hekje (#) weg voor de volgende regels:
autologin-user=autouser autologin-user-timeout=0 |
Edit nu het “lightdm-autologin” bestand en haal plaats hekjes voor de “auth required” regel:
nano /etc/pam.d/lightdm-autologin Verander: auth required pam_succeed_if.so user != root quiet_success Naar: #auth required pam_succeed_if.so user != root quiet_success |
4. Opslagruimte vergroten
In de volgende stap gaan we Kali Linux updaten. Als je een 8GB kaartje gebruikt zou ik deze stap overslaan omdat je dan erg krap in je ruimte komt te zitten. Gebruik je 16GB of meer dan kun je je opslagruimte nog een heel stuk vergroten. Om dit te doen moet je je primaire partitie vergroten zodat alle beschikbare ruimte op de SD kaart gebruikt wordt.
De makkelijkste manier om je ruimte te vergroten is om GParted te downloaden. Dit is een grafische interface waarmee vergroten een eitje wordt.
apt-get install gparted |
Maar als je het old-skool via de command line wilt doen dank an dat natuurlijk ook. We gaan dan de Linux (en Linux Swap indien aanwezig) partitie verwijderen en opnieuw aanmaken. Deze truc werkt omdat je de root en swap partities verwijdert en vervolgens alleen de root-partitie (met de originele startsector) opnieuw aanmaakt voordat je de gegevens naar de schijf schrijft. Als gevolg hiervan worden bestaande gegevens niet verwijderd. We gaan dit proces uitvoeren met “fdisk” op de volgende manier:
fdisk /dev/mmcblk0 p (bekijk de partitietabel en zie de huidige partities. Zoek de Linux en Linux Swap partitie en onthoud hun nummer en de startsector van de Linux partitie. d (verwijder een partitie. Geef na de “d” het nummer van de partitie in om te verwijderen. Doe dit dus 2 keer als je een Linux en een Linux Swap partitie hebt). n (Maak een nieuwe partitie) p (Maak van de partitie een primary partitie) 2 (Geef aan de partitie, partitienummer 2 (net zoals de originele Linux partitie) Vul nu de startsector in van de partitie. Hou deze exact hetzelfde als van de originele Linux partitie. Druk op ENTER en accepteer de default voor de eindsector (de wizard zet deze zelf al op maximale grootte). Als er gevraagd wordt of je de “signatures” wilt verwijderen kies je voor “nee”. w (Druk op “w” om de partitie instellingen op te slaan). |
Reboot nu de machine:
reboot now |
Vul nu het volgende commando in om de Linux partitie te vergroten:
resize2fs /dev/mmcblk0p2 |
Bovenstaande commando kan lang duren. Als hij klaar is dan is alle ruimte beschikbaar. Dit kun je controleren met:
df -h |
5. Kali Linux Updaten
Vervolgens is het zaak om de distributie te updaten. Dit lost veel voorkomende problemen op (zoals een missende taakbalk) en update de nodige apparatuur. Om dit te doen moeten we natuurlijk verbinding maken met het internet. Tijdens de eerste boot heb je bovenin een taakbalk met een icoontje om verbinding te maken. Dit is de gemakkelijkste methode. Als dat echter niet lukt dan kunnen we het handmatig ook doen. Dit doen we dan als volgt:
iw dev |
Deze zal naar alle waarschijnlijkheid retourneren als device “wlan0”. Als dit anders is gebruik dan je eigen naam in de verdere commando’s.
Om te kijken of de WiFi adapter online is type je het commando:
ip link show wlan0 |

Kijk naar het woordje UP of DOWN op de eerste regel om de status te achterhalen. Mocht de status down zijn dan gebruik je het volgende commando om de interface online te brengen:
ip link set wlan0 up |
Nu de adapter online is kunnen we verbinding maken met een WiFi network. Laten we eerst eens scannen welke WiFi netwerken we tot onze beschikking hebben:
iw wlan0 scan |
Je krijgt nu uitgebreide details van elk gevonden netwerk. Om alleen de SSID’s te zien gebruik je:
iw wlan0 scan | grep SSID |
Omdat het netwerk beveiligd is met een WPA wachtwoord moeten we een configuratiebestand aanmaken met de sleutel voor het netwerk en deze toevoegen aan de wpa_supplicant.conf:
wpa_passphrase MijnSSID >> /etc/wpa_supplicant.conf Vul Nu je wachtwoord in… |
Nu het configuratiebestand op orde is en de juiste informatie bevat kunnen we met wpa_supplicant het WiFi network starten.
wpa_supplicant –B –D wext –i wlan0 –c /etc/wpa_supplicant.conf |
-B betekend dat het proces in de achtergrond draait.
-D specificeert de driver (wext is de generieke driver)
-i specificeert de wireless interface
-c specificeert de locatie van het configuratiebestand
Als alles goed is gegaan wordt nu de verbinding gemaakt. Dit kun je controleren met het commando:
iw wlan0 link |
Nu we eindelijk een WiFi verbinding hebben kunnen we de distributie updaten met het volgende commando:
apt-get check && sudo apt-get autoclean && sudo apt-get update && sudo apt-get upgrade -y |

Als het systeem geüpdate is voer dan optioneel (2x) het sync commando uit waarbij data die in het geheugen stond maar nog niet op de schijf naar de schijf geschreven word zodat je helemaal niets verliest. Reboot daarna de Raspberry Pi.
sync sync reboot now |
6. SSH Server Installer
Als je je Raspberry Pi ergens moederziel alleen achtergelaten hebt wil je wel graag met hem kunnen praten. SSH is een fantastische manier om je Raspberry Pi op afstand te beheren. Laten we een SSH server installeren zodat we op elk moment waardevolle data van de Pi af kunnen halen of een script kunnen aanpassen.
Bij de meeste Kali Linux installaties zal de SSH service al geïnstalleerd zijn. Dit kun je controleren via:
service --status-all |

Als hier een [+] voor “SSH” staat dan is de SSH service geïnstalleerd. Als er een [-] staat dan moet de service gestart worden. Als SSH er helemaal niet tussen staat moet deze geïnstalleerd worden met het commando:
apt-get install openssh-server |
De SSH service starten doe je als volgt:
service ssh start |
Als je zojuist SSH geinstalleerd hebt dan moet je deze zo instellen dat de service ook automatisch start na een reboot. Om dit te doen verwijderen we eerst de actuele run level setting:
update-rc.d –f ssh remove |
Vervolgens plaatsen we de default run levels op de service:
update-rc.d ssh defaults |
Nu moeten we de SSH host keys aanpassen omdat elke Kali Linux ARM image uitgerold wordt met dezelfde SSH sleutels. Allereerst verwijderen we alle “ssh_host_*” bestanden.
rm /etc/ssh/ssh_host_* |
Nu gaan we de reeds bestaande package her-configureren (waarna de SSH hosts opnieuw gegenereerd worden):
dpkg-reconfigure openssh-server |
Nu gaan we nog instellen dat we via “root” in kunnen loggen:
nano /etc/ssh/sshd_config Verrander: PermitRootLogin without-password Naar: PermitRootLogin yes |
En tenslotte rebooten we de SSH service weer:
service ssh restart |
7. Fun: Maak een MOTD (Message Of The Day) Banner
Een MOTD banner is een banner (vaak in ASCII Art) welke je te zien krijgt tijden het inloggen. Maak eerst je eigen ASCII art of genereer hem op een van de vele ASCII generators op het internet. Zorg dat je hem klaar hebt staan om te kopiëren.
Vul het volgende commando in.
nano /etc/motd |
Verwijder wat er in dit bestand staat en plak je eigen ASCII Art erin. HACKER POWER

En dat is hoe je van je Raspberry Pi een krachtig security device maakt! Heb je meer tips of wil je gewoon even zeggen dat je dit een leuk artikel vond plaats dan een reactie hieronder of like en deel het bericht via je sociale kanalen!
Dankjewel!