Sha256: 8d0671e6951ce401c3968d31e64985019e0a75fbb580722e4b4ff268ee1224f8

Contents?: true

Size: 1.47 KB

Versions: 64

Compression:

Stored size: 1.47 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['PWN_ROOT']
    pwn_root = ENV['PWN_ROOT']
  elsif Dir.exist?('/pwn')
    pwn_root = '/pwn'
  else
    pwn_root = Dir.pwd
  end

  pwn_provider = ENV['PWN_PROVIDER'] if ENV['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

64 entries across 64 versions & 1 rubygems

Version Path
pwn-0.4.407 packer/daemons/msfrpcd.rb
pwn-0.4.406 packer/daemons/msfrpcd.rb
pwn-0.4.405 packer/daemons/msfrpcd.rb
pwn-0.4.404 packer/daemons/msfrpcd.rb
pwn-0.4.403 packer/daemons/msfrpcd.rb
pwn-0.4.402 packer/daemons/msfrpcd.rb
pwn-0.4.401 packer/daemons/msfrpcd.rb
pwn-0.4.400 packer/daemons/msfrpcd.rb
pwn-0.4.399 packer/daemons/msfrpcd.rb
pwn-0.4.398 packer/daemons/msfrpcd.rb
pwn-0.4.396 packer/daemons/msfrpcd.rb
pwn-0.4.394 packer/daemons/msfrpcd.rb
pwn-0.4.393 packer/daemons/msfrpcd.rb
pwn-0.4.391 packer/daemons/msfrpcd.rb
pwn-0.4.390 packer/daemons/msfrpcd.rb
pwn-0.4.389 packer/daemons/msfrpcd.rb
pwn-0.4.388 packer/daemons/msfrpcd.rb
pwn-0.4.387 packer/daemons/msfrpcd.rb
pwn-0.4.386 packer/daemons/msfrpcd.rb
pwn-0.4.385 packer/daemons/msfrpcd.rb