What to do after installing Pwnagotchi

If you’re not familiar with the Pwnagotchi, it’s a virtual pet that can do some fun things with Wi-Fi. It was started by evilsocket in 2019 as a summer project that turned into a really nice tool. You can see the entire story of the pwnagotchi creation in the references of this post.

In this article, I don’t want to teach you how to install the boot image or something like that, because we have a lot of good tutorials on YouTube for this first part. I just want to keep here the steps after the installation for my use while creating Pwonagotchis for my friends. And, maybe it can be useful for you too.

If you want to build a pwnagotchi too, I use these components:

  • Raspberry Pi Zero WH (the W means it has wi-fi board, the H means it has pre-soldered headers)
  • Waveshare 4
  • PiSugar 3 for power management
  • Sandisk Extreme PRO 64GB microSDXC
  • This 3D Printable case by MAXDARKDOG: Pwnagotchi Case

For installing the boot image, I used the Raspberry Pi Imager, which is a great tool for flashing images to microSD cards.

And, instead of using the pwnagotchi.ai image, I used the pwnagotchi.org image, which is updated more frequently. You can find it here: pwnagotchi.org.

In the references section, you can find the links to the YouTube videos that I used for the installation.

Now, to the steps after the installation.

Connecting to the pwnagotchi

Remember to use the data transfer port of the Raspberry Pi.

You can connect to the pwnagotchi via SSH using the default credentials:

ssh pi@10.0.0.2

Password: raspberry.

Change the password immediately after logging in for security reasons:

passwd

Also, change the password for the root user:

sudo su
passwd

Configuring the pwnagotchi

To the first configuration, we can use the wizard:

sudo pwnagotchi --wizard

Remember to add your Wi-Fi credentials to the whitelist when prompted.

The config file will be stored in /etc/pwnagotchi/config.toml.

You can edit this file to customize your pwnagotchi settings. For example, you can change the name, enable plugins, and configure the display.

The final configuration file will look something like this:

main.name = "pwnagotchi"
main.lang = "en"
main.whitelist = [
  "EXAMPLE_NETWORK",
  "fo:od:ba:be:fo:od",
]

ui.display.enabled = true
ui.display.type = "waveshare_4"
ui.display.color = "black"
ui.fps = 1

Enabling the SFTP

To easily change the settings file with a GUI or your favorite text editor, we can enable SFTP access.

Access the pwnagotchi settings file:

sudo nano /etc/ssh/sshd_config

Change the #PermitRootLogin prohibit-password to PermitRootLogin yes.

PermitRootLogin yes

Then, restart the SSH service:

service ssh restart

We can now connect to the pwnagotchi via SFTP using the same credentials:

host: 10.0.0.2
username: root
password: *the new password*
port: 22

You can use any SFTP client, like FileZilla or WinSCP, to connect to the pwnagotchi and edit the configuration file.

Enabling Bluetooth Tethering

Before anything make sure that the bluetooth tethering is activated and for apple you need iPhone’s personal hotspot ON. Keep phone unlocked.

Follow these steps to enable Bluetooth tethering:

  1. sudo bluetoothctl
  2. scan on
  3. discoverable on
  4. Find your phone’s Bluetooth address (it will look like XX:XX:XX:XX:XX:XX).
  5. pair XX:XX:XX:XX:XX:XX
  6. trust XX:XX:XX:XX:XX:XX

To test if the tethering is working, you can use the following command:

ping google.com

WebUI

To access the WebUI, you can use the following URL in your web browser:

10.0.0.2:8080

Remember to update the credentials.

sudo nano /etc/pwnagotchi/config.toml

# find for these items and change them to the desired values
ui.web.username = "your_login_user"
ui.web.password = "your_password"

Plugins

Some plugins can be installed by the command line, but some need to be installed manually.

To install via command line, you can use the following command:

sudo pwnagotchi plugins install <plugin_name>

To install manually, you can copy the .py plugin file to the /usr/local/share/pwnagotchi/custom-plugins/ and add the plugin settings to the /etc/pwnagotchi/config.toml file.

We already have some nice plugins installed by default. I just added some more that I like to use:

To download the plugins, you can use the following commands:

cd /usr/local/share/pwnagotchi/custom-plugins/
sudo wget https://raw.githubusercontent.com/<username>/<repo>/refs/heads/main/<plugin_name>.py

Example:

cd /usr/local/share/pwnagotchi/custom-plugins/

sudo wget https://raw.githubusercontent.com/Kaska89/pwnagotchi-EXPv2-plugin/refs/heads/main/expv2.py
sudo wget https://raw.githubusercontent.com/Kaska89/pwnagotchi-EXPv2-plugin/refs/heads/main/agev2.py

To enable the Experience plugin, add the following to your config.toml:

sudo nano /etc/pwngtochi/config.toml

main.plugins.expv2.enabled = true
main.plugins.expv2.lvl_x_coord = 5
main.plugins.expv2.lvl_y_coord = 88
main.plugins.expv2.exp_x_coord = 38
main.plugins.expv2.exp_y_coord = 88
main.plugins.expv2.bar_symbols_count = 12
main.plugins.expv2.bar_symbol = "█"

You can find more plugins here.

References

for MacOS:

for Windows:

This article, images or code examples may have been refined, modified, reviewed, or initially created using Generative AI with the help of LM Studio, Ollama and local models.