又见恶意脚本

 

 原创文章,转载请注明出处:blog.csdn.net/sjdev

 

最近有个网友在网上发表了一个帖子,帖子内容如下:

“我昨天下了一个软件,里面居然有一个插件,居然把我桌面上的 IE删除了,然后这个插件又在我桌面上创建了个IE快捷方式。打开快捷方式后就跳转到的了某个导航网站。最新版的360和瑞星根本就没什么提示。IE快捷方式属性的“目标”内容上面没有带任何参数(也就是没有网址参数),而且注册表内的IE主页没有被修改………

帖子里面说的这个软件其实就是一个恶意程序,运行这个恶意程序之后IE被劫持。IE被劫持后,每次启动浏览器时都自动导航到恶意程序所指定的网站。本文的目的旨在分析一下这个恶意脚本,摸清它的来龙去脉。

一、准备工作

话说“工欲善其事必先利其器”,在分析这个恶意脚本之前我先介绍一下所用到的几种工具:1.恶意脚本程序:这个恶意脚本不是臭名昭著的“熊猫烧香”也不是我先前分析过的“北邮男生”(参看“北邮男生”代码全注释)更不是我写的样本程序,程序的作者不得而知。程序可通过本文后面的链接来获取。如果你也想像我一样对程序进行逐步的分析,建议在虚拟机下运行,以免产生不可预料的后果;2.JSE文件解密工具:恶意程序在磁盘上保存了一份加密的脚本源码,要对源码进行分析需要借助于外部工具。Jse文件解密工具用来解密jse源码;3.JScript格式化工具:解密后的JScript代码格式混乱,为了方便分析可采用工具对解密后的代码进行格式化以方便阅读.

如果你没有相应的工具,也没关系,本文最后为你提供了几种参考工具。利用这些工具,你完全可以搞定整个流程。如果你有更好的工具,不要吝啬,告诉我吧。

二、分析

         首先需要运行一下恶意程序,如果你还没有找到恶意程序,请参看本文最后的链接。我们可以看到,在运行之后我们的系统发生了一些变化。比较明显的地方就是桌面上的IE图标不见了,取而代之的是一个IE的快捷方式。点击此快捷方式,浏览器不会导航到所设定的主页而是跳转到了http://www.65cafe.net/这个网址。如果你的快速启动栏也有IE图标,点击它同样是跳转到上面这个网址。如果你知道IE的安装路径(一般是C:/Program Files/Internet Explorer),可以尝试执行该路径下的iexplore.exe,你会发现这次浏览器导航到了正确的页面。如果我们为iexplore.exe创建一个快捷方式,执行这个快捷方式,我们发现,浏览器再次跳转到了http://www.65cafe.net/这个网址。         执行原程序是正常的,而执行快捷方式是不正常的。我们可以初步判断,问题出在了快捷方式上。     

打开注册表编辑器,我们来看看快捷方式到底发生了什么问题。

         打开注册表项:HKEY_CLASSES_ROOT/lnkfile/,切换到shell/open/command项,我们看到看到如下键值:

         "C:/Windows/System32/WScript.exe" "C:/Program Files/Winrar/Monitor.jse" "%1" %*

         这个键值告诉我们:当你通过快捷方式来打开相应的程序时(所有文件的快捷方式,不仅仅局限于IE浏览器),系统会首先通过WScript.exe调用来执行monitor.jse文件。到这里我们基本可以断定,就是这个monitor.jse文件对IE的快捷方式做了某些手脚。

Jse文件是JScript脚本加密后的文件。根据上面的路径,我们再来看看这个monitor.jse。如果我们用记事本打开这个文件,会发现里面全是乱码。此处省去乱码若干,具体乱码请查看附录。面对乱码我们也无法分析。这时,上面我提到的jse解密工具就派上了用场。网上应该有很多好用的jse解密工具,这里我推荐一个在线解密工具http://www.21softs.com/jsendecode.htm

打开这个在线解密工具,把jse文件里面的代码复制过去(使用记事本打开monitor.jse),然后点击“解密Decode”,我们可以看到,代码被解密了。

为了便于分析,我们把解密后的代码copy到一个文本文件中。我们看到,解密后的代码已经是正常的JScript脚本代码,然而此时的脚本还不便于分析,因为代码的格式太乱。乱七八糟的代码会给代码的分析带来重重的困难。幸好我们还有第二个工具,JScript代码格式化工具。在线格式化JScript脚本的网址是http://tool.chinaz.com/Tools/JsFormat.aspx

打开这个在线格式化网站,输入我们已经解密过的代码,点击“格式化”按钮。我们看到,代码已经被格式化,程序看起来清晰多了。

好了,到此为止,恶意代码的本面目展现在我们的面前,我们来一看究竟。

从程序来看,整个程序实际上是一个匿名函数,这个匿名函数内部又嵌套很多变量的定义、函数的定义和函数的调用。不管代码如何复杂,只要找到了第一条执行语句,一步步分析就容易了 (在这里提醒一下像我一样对js还不是很熟悉的朋友,js是区分大小写的,所以函数F和函数f是不同的,不要混淆了) 。限于篇幅问题,这里只进行简单的代码分析,不再对各个函数的功能一一介绍。我们注意到在程序的最后有这么一段代码:

    C();

    if (o())

        D();

        f();

        u();

        m();

        R();

        i();

        v()

    } else {

        s();

        try {

            E = q();

            if (E != "") {

                y(E)

            }

            y(S.SpecialFolders("AllUsersDesktop"));

            y(S.SpecialFolders("Desktop"));

            D()

        } catch(O) {}

    }

这段代码就是程序真正执行的地方,因为前面只涉及到变量和函数的定义并没有涉及到函数的调用。在这段代码中,函数C用来创建伪装目录,即所谓的“c:/.../winrar”目录。函数Df用来隐藏桌面的IE图标。函数u,R和函数i都是用来创建快捷方式的,其中函数uR分别用来创建iexplorer.exe和淘宝特卖的快捷方式,并把快捷方式放到桌面上;函数i用来创建流氓网址的快捷方式,并把它们放置到收藏夹目录中。函数m进行了注册表操作,它删除了系统原有的和快捷方式关联的项。函数v调用iexplore.exe并传递流氓网址。(好吧,不具体分析了,有空再写)

三、我们怎么办?

         经过以上的简单分析,你是不是认为这个恶意程序并不复杂?是的,就技术本身而言确实没什么新奇之处——当年的熊猫烧香病毒貌似也没什么新奇的技术,然而亿万网友面对它却一筹莫展。不管怎么说,上网的时候“多注意”才能“少中毒”。

PS:以上的所有流程是在Windows7下进行的,由于我的系统并没有安装杀毒软件和安全卫生,所以也并不了解恶意程序会不会被拦截。Csdn上发帖子的这个网友说360和瑞星并没有拦截,我也没有亲自验证。有兴趣的朋友可以试一下并告诉我你的结果。

:

1.样本恶意程序下载http://download.csdn.net/source/2107949

2.jse文件解密可参考http://dev.csdn.net/develop/article/27/27930.shtm

3.网上对IE劫持的处理方式http://bbs.kafan.cn/thread-658182-1-1.html

4.原帖地址http://topic.csdn.net/u/20100308/19/2fda3be7-2ea6-44d4-8050-ea92df917a4d.html

5.JScript格式化工具http://tool.chinaz.com/Tools/JsFormat.aspx

6.jse文件解密工具http://www.21softs.com/jsendecode.htm

7.360上的帖子http://help.360.cn/index.php?c=help&a=topic&bid=5030806&tid=35615390

 

如有其它信息,请留言:blog.csdn.net/sjdev

 

 

注:这篇博文其实在帖子发表后两三天左右就开始写了,然而由于自己一直忙于其他事情,所以没时间去好好的完成它(直到现在也是).然而我知道,如果再不发表,基本就被忘却了.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值