Export to GitHub

wifite - issue #100

Broadcom Prism0 Monitor Mode


Posted on Aug 24, 2012 by Happy Hippo

Operating System Backtrack 5 R2, 64 Bit Wireless Card: Broadcom BCM43227 Wireless Driver: Broadcom-STA Status: Works with Airodump-ng | Able to crack WEP with Aircrack-ng Suit

Broadcom-Sta Provides Monitor Mode by creating a new interface called Prism0 which is already in monitor mode by default. Wifite (Any Version) doesnt recognize this interface in monitor mode and therefore loops at select interface for monitor mode.

Is there any specific code i can change in the script for it to skip putting the card in monitor mode and use selected interface (-i prism0) by default.

Comment #1

Posted on Apr 10, 2013 by Grumpy Camel

I can confirm this issue: Operating System: Debian SID 64 Bit Wireless Card: 08:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01) Wireless Driver: Broadcom-STA WiFite v2 (r85)

[+] scanning for wireless devices... [+] available wireless devices: 1. prism0 Unknown Unknown (MONITOR MODE NOT SUPPORTED) 2. eth1 Unknown wl [+] select number of device to put into monitor mode (1-2):

When I select "1" this menu appears again, in a infinite loop.

Using airmon-ng to go monitor mode does not work. Quoting http://www.broadcom.com/docs/linux_sta/README.txt :

HOW TO USE MONITOR MODE

To enable monitor mode: $ echo 1 > /proc/brcm_monitor0

Enabling monitor mode will create a 'prism0' network interface. Wireshark and other netwokk tools can use this new prism0 interface.

To disable monitor mode: $ echo 0 > /proc/brcm_monitor0

Comment #2

Posted on Sep 23, 2013 by Helpful Bear

I can confirm this issue.

Please look at your wifite.py file.

In the function main():

def main(): """ Where the magic happens. """ global TARGETS_REMAINING, THIS_MAC, CRACKED_TARGETS

CRACKED_TARGETS = load_cracked() # Load previously-cracked APs from file

handle_args() # Parse args from command line, set global variables.

initial_check() # Ensure required programs are installed.

# The "get_iface" method anonymizes the MAC address (if needed)
# and puts the interface into monitor mode.
iface = get_iface()

THIS_MAC = get_mac_address(iface) # Store current MAC address

(targets, clients) = scan(iface=iface, channel=TARGET_CHANNEL)

Simply replace iface= get_iface() with iface='prism0', it should look like

def main(): """ Where the magic happens. """ global TARGETS_REMAINING, THIS_MAC, CRACKED_TARGETS

CRACKED_TARGETS = load_cracked() # Load previously-cracked APs from file

handle_args() # Parse args from command line, set global variables.

initial_check() # Ensure required programs are installed.

# The "get_iface" method anonymizes the MAC address (if needed)
# and puts the interface into monitor mode.
iface = 'prism0'

THIS_MAC = get_mac_address(iface) # Store current MAC address

(targets, clients) = scan(iface=iface, channel=TARGET_CHANNEL)

And now sudo ./wifite.py pretty sure it should work.

A definitive patch would be to modify the function get_iface() so that it can detect an interface listed 'prism0 no wireless extensions.' in iwconfig.

Right now the function get_iface() uses the 'Mode:Monitor' part of the interface description in iwconfig to detect an interface.

Maybe code the function so that it can detect a chipset under the name 'prismxx'?...

Alistair.

Status: New

Labels:
Type-Defect Priority-Medium