Sha256: 8b265f54d1f5d69448eeb9168734f3903f20bd52a599bc2de0e6f567964a4ffa

Contents?: true

Size: 1.5 KB

Versions: 728

Compression:

Stored size: 1.5 KB

Contents

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

require 'yaml'
require 'optparse'

opts = {}
OptionParser.new do |options|
  options.banner = "USAGE:
    #{$PROGRAM_NAME} [opts]
  "

  options.on('-aACTION', '--action=ACTION', '<Required - Daemon Action start|reload|stop>') { |a| opts[:action] = a }
end.parse!

if opts.empty?
  puts `#{$PROGRAM_NAME} --help`
  exit 1
end

action = opts[:action].to_s.scrub.to_sym

def start
  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'

  msfrpcd_config = YAML.load_file("#{pwn_root}/etc/userland/#{pwn_provider}/metasploit/vagrant.yaml")
  msfrpcd_host = msfrpcd_config['msfrpcd_host'].to_s.scrub.strip.chomp
  msfrpcd_port = msfrpcd_config['port'].to_i
  msfrpcd_user = msfrpcd_config['username'].to_s.scrub.chomp # Don't strip leading space
  msfrpcd_pass = msfrpcd_config['password'].to_s.scrub.chomp # Don't strip leading space
  system("#{metasploit_root}/msfrpcd -a '#{msfrpcd_host}' -p #{msfrpcd_port} -U '#{msfrpcd_user}' -P '#{msfrpcd_pass}'")
  puts 'complete.'
end

def reload
  stop
  sleep 9
  start
end

def stop
  system("ps -ef | grep msfrpcd | grep -v grep | awk '{print $2}' | while read pid; do kill -9 $pid; done")
end

case action
when :start
  start
when :reload
  reload
when :stop
  stop
else
  puts `#{$PROGRAM_NAME} --help`
  exit 1
end

Version data entries

728 entries across 728 versions & 1 rubygems

Version Path
pwn-0.4.503 packer/daemons/msfrpcd.rb
pwn-0.4.502 packer/daemons/msfrpcd.rb
pwn-0.4.501 packer/daemons/msfrpcd.rb
pwn-0.4.500 packer/daemons/msfrpcd.rb
pwn-0.4.499 packer/daemons/msfrpcd.rb
pwn-0.4.498 packer/daemons/msfrpcd.rb
pwn-0.4.497 packer/daemons/msfrpcd.rb
pwn-0.4.496 packer/daemons/msfrpcd.rb
pwn-0.4.495 packer/daemons/msfrpcd.rb
pwn-0.4.494 packer/daemons/msfrpcd.rb
pwn-0.4.493 packer/daemons/msfrpcd.rb
pwn-0.4.492 packer/daemons/msfrpcd.rb
pwn-0.4.491 packer/daemons/msfrpcd.rb
pwn-0.4.490 packer/daemons/msfrpcd.rb
pwn-0.4.489 packer/daemons/msfrpcd.rb
pwn-0.4.488 packer/daemons/msfrpcd.rb
pwn-0.4.487 packer/daemons/msfrpcd.rb
pwn-0.4.486 packer/daemons/msfrpcd.rb
pwn-0.4.485 packer/daemons/msfrpcd.rb
pwn-0.4.484 packer/daemons/msfrpcd.rb