Module: Msf::Exploit::VBSObfuscate

Defined in:
lib/msf/core/exploit/vbsobfuscate.rb

Overview

VBS obfuscation library wrapper for Rex::Exploitation::VBSObfuscate

Instance Method Summary collapse

Instance Method Details

#initialize(info = {}) ⇒ Object



8
9
10
11
12
13
# File 'lib/msf/core/exploit/vbsobfuscate.rb', line 8

def initialize(info = {})
  super
  register_advanced_options([
    OptInt.new('VbsObfuscate', [false, 'Number of times to obfuscate VBS', 1]),
  ])
end

#vbs_obfuscate(vbs, opts = {}) ⇒ ::Rex::Exploitation::VBSObfuscate

Returns an VBSObfuscate object. A wrapper of ::Rex::Exploitation::VBSObfuscate.new(vbs).obfuscate!

Parameters:

  • vbs (String)

    VBS code

  • opts (Hash) (defaults to: {})

    obfuscation options

    • :iterations [FixNum] Number of times to obfuscate

    • :normalize_whitespace [Boolean] normalize line endings and strip leading/trailing whitespace from each line (true)

    • :dynamic_execution [Boolean] dynamically execute obfuscated code with Execute (true)

Returns:

  • (::Rex::Exploitation::VBSObfuscate)


25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/msf/core/exploit/vbsobfuscate.rb', line 25

def vbs_obfuscate(vbs, opts = {})
  iterations = (opts[:iterations] || datastore['VbsObfuscate']).to_i
  normalize_whitespace = opts[:normalize_whitespace].blank? || opts[:normalize_whitespace]
  dynamic_execution = opts[:dynamic_execution].blank? || opts[:dynamic_execution]

  vbs_obfuscate = ::Rex::Exploitation::VBSObfuscate.new(vbs)
  vbs_obfuscate.obfuscate!(
    iterations: iterations,
    normalize_whitespace: normalize_whitespace,
    dynamic_execution: dynamic_execution
  )
  vbs_obfuscate
end