Advertisement
phillips321

gt-update.sh version 0.5

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