DEV Community

Ciara
Ciara

Posted on • Edited on

How I built my Pwnagotchi

What is Pwnagotchi?

Pwnagotchi is an A2C-based “AI” powered by bettercap that learns from its surrounding WiFi environment in order to maximize the crackable WPA key material it captures (either through passive sniffing or by performing deauthentication and association attacks). This material is collected on disk as PCAP files containing any form of crackable handshake supported by hashcat, including full and half WPA handshakes as well as PMKIDs.

Building a Pwnagotchi for Dummies - a reference guide for the rest of us :-)

When I got word of pwnagotchi from infosec twitter, I felt very excited and had to have one of my own. I had my own tamagotchis as a teen in the 90's and this seemed like an ideal cute little project to learn about raspberry pi, WiFi security, 3D printing, python, networking, and another community. I'm really fond of this little gadget!

Disclaimer: Please be aware of your local laws when using your Pwnagotchi.

Materials Used:

  • Inky Phat eInk Display

  • Raspberry Pi Zero WH

  • SD card - I just got a generic 32GB one from local Argos as the one from Amazon was a dud

  • Battery Pack - I picked up a Merkury MI-PB003 from TK Maxx

  • Some good sturdy usb data cables - from Amazon

Installation and setup steps:

  • Insert the screen onto the raspberry pi board. (It's ok if a millimeter of the pins are still showing between the two components.)
  • Download BalenaEtcher and Install
  • Download latest pwnagotchi release image and unzip
  • Insert SD Card
  • Open up BalenaEtcher and flash the .img file to your SD Card
  • While your sd card is still in your pc add a config.yml to the boot partition of the SD card.

Example minimal config yml might look like this:

main: 
  lang: en
  name: phattypatty
  plugins: 
    auto-update: 
      enabled: true
      install: true
      interval: 1
    grid: 
      enabled: true
      exclude: 
        - HomeWifi
      report: true
personality: 
  advertise: true
  deauth: false
ui: 
  display: 
    color: fastAndFurious
    enabled: true
    type: inky
    video: 
      address: "0.0.0.0"
      enabled: true
      origin: ~
      port: 8080
  fps: 0.0

(modified from default yml at : here)

Note: You should use a site such as ymllint to validate the file formating is correct.

  • After you've added your YAML file you can safely eject SD card, insert into the Pi and plug in the power and give it a test.

Pre Case Pwnagotchi

Pre Case Pwnagotchi

Adding a Case:

3D printed, pattern available from Thingiverse
I picked the case with the carabiner loop.

Finished print job

3D Printed Case

General usage:

The USB port of the far left is used for connecting to external power
The other usb port is for tethering to your PC for connection sharing or headless mode with the Web UI if you don't have an eink. To tether the gadget to your pc you need to run a connection sharing script (details to be updated here)

Finished Product:

Add a bit of flair!
Add a bit of flair

Feedback

If I've missed anything please let me know.

Top comments (7)

Collapse
 
gunt profile image
gunt

Hi Ciara,

Your phattypatty - Pwnagotchi looks awesome.
Did you use a 3d printing service? if yes, could you share which one?

Thank you.

Collapse
 
00xciara profile image
Ciara

Hi gunt, thanks for your kind words :-)

I printed the case using the 3D printing facility in my local hackerspace TOG.

Collapse
 
joshuamorris profile image
Joshua Morris

Check out my store on Tindie for a 3D printed pwngotchi case tindie.com/stores/daddy-makes-stuf...

Some comments may only be visible to logged-in visitors. Sign in to view all comments.