gitmyhub

pwnagotchi

Python ★ 9.1k updated 10mo ago

(⌐■_■) - Deep Reinforcement Learning instrumenting bettercap for WiFi pwning.

Pwnagotchi turns a Raspberry Pi into a self-learning portable device that automatically captures WiFi handshakes for offline security research and authorized network password auditing.

PythonRaspberry Pisetup: hardcomplexity 4/5

Pwnagotchi is a small, self-learning device that wanders around collecting WiFi security data. The name is a play on Tamagotchi, the classic handheld digital pet from the 1990s, because this project turns a tiny computer (typically a Raspberry Pi) into something you carry with you that gets smarter over time. Instead of learning to avoid predators in a virtual world, it learns to capture WiFi handshakes, which are snippets of encrypted data exchanged between a router and a device when they connect.

Under the hood, the project uses a type of machine learning called reinforcement learning. The AI watches what WiFi networks and devices are nearby, tries different approaches to capturing handshake data, and adjusts its behavior based on what works. Over many sessions it improves at collecting this material in whatever environment you bring it into. The AI is not doing anything instant or magic; early on it performs poorly and explores options, and it gets noticeably better after extended use in varied locations with different networks around it.

The handshakes Pwnagotchi captures are saved as PCAP files. These files can then be fed into tools like hashcat to attempt to recover the original WiFi password through offline testing. This is the workflow used by security researchers and network penetration testers who have permission to audit a WiFi network. The README frames the project explicitly as a security research and learning tool.

Multiple Pwnagotchi units placed near each other can detect one another and coordinate. They split up the available WiFi channels between themselves to avoid duplicating work, which the README describes as cooperative behavior learned over time.

The project is released under the GPL3 license and has an official website with fuller documentation, a community forum, and a subreddit. The README is relatively brief and points readers to the external site for setup guides and deeper explanation of how the AI training works.

Where it fits