#airgeddon
This is a multi-use bash script for Linux systems to audit wireless networks.
#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).
- 4 Evil Twin attacks: Evil Twin with integrated sniffing, sslstrip mode, "only AP" version to sniff using external sniffer and "black hole" captive portal to capture wifi passwords.
- WPS features: WPS scanning (wash). Reaver and Bully attacks: WPS Custom PIN association, Pixie Dust attacks, bruteforce PIN attacks. Parameterizable timeouts. WPS online PIN database search for "known WPS PINs attack" and integration of the most common PIN generation algorithms.
- Compatibility with many Linux distros (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 version 4.0 or later needed.
Tested on these compatible Linux distros:
-Kali 2.0, 2016.1, 2016.2 and arm versions (Raspberry Pi)
-Wifislax 4.11.1 and 4.12
-Backbox 4.5.1 and 4.6
-Parrot 2.2.1, 3.1.1 and arm versions (Raspberry Pi)
-Blackarch 2016.01.10 and 2016.04.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
-CentOS 6 and 7
-Gentoo 20160514 and 20160704
-Fedora 24
-Red Hat 7 (Maipo)
-Arch 4.6.2-1 to 4.8.13-1
-Raspbian 7 (Wheezy) and 8 (Jessie) (Raspberry Pi)
-OpenMandriva LX3
It's already available in ArchStrike repositories used by some distros based on Arch Linux.
Repositories versions will have auto-update feature disabled in order to avoid breaking dependencies. There is a var at the beginning of the file, "auto_update" can be set to 0 to turn off the auto-update feature.
Anyway, can be used with any Linux distro if you have installed the tools what script needs. The script checks for them at the beginning.
We will enumerate the categories and tools. The format will be: "command -> possible package name". The command can be included in different packages depending of the distro.
Essential tools: <- the script doesn't work if you don't have installed all of them
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
wpaclean -> aircrack-ng
crunch -> crunch
aireplay-ng -> aircrack-ng
mdk3 -> mdk3
hashcat -> hashcat
hostapd -> hostapd
dhcpd -> isc-dhcp-server / dhcp-server / dhcp
iptables -> iptables
ettercap -> ettercap / ettercap-text-only / ettercap-graphical
etterlog -> ettercap / ettercap-text-only / ettercap-graphical
sslstrip -> sslstrip
lighttpd -> lighttpd
dnsspoof -> dsniff
wash -> reaver
reaver -> reaver
bully -> bully
pixiewps -> pixiewps
unbuffer -> expect
Update tools: <- not necessary to work, only used for auto-update
curl -> curl
Internal tools: <- these are internally checked. Not necessary to work, good to have
xdpyinfo -> x11-utils / xdpyinfo / xorg-xdpyinfo
ethtool -> ethtool
lspci -> pciutils
rfkill -> rfkill
Is highly recommended to have the internal tools installed. They improve functionality and performance. For example, xdpyinfo allow the script to detect the desktop resolution in order to print windows in a better way.
#Known incompatibilities
Impossible compatibility for Mac OSX at the moment. Some reasons:
-Bash version <- it can be avoided upgrading to 4 or later, this is not the real problem 😄
-Aircrack suite <- this suite for OSX doesn't support airodump and aireplay
-Wireless tools <- iwconfig doesn't exists for OSX, and airport command can't be used. It generates very 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 doesn't exists for these systems, they use ifconfig instead and it generates very different outputs
#Disclaimer
This script must be used only for educational purposes and Pen testing.
Use it only on your own networks.
We are not responsible of its use.
This script is under GPLv3 (or later) License.
#Use
Must be launched only using bash (not sh). Example bash /path/airgeddon.sh
If you launch the script using sh and a "Syntax error" appears, launch it with bash instead of sh.
#Supported Languages English, Spanish, French, Catalan, Portuguese, Russian and Greek.
#Project Collaboration
You can join the project:
-Translations to other languages are welcome.
-More distros support compatibility.
-New features.
-Testing and feedback is needed too.
For collaborating translators:
You can take the strings to translate from the code or you can ask me directly by mail. I'll inform you how to proceed or to add you as a collaborator on github.
For collaborating developers:
Debug mode was implemented for faster development skipping intro and initial checks. Use it setting var "debug_mode" to 1
Please, respect the tab indentation, code style and the UTF-8 files format only using at the end of the lines LF (not CRLF).
Airgeddon code is 100% clean of warnings. Use shellcheck to search for errors and warnings on code. <- Thanks xtonousou for the tip 😉
For beta testers:
You can download the master version or the beta testing version from the development branch called dev
#Changelog See Changelog file to review changes.
#Special Thanks to
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.
Thanks to the "Spanish pentesting crew", the Wifislax staff, the Seguridadwireless.net, Wifi-libre.com and Lampiweb.com forum people that helped me.
Thanks to the Hackware.ru admins. Thanks to all the people who helped me building the online PIN database for WPS. Thank you to Dominique Bongard for bringing to us Pixie Dust attacks. Thanks to Zhao Chunsheng and Stefan Viehböck for their wonderful algorithms.
I want to thank you too, to all developers who made and designed the third-party tools airgeddon uses.
Thank you too to other authors who inspired me with their scripts:
vk496 -> Linset
MI1 -> Airstorm
MatToufoutu -> Ap-fucker
Coeman76 -> Handshaker
Goyfilms -> Goyscript
Kcdtv -> WPSPin
#Donate
If you enjoyed the script, feel free to give a donation. Invite me to a coffee through Paypal or send me a fraction of a bitcoin:
Paypal: [email protected]
Bitcoin: 1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH