Advertisement
phillips321

gt-update.sh version 0.3

Mar 8th, 2011
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.86 KB | None | 0 0
  1. #!/bin/bash
  2. #__________________________________________________________
  3. # Authors:      noes!s (blaksark@gmail.com)
  4. #       phillips321 (forum.gnacktrack.co.uk)
  5. # License:      CC BY-SA 3.0
  6. # Use:          Update several applications on gnacktracl
  7. # Released:     www.gnacktrack.co.uk
  8. #__________________________________________________________
  9.  
  10. v="0.3" #March/2011
  11. #Fixed Armitage updater
  12. # v0.3 - formatted layout with indentation and function names
  13. # - Add new APPs to this list.
  14. # - The TOP is 25 Updates.
  15. # - DO NOT USE spaces for the names.
  16. # - Update the full_updates_list (at the end of this list)
  17.  
  18. LIST(){
  19. n1=Framework3 ; upd1() { svn up /pentest/exploits/framework3/ ;}
  20. n2=w3af ; upd2() { svn up /pentest/web/w3af/ ;}
  21. n3=ExploitDB ; upd3() { svn up /pentest/exploits/exploitdb ;}
  22. n4=OpenVAS ; upd4() { openvas-nvt-sync ;}
  23. n5=SET ; upd5() { cd /pentest/exploits/SET/ ; ./set-update ;}
  24. n6=FastTrack ; upd6() { cd /pentest/exploits/fasttrack/ ; ./fast-track.py -c 1 1 ;}
  25. n7=Wifite ; upd7() { /pentest/wireless/wifite.py --update ;}
  26. n8=BlindElephant ; upd8() { cd /pentest/web/blindelephant/ ; svn up; cd src; python setup.py install ;}
  27. n9=SQLMap ; upd9() { svn up /pentest/database/sqlmap/ ;}
  28. n10=Beef ; upd10() { svn up /var/www/beef/ ; ruby install.rb ;}
  29. n11=Middler ; upd11() { svn up /pentest/spoofing/middler/ ;}
  30. n12=PentBox ; upd12() { svn up /pentest/exploits/pentbox/ ;}
  31. n13=Nikto  ; upd13() { cd /pentest/web/nikto/ ; svn up ; ./nikto.pl -update ;}
  32. n14=Arachni ; upd14() { cd /pentest/scanners/arachni/ ; git pull; rake install ;}
  33. n15=Nessus ; upd15() { /opt/nessus/sbin/nessus-update-plugins ;}
  34. n16=Framework2 ; upd16() { svn up /pentest/exploits/framework2/ ;}
  35. n17=Hostmap ; upd17() { svn up /pentest/enumeration/dns/hostmap/ ;}
  36. n18=Kismet ; upd18() { cd /pentest/wireless/kismet-newcore/ ; svn up ; ./configure && make dep && make && make install  ;}
  37. n19=Armitage ; upd19() { cd /pentest/exploits/armitage ; svn up; ./package.sh  ;}
  38. ### IF YOU ADD SOMETHING THEN ADD IT TO THE FULL_UPDATES_LIST section
  39. }
  40.  
  41. FULL_UPDATES_LIST(){ upd1; upd2; upd3; upd4; upd5; upd6; upd7; upd8; upd9; upd10; upd11; upd12; upd13; upd14; upd15; upd16; upd17; upd18; upd19; }
  42.  
  43. pause() {   # [1:timeout] [2:prompt]
  44.     local P T
  45.     [[ $1 =~ ^[0-9]+$ ]] && { T=$1; shift; }
  46.     P=${1:-Hit any key...}
  47.      echo -n "$P " >&2
  48.      if ((T))
  49.      then   for ((P=$T; P>0; P--))
  50.         do  read -sn 1 -p "($P) " -t 1 && break
  51.             tput cub $((${#P}+3))
  52.         done
  53.     else
  54.         read -sn 1
  55.     fi
  56.     echo >&2
  57.     return
  58. }
  59.  
  60. UPD_MENU(){
  61.     # UPD Functions
  62.     cfgmsg() { echo; echo -e "\e[32mUpdating $upd...\e[m\n";}
  63.     okmsg() { intromsg ; echo -e "\e[32m$upd updated!\e[m" ; $line; upd_menu ; break; }
  64.  
  65.     X=`echo -e '\e[37m<<               \e[m'`
  66.     ALL=`echo -e '\e[33mALL\e[m'`
  67.     upd_list=("$X" $n1 $n2 $n3 $n4 $n5 $n6 $n7 $n8 $n9 $n10 "$ALL" $n11 $n12 $n13 $n14 $n15 $n16 $n17 $n18 $n19 $n20 $n21 $n22 $n23 $n24 $n25 )
  68.  
  69.     upd_menu() {
  70.         select upd in "${upd_list[@]}"
  71.         do
  72.             case $upd in
  73.                 "$X") intromsg; exit_tip; opt_menu; break;;
  74.                 "$ALL") cfgmsg; FULL_UPDATES_LIST; pause 3 ; okmsg;;
  75.                 "$n1") check; cfgmsg; upd1; pause 3 ; okmsg;;
  76.                 "$n2") check; cfgmsg; upd2; pause 3 ; okmsg;;
  77.                 "$n3") check; cfgmsg; upd3; pause 3 ; okmsg;;
  78.                 "$n4") check; cfgmsg; upd4; pause 3 ; okmsg;;
  79.                 "$n5") check; cfgmsg; upd5; pause 3 ; okmsg;;
  80.                 "$n6") check; cfgmsg; upd6; pause 3 ; okmsg;;
  81.                 "$n7") check; cfgmsg; upd7; pause 3 ; okmsg;;
  82.                 "$n8") check; cfgmsg; upd8; pause 3 ; okmsg;;
  83.                 "$n9") check; cfgmsg; upd9; pause 3 ; okmsg;;
  84.                 "$n10") check; cfgmsg; upd10; pause 3 ; okmsg;;
  85.                 "$n11") check; cfgmsg; upd11; pause 3 ; okmsg;;
  86.                 "$n12") check; cfgmsg; upd12; pause 3 ; okmsg;;
  87.                 "$n13") check; cfgmsg; upd13; pause 3 ; okmsg;;
  88.                 "$n14") check; cfgmsg; upd14; pause 3 ; okmsg;;
  89.                 "$n15") check; cfgmsg; upd15; pause 3 ; okmsg;;
  90.                 "$n16") check; cfgmsg; upd16; pause 3 ; okmsg;;
  91.                 "$n17") check; cfgmsg; upd17; pause 3 ; okmsg;;
  92.                 "$n18") check; cfgmsg; upd18; pause 3 ; okmsg;;
  93.                 "$n19") check; cfgmsg; upd19; pause 3 ; okmsg;;
  94.                 "$n20") check; cfgmsg; upd20; pause 3 ; okmsg;;
  95.                 "$n21") check; cfgmsg; upd21; pause 3 ; okmsg;;
  96.                 "$n22") check; cfgmsg; upd22; pause 3 ; okmsg;;
  97.                 "$n23") check; cfgmsg; upd23; pause 3 ; okmsg;;
  98.                 "$n24") check; cfgmsg; upd24; pause 3 ; okmsg;;
  99.                 "$n25") check; cfgmsg; upd25; pause 3 ; okmsg;;
  100.                 *) upd_invalid;;
  101.             esac
  102.         done
  103.     }
  104. }
  105.  
  106. OPT_MENU(){
  107.     Amsg() { echo -e "\e[32m(SVN/Git updates)\e[m"; $line;}
  108.     opt1=`echo -e '\e[0;38mUpdate applications\e[m'`
  109.     XX=`echo -e '\e[37m<<Exit                               \e[m'`
  110.     OPTS=("$XX" "$opt1")
  111.     opt_menu() {
  112.         select opt in "${OPTS[@]}"
  113.         do
  114.             case $opt in
  115.                 "$XX") cd $startdir; break;;
  116.                 "$opt1") intromsg; Amsg; upd_menu; break;;
  117.                 *) invalid; opt_menu; break;;
  118.             esac
  119.         done
  120.     }
  121. }
  122.  
  123. VARIABLES(){
  124.     startdir=`pwd`
  125.     line="echo -e \e[1;30m________________________________________\e[m"
  126. }
  127.  
  128. FUNCTIONS(){
  129.     intromsg() { clear; echo -e "\e[1;37mGnacktrack\e[31mR6\e[0;34m Updater\e[30m $v\e[m\n";}
  130.     exit_tip() { echo -e "\e[32m(Press CTRL+C to exit)\e[m"; $line;}
  131.     invalid() { clear; intromsg; echo -e "\e[33mInvalid Option!\e[m"; $line;}
  132.     upd_invalid() { clear; intromsg; echo -e "\e[33mInvalid Option!\e[m"; $line; upd_menu; break;}
  133.     check() { if [ "$upd" = "" ]; then \ ;upd_invalid; fi;}
  134. }
  135.  
  136. main(){
  137.     # Check root permissions
  138.     if [ ${UID} -ne 0 ]
  139.     then
  140.         intromsg
  141.         echo -e \ "\e[1;31m ERROR: This script has to be run with root permissions.\e[m\n"
  142.         exit 1
  143.     fi
  144.  
  145.     # Check/install dependencies
  146.     depmsg () { intromsg; echo -e '\e[1;33m Installing dependencies...\e[m\n'; }
  147.     if [ "$(which svn)" = "" ] ; then \ ;depmsg; apt-get install -y -qq subversion
  148.     elif [ "$(which git)" = "" ] ; then \ ;depmsg; apt-get install -y -qq git; fi
  149.  
  150.     # Intro menu
  151.     intromsg; exit_tip
  152.     PS3=`echo -e '\e[0;30mChoose an option: \e[m'`
  153.     opt_menu
  154. }
  155.  
  156. VARIABLES
  157. FUNCTIONS
  158. LIST
  159. OPT_MENU
  160. UPD_MENU
  161. main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement