Skip to content

This is a multi-use bash script for Linux systems to audit wireless networks.

License

Notifications You must be signed in to change notification settings

carlosnewmusic/airgeddon

Β 
Β 

Repository files navigation

πŸ“‘ airgeddon Version-shield Bash4.2-shield License-shield Paypal-shield Bitcoin-shield

This is a multi-use bash script for Linux systems to audit wireless networks.

Banner

Table of Contents

Features

  • Interface mode switcher (Monitor-Managed) keeping selection even on interface name changing
  • DoS over wireless networks using different methods
  • Assisted Handshake file capturing
  • Cleaning and optimizing Handshake captured files
  • Offline password decrypting on WPA/WPA2 captured files (dictionary, bruteforce and rule based)
  • Evil Twin attacks (Rogue AP)
    • Only Rogue/Fake AP version to sniff using external sniffer (Hostapd + DHCP + DoS)
    • Simple integrated sniffing (Hostapd + DHCP + DoS + Ettercap)
    • Integrated sniffing, sslstrip (Hostapd + DHCP + DoS + Ettercap + Sslstrip)
    • Integrated sniffing, sslstrip2 and BeEF browser exploitation framework (Hostapd + DHCP + DoS + Bettercap + BeEF)
    • Captive portal with "DNS blackhole" to capture wifi passwords (Hostapd + DHCP + DoS + Dnsspoff + Lighttpd)
    • Optional MAC spoofing for all Evil Twin attacks
  • WPS features
    • WPS scanning (wash). Self parameterization to avoid "bad fcs" problem
    • Custom PIN association (bully and reaver)
    • Pixie Dust attacks (bully and reaver)
    • Bruteforce PIN attacks (bully and reaver)
    • Parameterizable timeouts
    • Known WPS PINs attack (bully and reaver), based on online PIN database with auto-update
    • Integration of the most common PIN generation algorithms
  • Compatibility with many Linux distributions (see [Requirements] section)
  • Easy targeting and selection in every section
  • Drag and drop files on console window for entering file paths
  • Dynamic screen resolution detection and windows auto-sizing for optimal viewing
  • Controlled Exit. Cleaning tasks and temp files. Option to keep monitor mode if desired
  • Multilanguage support and autodetect OS language feature (see [Supported Languages] section)
  • Help hints in every zone/menu for easy use
  • Auto-update. Script checks for newer version if possible

Requirements

Bash 4.2 or later.

Compatible with any Linux distribution that has installed the tools needed. The script checks for them at the beginning.

airgeddon is already included in some Linux distributions and repositories

Tested on these compatible Linux distributions
  • Kali 2.0, 2016.1, 2016.2 and arm versions (Raspberry Pi)
  • Wifislax 4.11.1, 4.12 and 64-1.0
  • Backbox 4.5.1 and 4.6
  • Parrot 2.2.1 to 3.4.1 and arm versions (Raspberry Pi)
  • BlackArch 2016.01.10 to 2017.01.28
  • Cyborg Hawk 1.1
  • Debian 7 (Wheezy) and 8 (Jessie)
  • Ubuntu/Xubuntu 15.10, 16.04 and 16.04.1
  • OpenSUSE Leap 42.1 and 42.2
  • CentOS 6 and 7
  • Gentoo 20160514 and 20160704
  • Fedora 24
  • Red Hat 7 (Maipo)
  • Arch 4.6.2-1 to 4.10.3-1
  • Raspbian 7 (Wheezy) and 8 (Jessie) (Raspberry Pi)
  • OpenMandriva LX3

Essential tools ← The script does not work if you don't have installed all of them

Command Possible package name β‹… Command Possible package name
ifconfig net-tools β‹… iwconfig wireless-tools
iw iw β‹… awk awk | gawk
airmon-ng aircrack-ng β‹… airodump-ng aircrack-ng
aircrack-ng aircrack-ng β‹… xterm xterm

Optional tools ← Not necessary to work, only needed for some features

Command Possible package name β‹… Command Possible package name
wpaclean aircrack-ng β‹… ettercap ettercap | ettercap-text-only | ettercap-graphical
crunch crunch β‹… etterlog ettercap | ettercap-text-only | ettercap-graphical
aireplay-ng aircrack-ng β‹… sslstrip sslstrip
mdk3 mdk3 β‹… dhcpd isc-dhcp-server | dhcp-server | dhcp
hashcat hashcat β‹… dnsspoof dsniff
hostapd hostapd β‹… wash reaver
lighttpd lighttpd β‹… reaver reaver
iptables iptables β‹… bully bully
bettercap bettercap β‹… pixiewps pixiewps
beef beef-xss | beef-project β‹… unbuffer expect | expect-dev
Important tips about BeEF
  • The right software you must install is BeEF (Browser Exploitation Framework). Be careful, do not mistake it with beef (Flexible Brainfuck Interpreter). This package has the same name and executable file name on some distributions and can lead into confusion. Anyway, airgeddon is able to detect the issue and display a warning if needed. Here is a link to the right BeEF installation's page.
  • If you are using a distribution which already has BeEF installed like Kali, BlackArch or Wifislax, there will be no problems. If you have manually installed BeEF, airgeddon is able to manage the integration asking for the path where it's installed, even modifying its own code in order to make updates-proof persistent changes.
Important tips about hashcat

hashcat is used to perform various attacks against captured files using the CPU. In order to execute hashcat, you need to install an OpenCL runtime compatible with your hardware.

Update tools ← Not necessary to work, only used for auto-update

Command Possible package name
curl curl

Internal tools ← These are internally checked. Not necessary to work, good to have

Command Possible package name
xdpyinfo x11-utils | xdpyinfo | xorg-xdpyinfo
ethtool ethtool
lspci pciutils
rfkill rfkill

It is highly recommended to have the internal tools installed. They improve functionality and performance. For example, xdpyinfo allows the script to detect the display resolution in order to print on windows in a better way (size and position).

Of course, the script also uses many standard basic tools that are supposed to be included in any Linux distribution, so they are not checked (cp, rm, grep, pgrep, egrep, md5sum, uname, echo, hash, cat, sed, etc.).

A command could be included in different packages, depending on the distribution.


Usage

It is essential to run this script as root, otherwise airgeddon won't work properly.

Getting Started
  • Clone the repository
    • git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git
  • Go to the newly created directory
    • cd airgeddon
  • Run it (remove sudo if you already have root permissions)
    • sudo bash airgeddon.sh

airgeddon should be launched with bash bash /path/to/airgeddon.sh and not with sh or any other kind of shell.

If you launch the script using another shell, there will be Syntax errors and faulty results. Even with no initial errors, they will appear later. Always launch with bash!


Supported Languages

English English
Spanish Spanish
French French
Catalan Catalan
Portuguese Portuguese
Russian Russian
Greek Greek


Known Incompatibilities

  • Incompatible with Mac OSX at the moment
  • Bash version ← it can be avoided by upgrading it using brew or whatever, this is not the real problem πŸ˜„
  • Aircrack suite ← this suite does not support airodump and aireplay for OSX
  • Wireless tools ← iwconfig does not exist in OSX, so airport command cannot be used. It generates different outputs
  • Incompatible with OpenBSD and FreeBSD. They are Unix systems but they have some differences with Linux
  • Bash ← They have no bash. It can be installed, this is not the real problem again πŸ˜…
  • Wireless tools ← iwconfig does not exist in these systems, they use ifconfig instead and it generates different outputs

Contributing

  • Translations into other languages
  • More distribution support compatibility
  • New features
  • More WPS pins for the database
  • Testing and feedback

Read the Contributing File for more details on the process of project collaborating and on our code of conduct.


Changelog

Read the Changelog File to review changes.


Disclaimer & License

This script must be used for educational purposes and penetration testing only.
Use it on your own networks or with the permission of the network's owner only.
airgeddon staff is not responsible of its use in any case.


Acknowledgments

Kcdtv for French translations, beta testing, suggestions about new features and support received since the beginning,
USUARIONUEVO for helping me to improve the script, suggestions about new features and for the support received,
El padrino and cLn for Catalan translations,
Luan for Portuguese translations,
MiAl for Russian translations,
xtonousou for Greek translations, beta testing, suggestions, the help received fixing code warnings and other stuff,
OscarAkaElvis for allowing me to own his body when I visit the earth.

Hat tip to

  • The "Spanish pentesting crew"
  • The Wifislax staff
  • The BlackArch community
  • The forum people of Seguridadwireless.net, Wifi-libre.com and Lampiweb.com
  • The Hackware.ru admins
  • All the people who helped building the online PIN database for WPS
  • Dominique Bongard for bringing to us the Pixie Dust attacks
  • Zhao Chunsheng and Stefan ViehbΓΆck for their wonderful algorithms
  • All the developers who made and designed the third-party tools that airgeddon uses

Inspiration

  • vk496 β†’ Linset
  • MI1 β†’ Airstorm
  • MatToufoutu β†’ Ap-fucker
  • Coeman76 β†’ Handshaker
  • Goyfilms β†’ Goyscript
  • Kcdtv β†’ WPSPin

About

This is a multi-use bash script for Linux systems to audit wireless networks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%