Es stimmt, dass der Treiber b43 den BCM4360 (14e4: 43a0) nicht unterstützt.
Broadcoms proprietärer Treiber unterstützt diesen Chipsatz jedoch nicht. Es ist im Treiberpaket enthalten broadcom-sta-dkms
, das im nicht-freien Repo von Debian Wheezy verfügbar ist.
Ein Kali-Benutzer hatte mit diesem Paket einen Erfolg für einen anderen BCM-Chipsatz. Wenn es für Sie funktioniert, können Sie Ihr Kali-Livebild ändern, um es aufzunehmen.
Andernfalls ist es weiterhin möglich, aircrack-ng in Kali zu verwenden, wenn die Handshake-Pakete zuerst in Mac OS X mit erfasst werden tcpdump
. Hier ist ein Shell-Skript, das einen WPA-Handshake auf einem MacBook Air erfasst, das unter OS X 10.11 (El Capitan) getestet wurde:
#!/bin/sh function usage() { echo "usage: $(basename $0) <essid>"; exit } if [[ ! $(id -u) -eq 0 ]]; then echo "Must be run as root."; exit; fi if [[ -z "$1" ]]; then usage; fi echo "Scanning for access point..." apbin=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport aplist=$($apbin -s) matchct=$(echo "$aplist" | grep "$1" | wc -l) if [[ ! "$matchct" -eq 1 ]]; then echo "Bad essid"; usage; fi echo "Found $bssid." essid=$(echo "$aplist" | grep "$1" | awk '') bssid=$(echo "$aplist" | grep "$1" | awk '') chan=$(echo "$aplist" | grep "$1" | awk '' | cut -d, -f 1) capfl="$essid.cap" if [[ -f "$capfl" ]]; then read -p "'$capfl' exists. Overwrite? [y/N] " ow case $ow in [nN][oO]|'') echo "Canceled" exit ;; *) rm -f "$capfl" ;; esac fi echo "Dissociating airport and tuning to channel $chan..." $apbin -z -c $chan &>/dev/null echo "Waiting for handshake packets..." tcpdump "(type mgt subtype assocreq or ether proto 0x888e) and ether host $bssid" -U -i en0 -I -c 5 -w $capfl &>/dev/null echo "Exiting." echo "You may try running:" echo "aircrack-ng -w $capfl"
(Wenn Sie aircrack-ng unter Mac OS X ausführen möchten, können Sie es über Homebrew mit installieren brew install aircrack-ng
.)
Wenn er nicht bereits unterstützt wird, sollte dieser Treiber möglicherweise gepatcht werden (unter Linux und Mac), um beliebige Deauth-Frames zu senden und die allgemeine Paketinjektion zu unterstützen.
Apples Treiber-Binärcode basiert auf dem in Linux verwendeten proprietären Broadcom-Treiber. dh sie haben die gleichen Kernroutinen, einschließlich dieser, im vereinfachten Pseudocode:
wlc_senddeauth(ctx, arg2, arg3, arg4, arg5, arg6) { int err, len, mi; int temp_out; len = wlc_iem_calc_len(*(ctx+0x858), arg2, 0xc0, 0, 0); mi = wlc_frame_get_mgmt_int(ctx, 0xc0, arg4, arg6, 0, len+2, &temp_out, 0); if (mi) { err = wlc_iem_build_frame(*(ctx+0x858, arg2, 0xc0, 0, 0, 2, len); assert(err == 0); temp = arg3 ? *(arg3+0x20) : 0; err = wlc_queue_80211_frag(ctx, mi, *(*(arg2+0x10)+0x18), arg3, temp, 0, 0, 0) assert(err == 0); } }
Ich denke, Sie könnten die wlc_queue_80211_frag
Parameter der Reverse-Engineering -Funktion mithilfe des Aufrufbaums der C ++ - Klasse AirPort_Brcm4360
in der Treiber-Binärdatei von Apple erstellen.
/System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortBrcm4360.kext/Contents/MacOS/AirPortBrcm4360