CVE-2012-0158漏洞的样本分析


一.样本信息

  • 文件名称:E5937775444C94CA3C1A309A7BDEC42E.doc
  • 文件大小:129K
  • MD5:E5937775444C94CA3C1A309A7BDEC42E
  • SHA-1:DB6B1FA595D0A561BFF364181CAB6441D7F24B1D

二.样本分析
0x01.将文件上传至virustotal分析,有许多认为是CVE-2012-0158,该漏洞发生在MSCOMCTL.OCX模块,因为内存拷贝越界导致栈溢出漏洞的触发。

0x02.使用Procmon.exe,尝试运行该文件,观察行为



0x03.进行附加调试,打开文件后,程序抛出了异常,查看堆栈,发现堆栈取已经被覆盖了。尝试在样本中寻找堆栈中的溢出的数据,对比发现后,可以看到堆栈在ESP+13C处之后为样本的数据覆盖,也就是这下面的堆栈已经被破坏了


0x04.往上回溯,找到最近的函数位于MSCOMCTL模块的函数sub_275C8B2B,重新调试文件,尝试在MSCOMCTL.OCX加载后对该函数入口点0x275C8B2B下断点。可以看到堆栈仍是被破坏,继续尝试向上回溯,可以看到地址0x275C8A0A是位于函数sub_275C89C7中,之后在该函数入口点处重新调试下断。



0x05.程序在该入口点断下后,观察堆栈发现还并没有被破坏,逐步向下调试,发现在第二个函数sub_275C876D调用,也就就是运行到0x275C8A0A后,堆栈被破坏。判断可能是该函数导致,重新调试在运行到该函数前对EBP+4也就是函数sub_275C89C7的返回地址下硬件写断点,程序断在sub_275C876D函数该语句处REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]ECX0x209C远超过了该

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值