📄 airoscfunc.sh
字号:
#!/bin/bash# Funcion file used by airoscriptCHOICES="1 2 3 4 5 6 7 8 9 10 11 12"export TEXTDOMAINDIR=/usr/share/localeexport TEXTDOMAIN=airoscriptif [ "$UNSTABLE" = "1" ]; then if [ -e $UNSTABLEF ]; then . $UNSTABLEF fifiif [ "$EXTERNAL" = "1" ]; then if [ -e $EXTF ]; then . $EXTF fififunction menu { echo -e "`gettext ' _________________Menu________________ ## Select next action ## ## 1) Scan - Scan for target ## ## 2) Select - Select target ## ## 3) Attack - Attack target ## ## 4) Crack - Get target key ## ## 5) Fakeauth- Auth with target ## ## 6) Deauth - Deauth from target ## ## 7) Others - Various utilities ## ## 8) Inject - Jump to inj. menu ## ## 9) Auto - Does 1,2 and 3 ## ## 10) Exit - Quits ##'`"if [ "$UNSTABLE" = "1" ]; then echo "`gettext ' ## 11) Unstable- Not well tested ##'`" echo -e "`gettext ' ##__________________________________##\n'`"else echo -e "`gettext ' ##__________________________________##\n'`"fi echo ""}############################################################################################################################################################################################# This is for SCAN (1) option: ###############################################################################################################################################################################################function choosetype {while true; do $CLEAR echo -e -n "`gettext '____________Encryption_______________## Select AP specification #### #### 1) No filter #### 2) OPN (open) #### 3) WEP #### 4) WPA #### 5) WPA1 #### 6) WPA2 #### 7) Return to main menu ####_________________________________##Option number: ' `" read yn case $yn in 1 ) ENCRYPT="" ; choosescan; break ;; 2 ) ENCRYPT="OPN" ; choosescan; break ;; 3 ) ENCRYPT="WEP" ; choosescan; break ;; 4 ) ENCRYPT="WPA" ; choosescan; break ;; 5 ) ENCRYPT="WPA1" ; choosescan; break ;; 6 ) ENCRYPT="WPA2" ; choosescan; break ;; 7 ) break;; * ) echo `gettext 'Unknown response. Try again'` ;; esacdone }function choosescan {while true; do echo -e -n " `gettext ' || || \/ ______________Channel________________ ## Select channel to use ## ## ## ## 1) Channel Hopping ## ## 2) Specific channel(s) ## ##_________________________________## Option number:'`" read yn case $yn in 1 ) Scan;break;; 2 ) Scanchan;break;; * ) echo -e "\n `gettext \"Unknown response. Try again\"`" ;; esacdone } #Subproducts of choosescan. function Scan { $CLEAR rm -rf $DUMP_PATH/dump* $CDCMD $TERMINAL $HOLD $TITLEFLAG "`gettext 'Scanning for targets'`" $TOPLEFTBIG $BGC $BACKGROUND_COLOR $FGC $DUMPING_COLOR $EXECFLAG $AIRODUMP -w $DUMP_PATH/dump --encrypt $ENCRYPT -a $WIFI } function Scanchan { echo -e "\n `gettext ' || || \/ _____________Channel Input___________ ## Please input channel ## ## ## ## You can insert: ## ## A single number 6 ## ## A range 1-5 ## ## Multiple channels 1,1,2,5-7,11 ## ##_________________________________## '`" read channel_number echo -e "`gettext \"You typed: $channel_number\"`" set -- ${channel_number} $CLEAR rm -rf $DUMP_PATH/dump* monmode $WIFI $channel_number $CDCMD $TERMINAL $HOLD $TITLEFLAG "`gettext 'Scanning for targets on channel'` $channel_number" $TOPLEFTBIG $BGC $BACKGROUND_COLOR $FGC $DUMPING_COLOR $EXECFLAG $AIRODUMP -w $DUMP_PATH/dump --channel $channel_number --encrypt $ENCRYPT -a $WIFI }############################################################################################################################################################################################# This is for SELECT (2) option: ##########################################################################################################################################################################################################function Parseforap { i=0 ap_array=`cat $DUMP_PATH/dump-01.csv | grep -a -n Station | awk -F : '{print $1}'` head -n $ap_array $DUMP_PATH/dump-01.csv &> $DUMP_PATH/dump-02.csv $CLEAR echo -e "`gettext \"\\tDetected Access point list\"`\n" echo -e "`gettext \"#\\t\\tMAC\\t\\tCHAN\\tSECU\\tPOWER\\t#CHAR\\t\\tSSID\"`\n" while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do longueur=${#MAC} if [ $longueur -ge 17 ]; then i=$(($i+1)) echo -e " "$i")\t"$MAC"\t"$CHANNEL"\t"$PRIVACY"\t"$POWER"\t"$IDLENGTH"\t"$ESSID aidlenght=$IDLENGTH assid[$i]=$ESSID achannel[$i]=$CHANNEL amac[$i]=$MAC aprivacy[$i]=$PRIVACY aspeed[$i]=$SPEED fi done < $DUMP_PATH/dump-02.csv echo -e -n "`gettext 'Select target: '`" read choice idlenght=${aidlenght[$choice]} ssid=${assid[$choice]} channel=${achannel[$choice]} mac=${amac[$choice]} privacy=${aprivacy[$choice]} speed=${aspeed[$choice]} Host_IDL=$idlength Host_SPEED=$speed Host_ENC=$privacy Host_MAC=$mac Host_CHAN=$channel acouper=${#ssid} fin=$(($acouper-idlength)) Host_SSID=${ssid:1:fin}}function choosetarget {while true; do echo -n -e "`gettext ' ___________Client selection__________ ## Do you want to select a client? ## ## ## ## 1) Yes, only associated ## ## 2) No i dont want to ## ## 3) Try to detect some ## ## 4) Yes show me the clients ## ## 5) Correct the SSID first ## ##_________________________________## Option: '`" read yn case $yn in 1 ) listsel2 ; break ;; 2 ) break ;; 3 ) clientdetect && clientfound ; break ;; 4 ) askclientsel ; break ;; 5 ) Host_ssidinput && choosetarget ; break ;; #Host_ssidinput is called from many places, not putting it here. * ) echo -e "`gettext \"Unknown response. Try again\"`"; sleep 1; $CLEAR ;; esacdone } # Those are subproducts of choosetarget. # List clients, (Option 1) function listsel2 { HOST=`cat $DUMP_PATH/dump-01.csv | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -a -v $Host_MAC` echo -e "`gettext ' || || \/ ___________Client selection_________ ## ## ## Select client now ## ## These clients are connected to ## ## $Host_SSID ## ##_________________________________##'`" select CLIENT in $HOST; do export Client_MAC=` echo $CLIENT | awk '{ split($1, info, "," ) print info[1] }' ` break; done } # This way we detect clients. (Option 3) function clientdetect { $iwconfig $WIFICARD channel $Host_CHAN capture & deauthall & menufonction # Those functions are used from many others, so I dont let them here, they'll be independent. } function clientfound { while true; do echo -e "`gettext ' || || \/ ____________Client selection_________ ## Did you find desired client? ## ## ## ## 1) Yes, someone associated ## ## 2) No, no clients showed up ## ##_________________________________##'`" read yn case $yn in 1 ) listsel3 ; break ;; 2 ) break ;; * ) echo -e "`gettext \"Unknown response. Try again\"`" ;; esac done } function listsel3 { HOST=`cat $DUMP_PATH/$Host_MAC-01.txt | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -a -v $Host_MAC` echo -e "`gettext \" || || \/ __________Client selection__________ ## ## ## Select client now ## ## These clients are connected to ## ## $Host_SSID ## ## ## ##_________________________________##\"`" select CLIENT in $HOST; do export Client_MAC=` echo $CLIENT | awk '{ split($1, info, "," ) print info[1] }' ` break; done } # Show clientes (Option 4) function askclientsel { while true; do $CLEAR echo -n "`gettext ' ___________Client selection_________ ## Select next step ## ## ## ## 1) Detected clients ## ## 2) Manual Input ## ## 3) Associated client list ## ## ## ##________________________________## Option: '`" read yn echo "" case $yn in 1 ) asklistsel ; break ;; 2 ) clientinput ; break ;; 3 ) listsel2 ; break ;; * ) echo -e "`gettext 'Unknown response. Try again'`" ;; esac done } function asklistsel { while true; do $CLEAR echo -n -e "`gettext \" || || \/ ____________Client selection_________ ## Select next step ## ## ## ## 1) Clients of $Host_SSID ## ## 2) Full list (all MACs) ## ##_________________________________## Option: \"`" if [ "$Host_SSID" = $'\r' ] then Host_SSID="`gettext \"No SSID has been detected!\"`" fi echo "" read yn case $yn in 1 ) listsel2 ; break ;; 2 ) listsel1 ; break ;; * ) echo -e "`gettext \"Unknown response. Try again\"`" ;; esac done } function listsel1 { HOST=`cat $DUMP_PATH/dump-01.csv | grep -a "0.:..:..:..:.." | awk '{ print $1 }'| grep -a -v 00:00:00:00` echo -e -n "`gettext ' || || \/ _________Client selection____________ ## ## ## Select client now ## ##_________________________________## Option: '`" select CLIENT in $HOST; do export Client_MAC=` echo $CLIENT | awk '{ split($1, info, "," ) print info[1] }' ` break; done } function clientinput { echo -e "`gettext ' || || \/ __________Client selection___________ ## ## ## Type in client mac now ## ##_________________________________## MAC: '`" read Client_MAC set -- ${Client_MAC} } ############################################################################################################################################################################################# This is for ATTACK (3) option: #############################################################################################################################################################################################function witchattack { if [ "$Host_ENC" = " WEP " ] || [ "$Host_ENC" = "WEP" ] then monitor_interface2 attackwep elif [ "$Host_ENC" = " WPA " ] || [ "$Host_ENC" = "WPA" ] then monitor_interface2 attackwpa else attackopn fi } # If encryption detected... function monitor_interface2 { if [ "$TYPE" = "RalinkUSB" ] then IS_MONITOR=`$AIRMON start $WIFICARD $Host_CHAN |grep monitor` $iwconfig $WIFICARD mode monitor channel $Host_CHAN echo $IS_MONITOR elif [ "$TYPE" = "Ralinkb/g" ] then IS_MONITOR=`$AIRMON start $WIFICARD $Host_CHAN |grep monitor` echo $IS_MONITOR iwpriv $WIFICARD rfmontx 1 iwpriv $WIFICARD forceprism 1 elif [ "$DRIVER" = "PCI" ] then IS_MONITOR=`$AIRMON start $WIFICARD $Host_CHAN |grep monitor` echo $IS_MONITOR iwpriv $WIFICARD rfmontx 1 iwpriv $WIFICARD forceprism 1 elif [ "$TYPE" = "Atherosmadwifi-ng" ] then #IS_MONITOR=`$AIRMON start wifi0 $Host_CHAN |grep monitor` #$AIRMON stop ath0 #echo $IS_MONITOR echo -e "`gettext \"Atheros device, not spamming another one => Doing nothing\"`" elif [ "$DRIVER" = "zd1211rw_mac80211" ] then #IS_MONITOR=`$AIRMON start $WIFICARD $Host_CHAN |grep monitor` #echo $IS_MONITOR echo -e `gettext 'mac80211 device, not spamming another one => Doing nothing'` else IS_MONITOR=`$AIRMON start $WIFICARD $Host_CHAN |grep monitor` echo -e "`gettext \"Running standard monitor mode command\"`" echo $IS_MONITOR fi } # If wep function attackwep { while true; do $CLEAR echo -e -n "`gettext ' ___________WEP ATTACKS________________ ## Attacks not using a client ## ## ## ## 1) Fake auth => Automatic ## ## 2) Fake auth => Interactive ## ## 3) Fragmentation attack ## ## 4) Chopchop attack ## ## 5) Cafe Latte attack ## ## 6) Hirte attack ## ##__________________________________## ## ## ## Attacks using a client ## ## ## ## 7) ARP replay => Automatic ## ## 8) ARP replay => Interactive ## ## 9) Fragmentation attack ## ## 10) Frag. attack on client ## ## 11) Chopchop attack ## ##__________________________________## ## ## ## Injection if xor file generated ## ## ## ## 12) ARP inject from xor (PSK) ## ## 13) Return to main menu ## ##__________________________________## Option: '`" read yn echo "" case $yn in
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -