Skip to content

(⌐■_■) - Deep Reinforcement Learning instrumenting bettercap for WiFi pwning. Still with AI and further improvements.

License

Notifications You must be signed in to change notification settings

nvmd/pwnagotchi

 
 

Repository files navigation

Pwnagotchi project with AI/ML

Release Software License Contributors

This fork is maintaining and improving upon the original vision for Pwnagotchi as an engaging toy with "AI" personality.

The goal is to implement numerous long overdue improvements throughout the codebase to increase maintainability, hackability and its potential as a powerful learning toy for machine learning and wireless networks.

Hello, I'm Pwnagotchi!

ui

an A2C-based "AI" leveraging bettercap that learns from its surrounding Wi-Fi environment to maximize the crackable WPA key material it captures (either passively, or by performing authentication and association attacks).

This material is collected as PCAP files containing any form of handshake supported by hashcat, including PMKIDs, full and half WPA handshakes.

AI

Instead of merely playing Super Mario or Atari games like most reinforcement learning-based "AI" (yawn), Pwnagotchi tunes its parameters over time to get better at pwning Wi-Fi things to in the environments you expose it to.

More specifically, Pwnagotchi is using an LSTM with MLP feature extractor as its policy network for the A2C agent. If you're unfamiliar with A2C, here is a very good introductory explanation (in comic form!) of the basic principles behind how Pwnagotchi learns. (You can read more about how Pwnagotchi learns in the Usage doc.)

Keep in mind: Unlike the usual RL simulations, Pwnagotchi learns over time. Time for a Pwnagotchi is measured in epochs; a single epoch can last from a few seconds to minutes, depending on how many access points and client stations are visible. Do not expect your Pwnagotchi to perform amazingly well at the very beginning, as it will be exploring several combinations of key parameters to determine ideal adjustments for pwning the particular environment you are exposing it to during its beginning epochs ... but ** listen to your Pwnagotchi when it tells you it's boring!** Bring it into novel Wi-Fi environments with you and have it observe new networks and capture new handshakes—and you'll see. :)

Peering

Multiple units within close physical proximity can "talk" to each other, advertising their presence to each other by broadcasting custom information elements using a parasite protocol I've built on top of the existing dot11 standard. Over time, two or more units trained together will learn to cooperate upon detecting each other's presence by dividing the available channels among them for optimal pwnage.

Documentation

Links

  Official Links
Website pwnagotchi.org
Forum discord.gg
Subreddit r/pwnagotchi

License

pwnagotchi created by @evilsocket and contributors. Released under the terms of the GPLv3 license.

About

(⌐■_■) - Deep Reinforcement Learning instrumenting bettercap for WiFi pwning. Still with AI and further improvements.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages

  • JavaScript 44.5%
  • Python 43.6%
  • CSS 10.5%
  • HTML 0.8%
  • PowerShell 0.3%
  • Shell 0.2%
  • Other 0.1%