Download and setup Pwnhyve

Become root

sudo su

If the system hasn't been updated already, please update it now 🙃

  1. Clone the Pwnhyve repo

    cd ~
    git clone https://github.com/whatotter/pwnhyve && cd pwnhyve
  2. Setup dwc2 for usb gadget mode in /boot/firmware/config.txt

    echo dtoverlay=dwc2 | sudo tee -a /boot/firmware/config.txt
    echo dwc2 | sudo tee -a /etc/modules
    echo "libcomposite" | sudo tee -a /etc/modules
  3. Enable SPI

    echo dtparam=spi=on | sudo tee -a /boot/firmware/config.txt
  4. Setup special SPI pins

    dtc -I dts -O dtb -o 3spi.dtbo ./core/install/spi-cs-extend.dts
    sudo cp 3spi.dtbo /boot/firmware/overlays/
    echo "dtoverlay=3spi" >> /boot/firmware/config.txt
  5. Install requirements using pip

    sudo pip install -r requirements.txt
  6. Install required tools

    apt install bettercap eaphammer golang-go
  7. Build FastIO

    cd ./core/pio
    go build pio.go
    cd ../..
  8. Put the USB gadget script in /bin

    cp ./core/install/pwnhyveUSB /bin/ 
    chmod +x /bin/pwnhyveUSB
  9. No need to setup the USB script to run on boot, pwnhyve already runs it when started

  10. Create piusb.bin for usb mass storage (edit to your needs)

    sudo dd if=/dev/zero of=/piusb.bin bs=65535 count=65535 status=progress
    mkdosfs /piusb.bin
  11. Setup pwnhyve's systemctl service

    sed -i "s@cwd@$(pwd)@g" ./core/install/pwnhyve.service
    cp ./core/install/pwnhyve.service /etc/systemd/system/
  12. Restart systemctl's daemon and enable pwnhyve

    systemctl daemon-reload
    systemctl enable pwnhyve.service
  13. reboot

    sudo reboot now

Pwnhyve should be running as soon as the RPi boots.

Last updated