raspberry pi 2 model b-update 07-03-2015-

er is inmiddels een Kali 1.1.0 image voor de Pi2 beschikbaar op de Kali site, dus het gedeelte van het artikel dat gaat over het bouwen van een custom image is daarmee niet relevant meer. Maar ik heb de image van de site inmiddels zelf geprobeerd en ook op deze image missen de benodigde video modules om de desktop werkend te krijgen. Bovendien bevat het niet het wiggle script om de SD uit te breiden naar de volledig beschikbare ruimte. Tot slot is niet alle functionaliteit van Kali beschikbaar.

Even kort hoe je dit oplost:

  • Na het plaatsen van de image op de Sd kaart, kan je met een Linux patitie tool zoals Gparted de ext4 partitie uitbreiden naar de volledig beschikbare ruimte.
  • Om de desktop werkend te krijgen moet je de 3.18.7+ en 3.18.7-v7+ modules uit de 'gewone' Raspian kopieren naar de SD kaart, zoals hier en hier staat beschreven.
  • Om de alle functionaliteit van Kali te kunnen gebruiken, moet je een upgrade doen, zoals hier staat beschreven.

De rest van het artikel laat ik staan als reference/voor de hobbyist die het liever zelf doet.

 

Kali draaide al op een Raspberry Pi, maar niet echt soepel. Maar gelukkig is er nu de Pi2 met allerlei nifty new features, zoals een quad core processor. Alleen, de image van Kali voor de Pi werkt niet op de Pi2, die een andere architectuur heeft. Te zijner tijd zal er wel een build komen die de Pi2 ondersteunt, maar daar willen we niet op wachten, dus gaan we onze eigen image bouwen. 

Ik ga er in deze handleiding van uit dat een aantal dingen bekend zijn, zoals het installeren van een image, het openen van een image, het werken in een terminal en het werken met gparted. Voor verdere uitleg verwijs ik naar de betreffende howto's. Terminal commando's zijn vetgedrukt. Voor de installatie raad ik een Sandisk class 10 16GB micro SD aan. 

Allereerst: dank aan procheckup en cyberkryption die het grootste gedeelte al uitgezocht hadden, ik heb alleen vertaald, een sectie toegevoegd over bouwen vanaf een persistente usb stick, de fix voor de desktop toegevoegd en nog wat kleine verbeteringen aangebracht.

Nu we dat hebben gezegd, gaan we beginnen, we gebruiken een 'gewone' kali installatie om de image te bouwen. Heb je Kali niet lokaal draaien, maak dan een persistente kali usb stick, met minimaal 8 GB op de persistente partitie, om alle bestanden op te slaan. Het komt er op neer dat je moet beschikken over een usb stick van 16GB of meer.
Voor de howto vewijs ik naar de Kali documentatie. (vergeet niet een > 8GB persistence partitie aan te maken, 5GB, zoals in het voorbeeld is niet genoeg. ook dien je na stap 3 een herstart te doen. Lukt het niet om een grotere persistence partitie aan te maken, geen ramp, deze kan je later vergroten met bijvoorbeeld gparted)

We starten Kali en zorgen voor een werkende internet verbinding.
open een terminal (als root uiteraard) en installeer gedit om straks eenvoudig de scripts te kunnen aanpassen:
apt-get install gedit

Voer de volgende commando's in om een installatiemap aan te maken:
mkdir ~/arm-pi2
cd ~/arm-pi2

nu gaan we aan de slag met de voorbereidingen om de image te bouwen:
git clone https://github.com/offensive-security/gcc-arm-linux-gnueabihf-4.7
export PATH=${PATH}:/root/arm-pi2/gcc-arm-linux-gnueabihf-4.7/bin
git clone https://github.com/offensive-security/kali-arm-build-scripts
cd ~/arm-pi2/kali-arm-build-scripts
wget http://pastebin.com/download.php?i=Rv3zpsiv -O pi2_kernel.config

open het installatie script met gedit door in de root terminal het volgende commando in te voeren:

gedit rpi.sh

pas de volgende entries aan:
export architecture="armel"

wordt:
export architecture="armhf"

# Check to ensure that the architecture is set to ARMEL since the RPi is the
# only board that is armel.
if [[ $architecture != "armel" ]] ; then
echo "The Raspberry Pi cannot run the Debian armhf binaries"

wordt:
# Check to ensure that the architecture is set to ARMHF.
if [[ $architecture != "armhf" ]] ; then
echo "The Raspberry Pi 2 cannot run the Debian armel binaries"

vind de volgende regel en commentarieer hem uit:
cp ${basedir}/../kernel-configs/rpi-3.12.config .config
dus dat wordt:
#cp ${basedir}/../kernel-configs/rpi-3.12.config .config
en voeg eronder de volgende regel toe, zodat verwezen wordt naar de juiste config file:
cp pi2_kernel.config .config

sla het gewijzigde script op en sluit gedit.

Om straks een werkende desktop te krijgen moeten we ook nog het pi2_kernel.config bestand aanpassen.
gedit pi2_kernel.config
verander regel 33
CONFIG_LOCALVERSION="-v7"
in
CONFIG_LOCALVERSION="-v7+"

 

verder hebben we straks de modules nodig om de drivers voor de grafische schil te kunnen laden. Deze kunnen we uit de gewone raspian image halen, die je hier kunt downloaden: Latest Raspian

Pak de zip uit, mount of open de Raspian image en kopieer lib/modules voor later gebruik.


De voorbereidingen zijn klaar, we gaan nu in de terminal de image bouwen.
./build-deps.sh
./rpi.sh 1.1.0

(ga gerust iets anders doen, dit gaat een hele tijd duren; de pakketten worden binnengehaald en geconfigureerd, en daarna wordt er een gecomprimeerde image opgeslagen in /root/arm-pi2/kali-arm-build-scripts/rpi-1.1.0, het bestand heet kali-1.1.0-rpi.img,xz)
Pak de image ergens uit met 7zip of een andere compressie tool, en installeer hem op een >8GB SD kaart op de gebruikelijke manier. De howto voor de live usb op de Kali site werkt ook voor een SD kaart)

Nadat de SD kaart is gemaakt, openen we deze (let op: de bestanden staan op een ext4 partitie, deze is niet zichtbaar in Windows, je moet dit dus in een Linux/OSX omgeving doen) en kopieren de modules uit de Raspian image naar de /lib map.

 

We kunnen de raspberry nu booten met een minimale installatie van Kali, maar willen nog wel alle functionaliteit kunnen gebruiken. Daarvoor moeten we de image die we hebben gebruikt uitbreiden naar de volledige grootte van de SD kaart. Zorg voor verbinding met het internet, boot de rasp en log in met root en wachtwoord toor. Start de desktop nog niet (dit kost rekenkracht die we willen gebruiken voor de installatie van de Kali functionaliteit), en controleer of de volgende pakketten geinstalleerd zijn:
apt-get install sudo
apt-get install parted

Voer daarna het script uit om de image uit te breiden:
/scripts/rpi-wiggle.sh

Doe een reboot door enter in te voeren, log op nieuw in en installeer de volledige Kali (nog steeds vanuit de commandline)
apt-get update
apt-get install kali-linux-full
Dit gaat weer een tijd duren, tussendoor moeten er nog wat settings worden geconfigureerd, keyboard, lamp server en kismet. Het meeste ligt voor de hand. Voeg root toe als user voor de kismet groep.

Zorg tot slot voor SSh ondersteuning:
apt-get install chkconfig
update-rc.d -f ssh remove
update-rc.d -f ssh defaults
rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server
service ssh restart

Doe een reboot
shutdown -r now

Weer inloggen en de desktop opstarten met startx

KaliLinux

 

Vergeet niet een ander wachtwoord te kiezen voor de root account.

 

Dat was 'm...  veel succes met het hacken van de buurman veel plezier met je White Hat Pi!

 

P.S.:Trek gerust een middagje uit voor deze procedure.