This comprehensive guide will walk you through the features and usage of the WiFi Hacker application, a tool designed for educational and security testing purposes.
Disclaimer: Unauthorized access to WiFi networks is illegal and unethical. This application should only be used on networks you own or have explicit permission to test.
The WiFi Hacker application is a graphical user interface (GUI) tool built using Python and the Tkinter library. It allows users to scan for available WiFi networks, select a target network, and attempt to crack its password using a dictionary attack method. The application utilizes the PyWiFi library to interact with wireless network interfaces.
- WiFi Interface Selection: Choose the wireless network adapter to use for scanning and attacks.
- SSID Scanning: Search for available WiFi networks in range.
- Target Network Selection: Select a specific network to attack from the list of discovered SSIDs.
- Cipher Type Configuration: Choose between TKIP and CCMP encryption methods.
- Dictionary File Selection: Browse and select a wordlist file for the password cracking attempt.
- Attack Execution: Initiate the dictionary attack on the selected network.
- Progress Monitoring: View real-time progress and status updates during the attack.
https://naimelham.gumroad.com/l/wifi-hacker
The application window is divided into several sections:
- Interface & SSID Frame: Contains controls for selecting the WiFi interface, scanning for SSIDs, and locking onto a target network.
- Configs Frame: Includes options for selecting the cipher type and browsing for the dictionary file.
- Output Frame: Displays progress and status messages during the attack.
- Status Bar: Shows the current state of the application and provides user guidance.
To start the WiFi Hacker application, run the wifi-hack.exe
file. This will open the main application window.
- Click on the dropdown menu labeled "Select Your Wifi interface".
- Choose one of the available WiFi adapters from the list.
- Once selected, the "Search SSIDs" button will become active.
- Click the "Search SSIDs" button.
- The status bar will indicate that the search is in progress, which can take up to 10 seconds.
- Once complete, a list of discovered networks will appear in the SSID table.
- Click on a network in the SSID table to select it.
- The "Lock SSID Selected" button will become active.
- Click "Lock SSID Selected" to confirm your target network.
- Cipher Type: Select either "TKIP" or "CCMP (preferred)" from the dropdown menu.
- Dictionary File: Click the "Browse" button to select a text file containing potential passwords.
- The "Start" button will become active (colored green).
- Click "Start" to begin the dictionary attack.
- The Output Frame will display real-time progress, showing each password attempt.
- The Status Bar will indicate that the attack is in progress.
The attack will continue until either:
- A successful password is found, which will be displayed in the Output Frame.
- All passwords in the dictionary file have been exhausted without success.
- Click on "Config" in the menu bar.
- Select "Set Waiting Time".
- Enter the desired waiting time in seconds.
- Click "Set" to apply the new waiting time.
- Navigate to the top menu bar.
- Click on Utilities and select Find Your Wifi Response Time from the dropdown menu.
- Using the Utility
- Open the Response Time Window
- A new window titled "Find Your Wifi Response Time" will appear.
- If you haven't locked an SSID (Wi-Fi network) or chosen a cipher type, you'll be prompted to do so first.
- Enter Password
- If you've locked an SSID, enter the password for this network in the provided text field.
- Start Testing
- Click on the Find Response Time button to begin the test.
- The button and password entry will be disabled during the test to prevent interruptions.
- View Results
- The utility will test various waiting times and display results in a text area within the window.
- It will show whether each attempt was successful or failed.
- Understanding Results
- The utility tests different waiting times (e.g., 3 seconds, 2 seconds, etc.) to determine how quickly your adapter can connect.
- Successful connections are marked with "Good!" while failed attempts show "Failed."
- Additional Features
- Status Updates: A status bar at the bottom of the window provides real-time updates on the testing process.
- Completion Notification: Once all tests are complete, you will receive a notification in the text area.
- Tips for Best Results
- Ensure your Wi-Fi adapter is enabled and functioning properly.
- Lock an SSID and choose a cipher type before starting the utility.
- Click on "Help" in the menu bar.
- Select "About" to see the version information.
The application uses the PyWiFi library to interact with the selected wireless interface. When scanning for SSIDs:
- The selected interface is disconnected from any current network.
- A scan is initiated.
- The application waits for 12 seconds to allow for a thorough scan.
- Scan results are retrieved.
The dictionary attack follows these steps for each password attempt:
- Ensure the interface is in a disconnected or inactive state.
- Create a new network profile with the target SSID and current password attempt.
- Attempt to connect to the network using this profile.
- Wait for the specified waiting time.
- Check if the connection was successful.
- If unsuccessful, disconnect and try the next password.
- You may download the famous dictionary file "RockyYou" from here: https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt
- Ensure your WiFi adapter is properly connected and recognized by your operating system.
- Try running the application with administrator/root privileges.
- Check if the PyWiFi library supports your specific WiFi adapter.
- Verify that your WiFi adapter is functioning correctly.
- Ensure you're within range of WiFi networks.
- Make sure you've selected a target network and locked it.
- Verify that you've chosen a cipher type and selected a valid dictionary file.
- Check the Output Frame for any error messages.
- Network Vulnerability: The ability to crack WiFi passwords demonstrates the importance of using strong, unique passwords for your networks.
- WPA2 Weaknesses: While more secure than older protocols, WPA2 can still be vulnerable to dictionary attacks if weak passwords are used.
- Support for WPA3: Implementing support for the newer WPA3 protocol and its security features.
- Advanced Attack Methods: Incorporating more sophisticated attack techniques beyond simple dictionary attacks.
- Network Analysis Tools: Adding features to analyze network traffic and detect potential vulnerabilities.
- Reporting Functionality: Implementing a comprehensive reporting system for documenting security audits.
- Cross-Platform Compatibility: Ensuring the application works consistently across different operating systems.
Remember to always use this tool responsibly and ethically, respecting privacy and legal boundaries. As WiFi security continues to evolve, tools like this play a crucial role in identifying weaknesses and promoting stronger security practices.
Developed by: MOHAMMAD NAIM ELHAM
Version 1.1: October 2024