Guest User

derp da derp derp...some problems fixed...some created

a guest
Aug 24th, 2013
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 8.67 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #pretty stuff I want but don't need atm
  4. #ui tweaks
  5. #set desktop wallpaper
  6.  
  7. #turn off desktop icons
  8. #gsettings set org.gnome.desktop.background show-desktop-icons false
  9.  
  10. #tweak plymouth
  11.  
  12. #enable transparent top bar
  13.  
  14. #set xterm to transparent and green
  15.  
  16. #shit I need that should already be done...
  17.  
  18. #install backtrack/kali tools in mainline
  19.  
  20. #TODO
  21. #add REINSTALL variable to bypass "already tried to install checks"
  22. #checksum verification for all http fetches
  23. function enable_pi_rho(){
  24.   if [ -e "/etc/apt/sources.list.d/pi-rho-security-precise.list" ]
  25.     then
  26.       echo "Already enabled pi-rho"
  27.     else
  28.       sudo apt-add-repository ppa:pi-rho/security
  29.   fi
  30.   }
  31.  
  32. function enable_qt5(){
  33.   if [ -e "/etc/apt/sources.list.d/ubuntu-sdk-team-ppa-precise.list" ]
  34.     then
  35.       echo "Already enabled qt5"
  36.     else
  37.       sudo apt-add-repository ppa:ubuntu-sdk-team/ppa
  38.   fi
  39.   }
  40.  
  41. function enable_webupd8(){
  42.   if [ -e "/etc/apt/sources.list.d/webupd8team-sublime-text-2-precise.list" ]
  43.     then
  44.       echo "Already enabled sublime-text-2"
  45.     else
  46.       sudo apt-add-repository ppa:webupd8team/sublime-text-2
  47.   fi
  48.   }
  49.  
  50. function enable_schadenfreude(){
  51.   #I'm forking some repos and using source tracking a automated builds to make things work better
  52.   #as it should be done.  When I get all the builds migrated to automated, everything will be running
  53.   #from head.
  54.  
  55.   #For now, it's just a couple of binary tools.  Python tools don't need this because of virtualenv
  56.  
  57.   #Ruby tools don't need this because of rvm
  58.  
  59.   if [ -e "/etc/apt/sources.list.d/d-schadenfreude-007-sectools-precise.list" ]
  60.     then
  61.       echo "Already enabled schadenfreude"
  62.     else
  63.       sudo apt-add-repository ppa:d-schadenfreude-007/sectools
  64.   fi
  65.   }
  66.  
  67. function enable_per_user(){
  68.   if [ ! -d $HOME"/bin" ]
  69.     then
  70.       mkdir ~/bin
  71.   fi
  72.   }
  73.  
  74. function apt_update(){
  75.   sudo apt-get update > /dev/null
  76.   sudo apt-get upgrade -y > /dev/null
  77.   sudo apt-get dist-upgrade -y > /dev/null
  78. }
  79.  
  80. function install_dev_tools(){
  81.   sudo apt-get install -y git mercurial subversion sublime-text build-essential iw bzr-builder pbuilder debhelper > /dev/null
  82. }
  83.  
  84. function install_baseline(){
  85.   enable_per_user
  86.   enable_pi_rho
  87.   enable_qt5
  88.   enable_webupd8
  89.   enable_schadenfreude
  90.   apt_update
  91.   install_dev_tools
  92.   #this is only here for the time being.  it will be moved to the relevant function or functions eventually
  93.   sudo apt-get install -y nmap > /dev/null
  94.   sudo apt-get install -y -f nmap-data > /dev/null
  95.   sudo apt-get install -y aircrack-ng kismet amap python-distorm3 hydra nmap > /dev/null
  96.   apt_update
  97.   }
  98.  
  99.  
  100. function install_thc_tools(){
  101.   sudo apt-get install -y thc-ipv6 > /dev/null
  102.   }
  103.  
  104. function dns_packaged(){
  105.   sudo apt-get install -y dnstracer dnswalk > /dev/null
  106.   }
  107.  
  108. function install_dnsenum(){
  109.   cd ~/
  110.   mkdir recon
  111.   cd recon
  112.   wget https://dnsenum.googlecode.com/files/dnsenum-1.2.2.tar.gz
  113.   tar xvf dnsenum-1.2.2.tar.gz
  114. }
  115.  
  116. function install_w3af_deps(){
  117.   sudo apt-get install -y graphviz python2.7-dev libsqlite3-dev \
  118.     libxslt1-dev python-gtksourceview2 libxml2-dev libcairo2-dev \
  119.     python-gtk2  > /dev/null
  120.   }
  121.  
  122. function install_w3af(){
  123.   cd ~/
  124.   if [ ! -d "virtual_env/w3af" ]
  125.     then  
  126.       mkdir virtual_env
  127.       cd virtual_env
  128.       virtualenv w3af
  129.       cd w3af
  130.       source bin/activate
  131.       git clone https://github.com/andresriancho/w3af.git
  132.       pip install clamd PyGithub GitPython pybloomfiltermmap \
  133.         esmre nltk chardet pdfminer futures pyOpenSSL lxml \
  134.         scapy-real guess-language cluster msgpack-python \
  135.         python-ntlm xdot
  136.       pip install -e git+git://github.com/ramen/phply.git#egg=phply
  137.  
  138.       ln -sf /usr/lib/python2.7/dist-packages/{glib,gobject,cairo,gtk-2.0,pygtk.py,pygtk.pth,gtksourceview2.so} lib/python2.7/site-packages
  139.       deactivate
  140.   fi
  141.   }
  142.  
  143. function install_rvm(){
  144.   if grep -q "source /usr/local/rvm/scripts/rvm" ~/.bashrc
  145.     then
  146.       echo 'Already tried to install RVM'
  147.     else
  148.       echo 'source /usr/local/rvm/scripts/rvm' >> ~/.bashrc
  149.       curl -L https://get.rvm.io | sudo bash -s stable --autolibs=enabled --ruby=1.9.3
  150.       source /usr/local/rvm/scripts/rvm
  151.       sudo usermod -a -G rvm `whoami`
  152.       sg rvm -c "source /usr/local/rvm/scripts/rvm && rvm install 1.9.3-p448 && rvm --default 1.9.3-p448"
  153.       echo 'You need to logout and log back in...'
  154.       exit
  155.     fi
  156.   }
  157.  
  158. function install_metasploit_deps(){
  159.   sudo apt-get -y install \
  160.     build-essential zlib1g zlib1g-dev \
  161.     libxml2 libxml2-dev libxslt-dev locate \
  162.     libreadline6-dev libcurl4-openssl-dev git-core \
  163.     libssl-dev libyaml-dev openssl autoconf libtool \
  164.     ncurses-dev bison curl wget postgresql \
  165.     postgresql-contrib libpq-dev \
  166.     libapr1 libaprutil1 libsvn1 \
  167.     libpcap-dev > /dev/null
  168.   install_rvm
  169.   }
  170.  
  171. function configure_postgres(){
  172.   if sudo grep -q 'host    "msf_database" "msf_user"      127.0.0.1/32          md5' /etc/postgresql/9.1/main/pg_hba.conf
  173.     then
  174.       echo "Already tried to configure database"
  175.     else
  176.       sudo cp /etc/postgresql/9.1/main/pg_hba.conf /etc/postgresql/9.1/main/pg_hba.conf.old
  177.       sudo sed -i 's/host    all             all             127.0.0.1\/32            md5/host    "msf_database" "msf_user"      127.0.0.1\/32          md5\nhost     all            all            127.0.0.1\/32          ident/' /etc/postgresql/9.1/main/pg_hba.conf
  178.       sudo -u postgres createuser -l -S -D -R msf_user
  179.       sudo -u postgres psql -c "ALTER USER msf_user WITH PASSWORD 'no_password';"
  180.       sudo -u postgres createdb --owner=msf_user msf_database
  181.       sudo service postgresql restart
  182.       cd ~/metasploit-framework
  183.       cat > config/database.yml << EOF
  184. production:
  185.   adapter: postgresql
  186.   database: msf_database
  187.   username: msf_user
  188.   password: no_password
  189.   host: 127.0.0.1
  190.   port: 5432
  191.   pool: 75
  192.   timeout: 5
  193. EOF
  194.       cat > ~/.msf4/msfconsole.rc << EOF
  195. db_connect -y `pwd`/config/database.yml
  196. workspace -a Workspace
  197. EOF
  198.     fi
  199.   }
  200.  
  201. function install_metasploit(){
  202.   install_metasploit_deps
  203.   cd ~/
  204.   if [ ! -d "metasploit-framework" ]; then
  205.     git clone https://github.com/rapid7/metasploit-framework.git
  206.     echo "rvm use 1.9.3-p448@msf --create" > metasploit-framework/.rvmrc
  207.     cd metasploit-framework
  208.     gem install bundler
  209.     bundle install
  210.   fi
  211.   configure_postgres
  212.   }
  213.  
  214. function install_rapid7(){
  215.   install_w3af
  216.   install_metasploit
  217.   }
  218.  
  219. function install_armitage(){
  220.   cd ~/
  221.   if [ ! -d 'armitage' ]
  222.     then
  223.       #It's not available via https
  224.       wget http://www.fastandeasyhacking.com/download/armitage20130605.tgz > /dev/null
  225.       tar xvf armitage20130605.tgz
  226.       echo "export MSF_DATABASE_CONFIG=`pwd`/config/database.yml" >> .bashrc
  227.     else
  228.       echo "Already tried to install armitage"
  229.   fi      
  230.   }
  231.  
  232. function install_burp(){
  233.   cd ~/
  234.   if [ ! -d 'webapp/burp' ]
  235.     then
  236.       mkdir -p webapp/burp/burp
  237.       cd webapp/burp/burp
  238.       wget http://portswigger.net/burp/burpsuite_free_v1.5.jar
  239.       mkdir -p ../extender/burp
  240.       cd ../extender/burp
  241.       wget http://portswigger.net/burp/extender/api/burp_extender_api.zip
  242.       unzip burp_extender
  243.       mkdir ../jython
  244.       cd ../jython
  245.       wget http://search.maven.org/remotecontent?filepath=org/python/jython/2.7-b1/jython-2.7-b1.jar
  246.       cd ~/bin
  247.       cat > burp << EOF
  248. #!/bin/bash
  249. cd ~/webapp/burp/burp
  250. java -jar -Xmx1024m burpsuite_free_v1.5.jar
  251. EOF
  252.        chmod +x burp
  253.     else
  254.       echo "Already tried to get Burp suite, extender, and jython"
  255.     fi
  256.   }
  257.  
  258. function install_zap(){
  259.   echo "Zap installation not implemented"
  260.   #https://code.google.com/p/zaproxy/
  261.   echo "Extension grabbing not yet implemented"
  262.   #https://code.google.com/p/zap-extensions/downloads/list
  263.   }
  264.  
  265. function install_dns(){
  266.   dns_packaged
  267.   install_thc_tools
  268. }
  269.  
  270. function install_ids_ips(){
  271.   echo 'idsips is empty function atm'
  272. }
  273.  
  274. function install_livehost_packaged(){
  275.   sudo apt-get install -y arping > /dev/null
  276. }
  277. function install_livehost(){
  278.   install_thc_tools
  279. }
  280.  
  281. function install_webapp(){
  282.   install_w3af_deps
  283.   install_w3af
  284.   install_burp
  285.   install_zap
  286.   }
  287.  
  288. function install_stalkery_stuff(){
  289.   sudo apt-get install creepy -y > /dev/null
  290.   #Maltego - Need to hook up the download to a proxy and get a link...
  291.   #http://www.paterva.com/web6/products/download4.php
  292.   #Casefile - Need to hook up the download to a proxy and get a link...
  293.   #http://www.paterva.com/web6/products/download4.php
  294.   }
  295.  
  296. function install_net_test(){
  297.   install_metasploit
  298.   install_armitage
  299.   install_dns
  300.   }
  301.  
  302. function install_all(){
  303.   install_baseline
  304.   install_net_test
  305.   install_webapp
  306.   install_stalkery_stuff
  307.   }
  308.  
  309. install_all
Advertisement
Add Comment
Please, Sign In to add comment