GithubHelp home page GithubHelp logo

ayush5harma / espeon Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 3.0 83 KB

It's a Raspberry Pi Pokémon that gamifies WiFi Hacking by learning from its surrounding WiFi environment utilising deep Reinforcement Learning.

License: GNU General Public License v3.0

Python 100.00%
deep-reinforcement-learning advantage-actor-critic wireless-security internet-of-things bettercap-ng

espeon's Introduction

Espeon -Raspberry pi pokemon that gamifies WiFi Hacking

    ....                                    .....
           .+?77Gggg,                            .gggyTTTAe
          .dM@.` ``?TM8...                 ...WMM8!!!+++WM@
         .MIdNm,..`.``?7TAx              .uZT=!^^^:.qNMNId@
           dMMNe,....^^^:+dBC++vHMn....JMBI:^^^:J+jMMMMMnd9
           dRJMMNm.:^^:?+!```...^:?74Hf!^^^^:.?qMMMMMM#zMP
            ?BjMMMNe,.+?``..J,^^:^^JJWC```..JjMMMMMMMMB&T=
             jkVMMMNI+l  jk7WQs:^^:dM:..`..qNMMMMMMMMEJH:     .jQ,
               TSdMMMR.` ?SmQH$^:^^::^..?jMMMMMMMMMMkZ9`    .?! `Tn,
                `jWMMHx ```77:^:^:.....:jMMMMMMMMMUWC!      dl. .^d@.
                  .MMH8e. .^^:``.JgWWMI^^?MMMMMngd9!         dK^^::jN:
                 .kCOOdN:`^^:^..jMMNkC:^?z777CWC?!   .jQQo.  `jm:^^jM:
                dK:^^dMB:.^:^^?vWHY+::?j&.^^^:?W$   J2` `?S.. `9A+^:?Mr
               qZ1...dNs+dkz+^:^^:..JqkVWmc:^^`?Xp  dB....?jQ; .MI^^?Ml.
               MmZY9Gc7Y=ux+.^:J&gUMM0rrXM3u+^.jZY   `5A+^:?Tn,.TG+:^?dM
               ??`  ``   `!`XNNHUU0rrrOvdN:`jR+M$      ?dy^^?db. dK^:?dM
                             d#zrrrrZz:^?8a. .T!        ?Sx.^:d#`dK^^?dM
                            .dD`!!!!!^^:^?Mr             JB+.^?jWVC^:?dM
                           .MI^^^^^:^:^^:?Tn,             ,Ml^^??`.:?&VY
                           .MI.^:^:^^:^:^^?db.             ?d2^:``.^?Mr
                          .JVUz:^:?+`^^:^^:^?5+.            7Xx+...JdY!
                          J#ozz...dR^.`^:^^:^`?Xo..          d#C..^jN:
                          JN0rW#!?dK.``:^:^^:^:^?91i,       .Z= ^^jyY`
                          ?MkwZWHodK .:^^?ux^:^^:^`?Xn.    .M%...?dE
                           .MRrrdMM@^:^^:?MRjax+^:^^:d#..+J9::^:?MP
                           .HWyrwXM@^^:^jMM9?`` ``:^^?UkC?!^^^.JW:`
                             dHrrrH@:^^:JMk!```` .^^:^?Qc^:?ggZ=`
                              dNwrH@^:^dMNkc.  .^:^:^^?MMMMB:``
                             JZY+1W@:^:dMMMNe+.^^::^:jsY!
                             dHAgNr..?dMMMG&&.a&JJHMM$`
                              ?"""Xgmmv!  ?""""""=
                                   ```

A Deep Reinforcement Learning Minor Project

Overview :

We decided to create something new from the components we had at hand; the basis of this pet hacker is basically a Raspberry Pi single board device.

Espeon ingests network packets that wireless connection users send during new connection negotiation stage (process known as handshake) This virtual pet does not select WPA keys independently.Instead, gets help from neural networks with machine learning capabilities.

Technicalities :

It is using an LSTM with MLP feature extractor as its policy network for the A2C agent.
Python's OpenAI gym is used to create custom game environment for espeon.

Why it’s valuable to have an AI that wants to eat handshakes :

In order to understand why it’s valuable to have an AI that wants to eat handshakes, it’s helpful to understand a little bit about how handshakes are used in the WPA/WPA2 wireless protocol.

Before a client device that’s connecting to a wireless access point—say, for instance, your phone connecting to your home WiFi network—is able to securely transmit to and receive data from that access point, a process called the 4-Way Handshake needs to happen in order for the WPA encryption keys to be generated. This process consists of the exchange of four packets (hence the “4” in “4-Way”) between the client device and the AP; these are used to derive session keys from the access point’s WiFi password. Once the packets have been successfully exchanged and the keys are generated, the client device is authenticated and can start sending and receiving data packets (now secured by encryption) to and from the wireless AP.
So…what’s the catch? Well, these four packets can easily be “sniffed” by an attacker monitoring nearby (say, with espeon on a raspberry pi 😇). And once recorded, that attacker can use dictionary and/or bruteforce attacks to crack the handshakes and recover the original WiFi key. In fact, successful recovery of the WiFi key doesn’t necessarily even need all four packets! A half-handshake (containing only two of the four packets) can be cracked, too—and in some (most) cases, just a single packet is enough, even without clients.
It uses 3 packet collection strategies:

  • Deauthentication of detected client stations - A deauthenticated device would need to reauthenticate to its access point by performing the 4-way handshake with its access point, and hence, providing our creature with another chance to access more crackable material.

  • Directly sending the association frames to the wireless access points and try prompting and forcing them to leak their PMKID.

  • Passively collects handshakes- if any device attempts to authenticate to an access point on the channel which the unit is monitoring at the same instance, the unite may eat the handshakes completely coincidentally, without attempting the first two methods

The handshakes eaten are saved into .pcap files which can be cracked with proper hardware and software.

espeon's People

Contributors

ayush5harma avatar naaman20 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.