Git Product home page Git Product logo

airgorah's Introduction


Airgorah

A WiFi security auditing software mainly based on aircrack-ng tools suite

Installation    |    Usage    |    Credits

illustration

crates aur ci

Airgorah is a WiFi security auditing software that can capture nearby WiFi traffic, discover clients connected to access points, perform deauthentication attacks, capture handshakes, and crack the password of access points.

It is written in Rust and uses GTK4 for the graphical part.

⭐ Don't forget to put a star if you like the project!

Legal

⚠️ Airgorah is designed to be used in testing and discovering flaws in networks you are owner of. Performing attacks on WiFi networks you are not owner of is illegal in almost all countries. I am not responsible for whatever damage you may cause by using this software.

Requirements

This software only works on linux and requires root privileges to run.

You will also need a wireless network card that supports monitor mode and packet injection.

Installation

The installation instructions are available here.

Usage

The documentation about the usage of the application is available here.

License

This project is released under MIT license.

Contributing

If you have any question about the usage of the application, do not hesitate to open a discussion

If you want to report a bug or provide a feature, do not hesitate to open an issue or submit a pull request

airgorah's People

Contributors

dependabot[bot] avatar martin-olivier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

airgorah's Issues

Change service to systemctl is more generic

Hello @martin-olivier,

I think you can improve this app by replacing "service' by 'systemctl' to handle the services. It's more generic than "service" because service is a Ubuntu's command, I guess. But for others distro systemd, it works with systemctl command.

    Command::new("service")
        .args(["NetworkManager", "restart"])
        .output()?;
    Command::new("service")
        .args(["network-manager", "restart"])
        .output()?;
    Command::new("service")
        .args(["wpa-supplicant", "restart"])
        .output()?;

Thanks.

Add multi-term support

For the moment airgorah uses xfce4-terminal for the handshake decryption term window.
To avoid gnome and others desktop env users to install XFCE, Airgorah should support more terms.

From #53

Bug: it's freeze sometimes with version 0.7.0

Hello,

I have a weird issue, sometime it's freeze my computer when using version 0.7.0.

So I tried to run the command in terminal like airodump. aireplay, mdk4, etc.... it's still working no problem. So I guess it's not related to my computer or my system linux.

@martin-olivier Please take a look about the handling errors

New feature: to refresh new channel after rebooting router

I have an idea for mdk4 in case the user reset his router or change his channel, we can stop (kill) to running mdk4 and re-run a new process with new channel changed. It means we don't need to stop and relance manuellay to deauth if the user changes his channel to by pass the hopping or specify channel ( juste detect via the list from airedump-ng).

Thanks @martin-olivier

PMKID interception support

Currently, only handshakes are detected by airgorah.
PMKID should also be detected to be able to perform bruteforce decryption on them.

Anyway to run without systemd?

The README.md states "This software only works on linux and requires root privileges to run."

Now, it's true that I'm not on Linux (I'm on NetBSD) but, I'm not sure it will run on my Linux machine (Void musl) either.
According to the error I'm getting, one needs systemd.

2024-01-08-102709_1366x768_scrot

Anyway to run airgorah without systemd?

Support multiple instances of the software

Actually, using multiple instances of the software at the same time, even if each instance has it's own dedicated wireless interface, will cause issues because each of them will use:

  • /tmp/airgorah_live_scan
  • /tmp/airgorah_old_scan
  • /tmp/airgorah_merge_scan

To fix that, we should generate a UUID at the launch of an instance and use it to have a unique scan path, for example:

  • /tmp/airgorah_live_scan-0123456789

UI & feature issue

Bonjour,

J'ai quelques problemes avec votre derniere version 0.3.0:

  • Les colonnes GUI ne sont pas ajustable.
  • Le nombre de clients connecté n'est pas correct.

Si c'est possbile, est ce que vous pourrier ajouter l'option mdk4 pour la deauth, svp?

Merci.

Add macchanger

Bonjour,

Est-ce que vous pourriez ajouter macchanger avant de lancer l'application? Merci.

Build Error on Kali ARM

Trying this out in a Kali ARM VM on Parallels, and all seems to go well until the final compilation.

error: could not compile `airgorah` (bin "airgorah")

Caused by:
  process didn't exit successfully: `/home/parallels/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin/rustc --crate-name airgorah --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=147 --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=f3f08f8f5094c257 -C extra-filename=-f3f08f8f5094c257 --out-dir /home/parallels/airgorah/target/release/deps -L dependency=/home/parallels/airgorah/target/release/deps --extern chrono=/home/parallels/airgorah/target/release/deps/libchrono-4a61a19abd5bf659.rlib --extern csv=/home/parallels/airgorah/target/release/deps/libcsv-a04080e4ac4da0e2.rlib --extern ctrlc=/home/parallels/airgorah/target/release/deps/libctrlc-dc35c4f068686d78.rlib --extern env_logger=/home/parallels/airgorah/target/release/deps/libenv_logger-9d26bd1cbafe6aac.rlib --extern glib=/home/parallels/airgorah/target/release/deps/libglib-bcd25df4a8c6c784.rlib --extern gtk4=/home/parallels/airgorah/target/release/deps/libgtk4-063cb9fadb3d8ff0.rlib --extern lazy_static=/home/parallels/airgorah/target/release/deps/liblazy_static-347b5e97ded2e70c.rlib --extern log=/home/parallels/airgorah/target/release/deps/liblog-f536c9466cf46e75.rlib --extern nix=/home/parallels/airgorah/target/release/deps/libnix-0966678e0035d5dd.rlib --extern regex=/home/parallels/airgorah/target/release/deps/libregex-4ed585f5de3b0f9a.rlib --extern serde=/home/parallels/airgorah/target/release/deps/libserde-5d8cf6de04e3291e.rlib --extern serde_json=/home/parallels/airgorah/target/release/deps/libserde_json-c0bdc487ee2c7c51.rlib --extern sudo=/home/parallels/airgorah/target/release/deps/libsudo-8e0ba00a7d27690c.rlib --extern toml=/home/parallels/airgorah/target/release/deps/libtoml-9ce267181491d95a.rlib --extern ureq=/home/parallels/airgorah/target/release/deps/libureq-01ecd19da8993e80.rlib --extern which=/home/parallels/airgorah/target/release/deps/libwhich-b050dd1cdf0552a7.rlib -L native=/home/parallels/airgorah/target/release/build/ring-5ab0ffae7d9f0d39/out` (signal: 9, SIGKILL: kill)

Cargo/Rust/Uname info:

┌──(parallels㉿kali-gnu-linux-2023)-[~/airgorah]
└─$ rustc --version                                                                                                                                
rustc 1.75.0 (82e1608df 2023-12-21)

┌──(parallels㉿kali-gnu-linux-2023)-[~/airgorah]
└─$ cargo --version                                                                                                                                
cargo 1.75.0 (1d8b05cdd 2023-11-20)

┌──(parallels㉿kali-gnu-linux-2023)-[~/airgorah]
└─$ uname -a                                                                                                                                       
Linux kali-gnu-linux-2023.2 6.3.0-kali1-arm64 #1 SMP Debian 6.3.7-1kali1 (2023-06-29) aarch64 GNU/Linux

┌──(parallels㉿kali-gnu-linux-2023)-[~/airgorah]
└─$ 

death attack on multiple networks

Tell me please, is this normal behavior of the program?
You press death, select one client or all, the attack happens perfectly!
But when you press the button (near the channel selection) Hop on all channel... the attack stops.
And continues only after pressing the button Focus the channel...
I can't deauth on several networks at once?

[is_5ghz_supported] function is not detectable in Kali Linux in M1 vmware

Hi,

I'm always using my usb that supports 5ghz for sure.

Actually, I'm using M1 with vmware to run kali linux but I think fn is_5ghz_supported(iface: &str) function (v 0.7.2) doesn't work with the current code.

/// Check if an interface supports 5GHz
pub fn is_5ghz_supported(iface: &str) -> Result<bool, IfaceError> {
    let phy_path = format!("/sys/class/net/{}/phy80211", iface);
┌──(kali㉿kali)-[~]
└─$ iw list | grep 5200  
                        * 5200.0 MHz [40] (20.0 dBm)
                        * 5200.0 MHz [40] (20.0 dBm)
                        * 5200.0 MHz [40] (20.0 dBm)

I have 3 usb that support 5GHZ.

Please check it, or you can always turn on (check it by default 5ghz option like 2.4ghz, and try catch) to avoid some stucks.

Thanks @martin-olivier

Client issue

Bonjour,

Je vous fais des capture d'ecran entre la version 0.1.0 et 0.3.0

Avec la version 0.1.0, j'ai trouve rapidement les clients connectes. Par contre, j'ai checkout votre dernier fix/columns-and-clients, j'ai toujours ce probleme.

SCR-20230401-onal

0.1.0
SCR-20230401-omiu

Merci.

mac os run????

paulchikkkk@7ee570 ~ % git clone https://github.com/martin-olivier/airgorah.git
cd airgorah
fatal: destination path 'airgorah' already exists and is not an empty directory.
paulchikkkk@7ee570 airgorah % cargo build --release
zsh: command not found: cargo
paulchikkkk@7ee570 airgorah %

XFCE4-Terminal as dependancy

Hi,

When I installed Airgorah using the following command: cargo install airgorah The installation was successful, but impossible to Lunch:
[2023-11-20T15:51:58Z ERROR airgorah::frontend::widgets::dialog] missing required dependency: "xfce4-terminal"

I don't know why it asks for Xfce Terminal since I'm using Kali Linux on Gnome ?

Any ideas ?

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.