Microsoft Inter防DDoSnet Explorer 11零日-墨者安全-墨者盾
DDOS防御_CC防护_高防CDN服务器_【墨者安全】—墨者盾墨者盾—你的网站贴身保镖!
QQ:800185041
高防免费接入:400-0797-119

渠道合作:156 2527 6999

主页 > 行业资讯 > Microsoft Inter防DDoSnet Explorer 11零日

Microsoft Inter防DDoSnet Explorer 11零日

小墨安全管家 2020-11-22 23:32 行业资讯 89 ℃
DDoS防御

7月6日,有消息称,意大利黑客团队公司本身算是一次网络攻击的受害者。在这次泄密之后,Vectra的研究人员分析了泄露的数据,并发觉了Internet Explorer 11中一具往常未知的漏洞,该漏洞会阻碍Windows 7和Windows 8.1上彻底修补的IE 11。当我们注意到一位外部研究人员的电子邮件试图向黑客团队出售概念验证漏洞时,便开始了对该漏洞的搜索。该邮件于2015年6月2日发出,并描述了在Internet Explorer 11中浮上免费错误后可利用的漏洞。尽管黑客团队最后来拒绝购买PoC漏洞,但这封电子邮件提供了脚够的信息,让Vectra的研究人员找到并分析脆弱性。而黑客团队拒绝购买PoC漏洞,研究人员有大概去其他地点出售,意味着它大概在野生的。严峻的高版本AffectedInternetExplorer 11.0.9600.17631/11.0.16以及往常版本的IE11.overview该漏洞是一具可利用的免费使用(UAF)漏洞,该漏洞发生在JScript 9 JIT的自定义堆中。由于该漏洞存在于自定义堆中,所以攻击者能够绕过内存爱护技术供应商StatusMicrosoft于2015年7月9日收到通知解决方案Microsoft已于7月14日公布了此漏洞的修复程序,2015年和更多信息,DDoS防御,请访咨询https://technet.microsoft.com/en-us/library/security/ms15-065.aspx。我们建议用户尽快应用此更新大概。技术性的分析当认真阅读黑客团队的垃圾堆时,我们遇到了一具电子邮件交流,CC防御,其中一具人试图零日出售HT。对话片段如下(经过google translate):"""您是否有机遇对在Win7和win8.1上运行的IE11的PoC(DEP违规)更新感兴趣?研究人员不应该提到操纵程序的执行力是能够操纵的。假如我们进一步查看电子邮件链,我们会发觉POC和HT的一名职员差不多上讲它看起来特别有味,免费后也能够使用,但差不多上看起来特别难。"我用fast poc sent做了一些测试,一目了然:>>-惟独IE11的崩溃了>-听起来特别有味,EIP和EAX的值,应该是免费使用的>-poc包含了大约80个Sun的突变,是Rosario的poc旧风格,这算是为啥全然缘由>分析和利用看起来并不微不脚道。"我们对崩溃的细节特别好奇,下载了PoC(803C696C.94C798F2.131_2.html),并从研究人员的fuzzer中删除了所有无关的工件。结果如下。我们的咨询题是——那个bug是免费的依旧其他的?让我们进入调试器并找出答案!(注意,偏移量大概会有所不同,因为输出来自多个调试会话)假如我们打开GFLAGS并将此文件加载到带有windbg的IE11中,我们会看到那个特别有希翼的崩溃(334.b28):访咨询冲突-代码c000005(第一次机遇)在任何异常处理之前都会报告第一次机遇异常。能够预料到并处理此异常。EB047E047Eb0=06047e0e0=Eb0=06047e0e0=Eb0=0607e0e0=Eb0=047e0e0=Eb0=0607e0e0=Eb0=Eb0=047e0bEc0=Eb0=047e0sIp0=Eb0=047e0e0=Eb0=Eb0=Eb0=0.047e0sDs0=Eb0.047EbEbEb0=0.047e0e0bEbEb0=060.047e0e0s???我们固然能够看到HT职员在坠机时对EAX和EIP的看法。当时,我们调用堆栈的顶部是如此的:028ec510 660082cd 02409d20 0000000 3 03416f30 0x33e0000 028ec560 66008a05 0000000 3 028ec6ec ffab2388 jscript 9!Js::JavascriptFunction::CallFunction+0x91(FPO:[Non-FPO])028ec5d4 6600893f 01cd50f0 0000000 3 028ec6ec jscript 9!Js::JavascriptFunction::CallRootFunction+0xc1(FPO:[非FPO])028ec61c 660088bf 028ec644 0000000 3 028ec6ec jscript 9!ScriptSite::CallRootFunction+0x42(FPO:[非FPO])028ec64c 6600d0f0 02409d20 028ec674 00000000 jscript 9!足本站点::执行+0x61(FPO:[非FPO])028ec6a8 6600d02c 0000000 3 028ec6ec 00000000 jscript 9!ScriptEngineBase::ExecuteInternal+0xbb(FPO:[Non-FPO])028ec6c0 66e32258 01d1ad10 02409d20 0000000 3 JScript 9!ScriptEngineBase::执行+0x1c(FPO:[非FPO])028ec700 66e32166 006eafa8 00000000000000000000 MSHTML!cMationObserver::PerformMicrotaskCheckpoint+0x97(FPO:[Non-FPO])028ec784 66ed4211 006fda30 028ec79c 006eafa8 MSHTML!非服务器EC0000X8F5FPO4(非调用服务器0.068KpO4.HTML)!PerformMicrotaskCheckpoint+0x2e(FPO:[0,1,0])我们显然基本损坏了EIP,不能彻底依靠调用堆栈。我们大概应该弄清晰导致崩溃的调用堆栈实际上是啥模样。我们能够在jscript9中断!Js::JavascriptFunction::CallFunction来完成这项工作。此断点被多次命中。最终一次,我们向前走,直到下一具相关的电话,如下所示。eax=06996f30 ebx=04619d20 ecx=6600c780 edx=04a8c738 esi=00000003 edi=04a8c904 eip=660082ca esp=04a8c730 ebp=04a8c778 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 JScript 9!Js::JavascriptFunction::CallFunction+0x8e:660082ca ff55f4 call dword ptr[ebp-0Ch]ss:0023:04a8c76c=6600c780 0 0:007>dt 6600c780 NativeCodeGenerator::CheckCodeGen,所以我们也许在间接调用CheckCodeGen。让我们介入。那个地点是足本9!NativeCodeGenerator即将放入JScript 9!NativeCodeGenerator::CheckCodeGenThunk。有一具对jscript9的后续调用!NativeCodeGenerator::CheckCodeGen,这么在这种事情下eax=04870000 ebx=04619d20 ecx=6600c76d edx=057aef84 esi=00000003 edi=04a8c904 eip=6600c78f esp=04a8c72c ebp=04a8c778 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 fs=003b gs=0000 efl=00000246 jscript 9!NativeCodeGenerator::CheckCodeGenThunk+0xd:6600c78f ffe0 jmp eax{04870000}那个地点是EIP损坏的地点。假如我们看一下调用堆栈的顶部04a8c728 660082cd 04619d20 0000000 3 06996f30 jscript 9!NativeCodeGenerator::CheckCodeGenThunk+0xd(FPO:[2,0,0])04a8c778 66008a05 0000000 3 04a8c904 02fd0849 jscript 9!Js::JavascriptFunction::CallFunction+0x91(FPO:[Non-FPO])04a8c7ec 6600893f 057928b8 0000000 3 04a8c904 jscript 9!Js::JavascriptFunction::CallRootFunction+0xc1(FPO:[非FPO])04a8c834 660088bf 04a8c85c 0000000 3 04a8c904 jscript 9!ScriptSite::CallRootFunction+0x42(FPO:[非FPO])04a8c864 6600d0f0 04619d20 04a8c88c 00000000 jscript 9!足本站点::执行+0x61(FPO:[非FPO])04a8c8c0 6600d02c 0000000 3 04a8c904 00000000 jscript 9!ScriptEngineBase::ExecuteInternal+0xbb(FPO:[Non-FPO])04a8c8d8 66e32258 09afcde0 04619d20 0000000 3 JScript 9!ScriptEngineBase::Execute+0x1c(FPO:[非FPO])04a8c918 66e32166 0674ecc8 00000000000000000080 MSHTML!cMationObserver::PerformMicrotaskCheckpoint+0x97(FPO:[Non-FPO])04a8c99c 66ed4211 068a6f98 04a8c9b4 0674ecc8 MSHTML!CObserverManager::InvokeObserversForCheckpoint+0x78(FPO:[Non-FPO])04a8c9ac 66f3f51e 0674ecc8 00000000008002 MSHTML!执行MicroTaskCheckpoint+0x2e(FPO:[0,1,0])04a8c9f0 667fde4a 02f3f428 04a8cabc 00008002 MSHTML!GlobalWndOnMethodCall+0x18b(FPO:[非FPO])04a8ca40 77a6c4e7 007c016e 00008002 00000000 MSHTML!GlobalWndProc+0x2e5(FPO:[非FPO])我们想懂jmpeax中EAX的那个值来自何处。让unassemble CheckCodeGenThunk 0:007>u JScript 9!NativeCodeGenerator::CheckCodeGenThunk JScript 9!NativeCodeGenerator::CheckCodeGenThunk:6600c782 55推ebp 6600c783 8bec mov ebp,esp 6600c785 ff742408 push dword ptr[esp+8]6600c789 e812ffffff调用JScript 9!NativeCodeGenerator::CheckCodeGen(6600c6a0)6600c78e 5d pop ebp 6600c78f ffe0 jmp eax 6600c791 66894daa mov word ptr[ebp-56h],cx 6600c795 e909faffff jmp JScript 9!Js::interpretterStackFrame::Process+0x9b6(6600c1a3)它也许来自jscript9的返回值!NativeCodeGenerator::CheckCodeGen。假如我们看一下IDA,有3条路径能够返回那个函数。我们需要单步执行此功能才干更好地掌握。在JScript 9处用断点重新启动程序!NativeCodeGenerator::CheckCodeGen。在崩溃前的最终一次bp命中时,我们能够设置一具新的断点并跟踪到函数的末尾。0:007>bc*0:007>bp JScript 9!NativeCodeGenerator::CheckCodeGen+CD 0:007>pa eax=07416f30 ebx=05209d20 ecx=6600c780 edx=0541c558 esi=00000003 edi=0541c724 eip=6600c6a2 esp=0541c53c ebp=0541c548 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 JScript 9!NativeCodeGenerator::CheckCodeGen+0x2:6600c6a2 b8e9b72166 mov eax,偏移量JScript 9!0506419EBIST0=05419EBISC0=05419EBESIp=0506083EBISC0=05081EBESIc0=06069EBISC0=05083EBISC0=05069EBESIc0=05069EBESIc0=05089EBESIc0=08407EBESIc0=08208eCs0=07408EBESIc0=083c5b0=07407eIB=050=083c3c3c3c3c3c3c3c3c3c3p0=083c3c3c3c3c3c3c3c3c3c3c3c3c3c!NativeCodeGenerator::CheckCodeGen+0x113:660074ec e80a000000调用JScript 9!NativeCodeGenerator::CheckCodeGenDone(660074fb)eax=073e0000 ebx=00000001 ecx=073e0000 edx=06189f84 esi=05836100 edi=06258f50 eip=660074f1 esp=0541c504 ebp=0541c53c iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 JScript 9!NativeCodeGenerator::CheckCodeGen+0x118:660074f1 e972520000 jmp JScript 9!NativeCodeGenerator::CheckCodeGen+0xc0(6600c768)eax=073e0000 ebx=00000001 ecx=073e0000 edx=06189f84 esi=05836100 edi=06258f50 eip=6600c768 esp=0541c504 ebp=0541c53c iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 fs=003b gs=0000 efl=00000246 JScript 9!NativeCodeGenerator::CheckCodeGen+0xc0:6600c768 e8e3cbfeff调用JScript 9!_上面的EH_epilog3(65ff9350),我们能够看到我们的返回值是073e0000,这将是稍后将跳转到的地址,从而损坏EIP。那个值跟踪到jscript9的返回值!NativeCodeGenerator::CheckCodeGenOne,如图所示。我们想查看NativeCodeGenerator::CheckCodeGenDone,拉一具类似的技巧断点0,防DDoS,点击eax=04aac728ebx=000

,DDoS防御


DDoS防御

当前位置:主页 > 行业资讯 > Microsoft Inter防DDoSnet Explorer 11零日

标签列表
DDoS防御
网站分类
X
 

QQ客服

400-0797-119