module Rex::Exploitation::Powershell

Public Class Methods

make_subs(script, subs) click to toggle source

Insert substitutions into the powershell script If script is a path to a file then read the file otherwise treat it as the contents of a file

@param script [String] Script file or path to script @param subs [Array] Substitutions to insert

@return [String] Modified script file

# File lib/rex/exploitation/powershell.rb, line 32
def self.make_subs(script, subs)
  if ::File.file?(script)
    script = ::File.read(script)
  end

  subs.each do |set|
    script.gsub!(set[0], set[1])
  end

  script
end
process_subs(subs) click to toggle source

Return an array of substitutions for use in make_subs

@param subs [String] A ; seperated list of substitutions

@return [Array] An array of substitutions

# File lib/rex/exploitation/powershell.rb, line 50
def self.process_subs(subs)
  return [] if subs.nil? or subs.empty?
  new_subs = []
  subs.split(';').each do |set|
    new_subs << set.split(',', 2)
  end

  new_subs
end
read_script(script_path) click to toggle source

Reads script into a PowershellScript

@param script_path [String] Path to the Script File

@return [Script] Powershell Script object

# File lib/rex/exploitation/powershell.rb, line 19
def self.read_script(script_path)
  Rex::Exploitation::Powershell::Script.new(script_path)
end