Pwnagotchi - Pwn all the WiFi
Pwnagotchi is an open source handheld that snarfs Wi-Fi handshakes. The Tamagotchi-inspired device helps wandering hackers to crack Wi-Fi passwords while looking adorable. The Pwnagotchi gets smarter the more networks it gets exposed to using machine learning. It also has an adorable interface that reflects different "moods" depending on what it's doing.
In case you're curious about the name: Pwnagotchi is a portmanteau of pwn and -gotchi. It is a nostalgic reference made in homage to a very popular children's toy from the 1990s called the Tamagotchi. The Tamagotchi, derived from tamago "egg" + uotchi "watch" is a cultural touchstone for many Millennial hackers as a formative electronic toy from our collective childhoods.
How a Pwnagotchi works
The idea is for its user to carry it around the neighborhood or town while turned on and let it "feed" on all the Wi-Fi handshakes, the process that allows phones or laptops to communicate with other wireless devices like a router or a smart TV. In theory, these handshakes can then be cracked to reveal the Wi-Fi network's password.
The Pwnagotchi can capture Wi-Fi networks nearby and learn how to collect handshakes more efficiently overtime, using a type of machine learning called “deep reinforcement learning,” the same underlying tech that powers both AlphaGo and Super Mario-playing AIs.
The deep learning algorithm is programmed to optimize the parameters needed to collect as many handshakes as possible. Every network is a bit different, and the way the Pwnagotchi collects handshakes from them will depend on if it's on a busy street or in an office, for example.
Building your own Pwnagotchi
To run the software, all you need is a Raspberry Pi Zero W, a microSD card with at least 8 GB of storage, and an external battery. If you want to see the Pwnagotchi's cute black and white emoji face, you'll also need a 2-inch e-paper display.
Here are instructions on how to build and install your pwnagotchi.
3D-Printed Pwnagotchi Case
I highly recommend putting your Pwnagotchi's body inside a case especially if you don't want your Pwnagotchi to get dirty (or short the GPIO pins on the back). It also just looks super cool!
There are hundreds of free custom cases you can 3D print yourself. Here are some Pwnagotchi 3D printer files from Thingiverse. I had a friend 3D print the case I use for my Pwnagotchi (below) in Army Green. This is a link to the case I have.
Converting to a Negative Display
Recently I converted my Pwnagotchi's display to a negative one. If you're wondering how you can do it too, it's pretty easy. Follow these steps:
ssh into pwnagotchi make sure you got su
use nano or similar to edit this file:
sudo nano /usr/local/lib/python3.7/dist-package/pwnagotchi/ui/view.py
Then you need to invert the color constants located at the start of the code, they should then have this value:
WHITE = 0x00
BLACK = 0xff
Ctrl+x to save and just wait for the pi to restart pwnagotchi service. Done!