Sha256: 30da2930f16b9d03399694b05d7b68221ea82c07715dc7c5a2c1976a6875b529

Contents?: true

Size: 1.73 KB

Versions: 765

Compression:

Stored size: 1.73 KB

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

require 'yaml'

# Install Metasploit from Source
printf 'Installing Metasploit *****************************************************************'
if ENV.fetch('PWN_ROOT')
  pwn_root = ENV.fetch('PWN_ROOT')
elsif Dir.exist?('/pwn')
  pwn_root = '/pwn'
else
  pwn_root = Dir.pwd
end

pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.fetch('PWN_PROVIDER')

metasploit_root = '/opt/metasploit-framework-dev'
`sudo git clone https://github.com/rapid7/metasploit-framework.git #{metasploit_root}`
`sudo apt install -y libpq-dev postgresql-server-dev-all`
metasploit_ruby_version = File.readlines("#{metasploit_root}/.ruby-version")[0].to_s.scrub.strip.chomp
metasploit_gemset = File.readlines("#{metasploit_root}/.ruby-gemset")[0].to_s.scrub.strip.chomp
`
  sudo bash \
    --login \
    -c "\
      rvm install ruby-#{metasploit_ruby_version} && \
      rvm use ruby-#{metasploit_ruby_version} && \
      rvm gemset create #{metasploit_gemset} && \
      cd #{metasploit_root} && \
      gem install bundler && \
      bundle install
    "
`

printf 'Starting up MSFRPCD *******************************************************************'
vagrant_example = "#{pwn_root}/etc/userland/#{pwn_provider}/metasploit/vagrant.yaml.EXAMPLE"
vagrant_yaml = "#{pwn_root}/etc/userland/#{pwn_provider}/metasploit/vagrant.yaml"

system(
  "
    sudo bash \
      --login \
      -c 'cp #{vagrant_example} #{vagrant_yaml}'
  "
)

system(
  "
    sudo bash \
      --login \
      -c \"\
        rvm use ruby-#{metasploit_ruby_version}@#{metasploit_gemset} && \
        cp #{pwn_root}/etc/systemd/msfrpcd.service /etc/systemd/system/ && \
        systemctl enable msfrpcd.service && \
        systemctl start msfrpcd.service
      \"
  "
)

Version data entries

765 entries across 765 versions & 1 rubygems

Version Path
pwn-0.5.169 packer/provisioners/metasploit.rb
pwn-0.5.168 packer/provisioners/metasploit.rb
pwn-0.5.167 packer/provisioners/metasploit.rb
pwn-0.5.166 packer/provisioners/metasploit.rb
pwn-0.5.165 packer/provisioners/metasploit.rb
pwn-0.5.164 packer/provisioners/metasploit.rb
pwn-0.5.163 packer/provisioners/metasploit.rb
pwn-0.5.162 packer/provisioners/metasploit.rb
pwn-0.5.161 packer/provisioners/metasploit.rb
pwn-0.5.160 packer/provisioners/metasploit.rb
pwn-0.5.159 packer/provisioners/metasploit.rb
pwn-0.5.158 packer/provisioners/metasploit.rb
pwn-0.5.157 packer/provisioners/metasploit.rb
pwn-0.5.156 packer/provisioners/metasploit.rb
pwn-0.5.155 packer/provisioners/metasploit.rb
pwn-0.5.154 packer/provisioners/metasploit.rb
pwn-0.5.153 packer/provisioners/metasploit.rb
pwn-0.5.152 packer/provisioners/metasploit.rb
pwn-0.5.151 packer/provisioners/metasploit.rb
pwn-0.5.150 packer/provisioners/metasploit.rb