Path: blob/master/lib/msf/core/exploit/vbsobfuscate.rb
23593 views
# -*- coding: binary -*-12require 'rex/exploitation/vbsobfuscate'34module Msf5# VBS obfuscation library wrapper for Rex::Exploitation::VBSObfuscate6module Exploit::VBSObfuscate7def initialize(info = {})8super9register_advanced_options([10OptInt.new('VbsObfuscate', [false, 'Number of times to obfuscate VBS', 1]),11])12end1314#15# Returns an VBSObfuscate object. A wrapper of ::Rex::Exploitation::VBSObfuscate.new(vbs).obfuscate!16#17# @param vbs [String] VBS code18# @param opts [Hash] obfuscation options19# * :iterations [FixNum] Number of times to obfuscate20# * :normalize_whitespace [Boolean] normalize line endings and strip leading/trailing whitespace from each line (true)21# * :dynamic_execution [Boolean] dynamically execute obfuscated code with Execute (true)22# @return [::Rex::Exploitation::VBSObfuscate]23#24def vbs_obfuscate(vbs, opts = {})25iterations = (opts[:iterations] || datastore['VbsObfuscate']).to_i26normalize_whitespace = opts[:normalize_whitespace].blank? || opts[:normalize_whitespace]27dynamic_execution = opts[:dynamic_execution].blank? || opts[:dynamic_execution]2829vbs_obfuscate = ::Rex::Exploitation::VBSObfuscate.new(vbs)30vbs_obfuscate.obfuscate!(31iterations: iterations,32normalize_whitespace: normalize_whitespace,33dynamic_execution: dynamic_execution34)35vbs_obfuscate36end37end38end394041