Coder Social home page Coder Social logo

angryoxide's Introduction

AngryOxide ๐Ÿ˜ก

Logo

A 802.11 Attack tool built in Rust ๐Ÿฆ€ !

Builds and Release GitHub commit activity Discord

AngryOxide was developed as a way to learn Rust, netlink, kernel sockets, and WiFi exploitation all at once.

You can get information about how to use the tool in the User Guide.

NOTE: This project is under HEAVY development and you can expect a very fast release cycle.

The overall goal of this tool is to provide a single-interface survey capability with advanced automated attacks that result in valid hashlines you can crack with Hashcat.

This tool is heavily inspired by hcxdumptool and development wouldn't have been possible without help from ZerBea.

I wanna use it!

You can download pre-compiled binaries of AngryOxide in the releases.

You can get information about how to use the tool in the User Guide.

Features

  • Active state-based attack engine used to retrieve relevent EAPOL messages from Access Points and clients.
  • Target option that accepts MAC (aabbcc..., aa:bb:cc...) and SSID "Test_SSID" to limit attack scope.
  • Whitelist option to protect specific networks from attacks. Useful if not using targets.
  • Auto Hunt capability to find all target channels and hop between them.
  • A Terminal-UI that presents all relevent data while still living in the terminal for easy usage over SSH.
  • Limits DEAUTHENTICATION frames that can cause more damage than good to the authentication sequence.
  • EAPOL 4-Way-Handshake validation using Nonce Correction, Replay Counter validation, and Temporal validation.
  • Automatically elicits PMKID from access points where available.
  • Utilizes GPSD with ability to set remote GPSD service address.
  • Provides pcapng files with embedded GPS using the Kismet Format.
  • Provides a kismetdb file with all frames (with GPS) for post-processing.
  • Wraps all output files in a gzipped tarball.
  • Bash autocompletions for easy interface selection provided.

Attacks

Will by default attack ALL access points in range, unless atleast one target is supplied, at which point the tool will only transmit against defined targets. (But will still passively collect on other access points).

  • Attempts authentication/association sequence to produce EAPOL Message 1 (PMKID Collection)
  • Attempts to retrieve hidden SSID's with undirected probe requests.
  • Utilizes Anonymous Reassociation to force Access Points to deauthenticate their own clients (MFP Bypass)
  • Will attempt to send Channel Switch Announcement to send clients to adjacent channels.
  • Attempts to downgrade RSN modes to WPA2-CCMP (Probe Response Injection)
  • Attempts to collect EAPOL M2 from stations based solely on Probe Requests (Rogue AP)
  • Will send controlled deauthentication frames unless told not to (--nodeauth)

All of these attacks are rate-controlled both to prevent erroneous EAPOL timer resets and to maintain some level of OPSEC.

Help

โฏ angryoxide --help
Does awesome things... with wifi.

Usage: angryoxide [OPTIONS] --interface <INTERFACE>

Options:
  -i, --interface <INTERFACE>  Interface to use
  -c, --channel <CHANNEL>      Optional - Channel to scan. Will use "-c 1 -c 6 -c 11" if none specified
  -b, --band <BAND>            Optional - Entire band to scan - will include all channels interface can support
  -t, --target <TARGET>        Optional - Target (MAC or SSID) to attack - will attack everything if none specified
  -w, --whitelist <WHITELIST>  Optional - Whitelist (MAC or SSID) to NOT attack
  -o, --output <OUTPUT>        Optional - Output filename
  -r, --rogue <ROGUE>          Optional - Tx MAC for rogue-based attacks - will randomize if excluded
      --gpsd <GPSD>            Optional - Alter default HOST:Port for GPSD connection [default: 127.0.0.1:2947]
      --autohunt               Optional - AO will auto-hunt all channels then lock in on the ones targets are on
      --headless               Optional - Set the tool to headless mode without a UI. (useful with --headless)
      --autoexit               Optional - AO will auto-exit when all targets have a valid hashline
      --notransmit             Optional - Do not transmit - passive only
      --nodeauth               Optional - Do NOT send deauths (will try other attacks only)
      --notar                  Optional - Do not tar output files
  -h, --help                   Print help
  -V, --version                Print version

Building from source

If you want to build from source instead of using precompiled binaries, these are the basic instructions:

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Clone this repo
git clone https://github.com/Ragnt/AngryOxide.git

# Build/Install
cd AngryOxide
make
sudo make install

This will build from source, install into /usr/bin/angryoxide, and install the bash completions for you.

Cross compiling:

I use cross to cross compile to embedded architectures.

Here is MIPS (mips-unknown-linux-musl) as an example.

# make sure you have the nightly installed
rustup install nightly

# dynamically linked & soft-float
cross build +nightly --target mips-unknown-linux-musl --release -Zbuild-std

Bash completion script:

You can use pkg-config --variable=completionsdir bash-completion to determine where the completions script should be installed.

I use zsh-bash-completions-fallback plugin to enable the bash autocompletion file zsh.

Screenshots!

AccessPoints Page Handshakes Page Status Page

angryoxide's People

Contributors

gobiassomecoffeeco avatar ragnt 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.