科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道flash漏洞所用shellcode的分析

flash漏洞所用shellcode的分析

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

最近几天flash漏洞的网马非常流行,于是我想分析一下shellcode是怎么跑的。我只能做后面一部分工作,即看看那个畸形flash文件中的shellcode长得什么样子,它运行起来会有什么动作。

作者:zdnet安全频道 来源:论坛整理 2008年6月19日

关键字: shellcode FLASH 漏洞

  • 评论
  • 分享微博
  • 分享邮件
最近几天flash漏洞的网马非常流行,于是我想分析一下shellcode是怎么跑的。

但是能力所限,还难以像大牛们一起定位到有漏洞的代码及观察整个溢出过程。于是,我只能做后面一部分工作,即看看那个畸形flash文件中的shellcode长得什么样子,它运行起来会有什么动作。

我使用的是从网站抓下来的win 9,0,115,0ie.swf。很容易地就在畸形.swf文件中找到了shellcode的位置,在连文件头偏移0xEB处开始。之后我将这段shellcode拷贝到一个可执行文件的入口点开头处,这样我就可以在OD里直接调试shellcode了。

调试过程中我发现,由于flash这次的漏洞,真的给了一个很充裕的空间让编写者尽情地发挥他们的shellcode编写才能,我看到了一个比以往任何一个利用ActiveX漏洞的shellcode都要复杂的shellcode。

该shellcode的功能很全面,不但有一般shellcode的xor加密,获取API地址和执行下载病毒并运行的操作,还有更多的操作使得shellcode更加的强悍而实用。
这些操作包括:

1. shellcode有效时间限制,当发现系统时间迟于shellcode中保存的一个固定时间时,直接ExitThread。这应该是flash网马生成器发布者所做的,可能出于商业考虑,避免别人通过简单修改病毒URL地址而生成自己的利用文件。

2. 从kernel32.dll的输入表中取ZwCreateProcessEx、ZwWriteVirtualMemory的地址,对这两处地址进行inline hook,hook到自身保存的相应的原始代码中,并对CreateProcessInternalW的前面几个字节进行了inline hook的还原。
这些操作都是针对MAXTHON等使用以上API HOOK方式对游览器进行执行保存的措施而出台的anti方式。虽然这种方法早已被提出,是大家皆知的,但是在以前的网马应用中,由于可用的缓冲区并不是那么大,不适于加入这些额外的代码,因此我一直没有看到还原hook过浏览器保护方法的实际利用。而在这次,我终于看到了一个实际利用的例子。

3. 使用CreateProcessInternalA进行最后下载到本机的病毒文件的执行。以前一般的shellcode是用WinExec。
下面是shellcode执行流程的分析,分析基本在注释当中,标号(1)、(2)……代码了执行流程顺序,依照标号便可容易理解整个流程。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章