summaryrefslogtreecommitdiffstats
path: root/recon/inspector_wifi/inspector_wifi
diff options
context:
space:
mode:
Diffstat (limited to 'recon/inspector_wifi/inspector_wifi')
-rwxr-xr-xrecon/inspector_wifi/inspector_wifi122
1 files changed, 122 insertions, 0 deletions
diff --git a/recon/inspector_wifi/inspector_wifi b/recon/inspector_wifi/inspector_wifi
new file mode 100755
index 00000000..a13ecd3d
--- /dev/null
+++ b/recon/inspector_wifi/inspector_wifi
@@ -0,0 +1,122 @@
+#!/bin/sh
+# Usage; sudo iwlist wlan0 scan | ./inspector_wifi
+#
+#
+# set -eu
+
+cd "$(dirname "$(readlink -f "$0")")"
+
+usage(){
+ echo '-h show this help'
+ echo '-w output in wpa_supplicant.conf format'
+ echo '-n normal output message'
+ echo ''
+ echo 'Example: iwlist wlan0 scan | ./inspector_wifi -w'
+
+ exit 0
+}
+
+crack_wifi(){
+ for i in plugins/*;do
+ if RET=$(./$i "$@" 2>/dev/null);then
+ if [ ! -z wpa_sup ]; then
+ make_config $@ $RET
+ else
+ echo "$@ - with crack $i succeeded - Key is $RET"
+ fi
+ fi
+ done
+}
+
+make_config(){
+ cat<<EOF
+network={
+ ssid="$1"
+ psk="$5"
+}
+EOF
+
+}
+
+shell_escape(){
+ sed 's/./\\&/g'
+}
+remove_quotes(){
+ sed 's/^"\|"$//g'
+}
+
+
+iwlist_scan_parser(){
+ count=0
+ while read line;
+ do
+ case "$line" in
+
+ *"Cell "*)
+ if [ $count -ne 0 ];then
+ crack_wifi "$ESSID" $MAC $CHANNEL any_encryption
+ fi
+ WPA=0
+ WPA2=0
+ : $((count+=1))
+ MAC=${line#*Address: }
+ ;;
+ *Channel:*)
+ CHANNEL=${line#*:}
+ ;;
+ *Quality=*)
+ QUALITY="`printf '%s' ${line#*Quality=} | cut -d/ -f 1`"
+ ;;
+ *"Encryption key:"*)
+ ENCRYPTION=${line#*key:}
+ ;;
+ *ESSID:*)
+ ESSID=$(echo "${line#*ESSID:}" | remove_quotes)
+ ;;
+ *"IE: IEEE 802.11i/WPA2"*)
+ WPA2=1
+ ;;
+ *"IE: WPA Version 1"*)
+ WPA=1
+ ;;
+ *);; #important, do not delete!
+ esac
+ done;
+ crack_wifi "$ESSID" $MAC $CHANNEL any_encryption
+ #echo WIFI_COUNT=$count
+}
+
+
+loop_networks(){
+ for i in `seq 1 $WIFI_COUNT`; do
+ loop_over_cracks "$i"
+ done
+}
+
+wifi_init(){
+ iwlist_scan_parser
+}
+
+print_wpa_supplicant(){
+ echo "args $@"
+}
+
+
+if [ $# -eq 0 ]; then
+ usage
+fi
+
+while getopts wn OPT; do
+ case "$OPT" in
+ w)
+ wpa_sup=1
+ ;;
+ n)
+ ;;
+ \?)
+ usage
+ ;;
+ esac
+done
+
+iwlist_scan_parser