rajivraj / wifite

Automatically exported from code.google.com/p/wifite
GNU General Public License v2.0
0 stars 0 forks source link

Broadcom Prism0 Monitor Mode #100

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
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.   

Original issue reported on code.google.com by Adix...@gmail.com on 24 Aug 2012 at 5:34

GoogleCodeExporter commented 9 years ago
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

Original comment by rodrigor...@gmail.com on 10 Apr 2013 at 9:36

GoogleCodeExporter commented 9 years ago
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.

Original comment by alistair...@gmail.com on 23 Sep 2013 at 5:32