对一个vbs脚本病毒的病毒原理分析

论坛 期权论坛 脚本     
niminba   2021-5-23 02:56   1505   0

一、前言

病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考,如果发现文中有什么错误或者是有啥建议,可以直接留言给我,谢谢!

二、目录

整个分析过程可以分为以下几个部分:

0x00 准备工作
0x01 解密部分
0x02 功能分析

三、分析过程

0x00 准备工作

windows xp的虚拟机(在自己的windows下也可以做)

vbs的一些基本语法

0x01 解密部分

右击病毒文件然后编辑打开或者是直接把其后缀修改成txt直接打开都行,可以看到一大段密文,并调用了一个函数deCrypt。暂时只看到这些,那么接着往下看吧。

拖到代码底部,发现有deCrypt了一次,也就是经过了两次加密,这里把执行部分注释掉,然后将解密的结果输出到文本文件中去。另外,可以看到是用base64进行的加密的。

现在来看看解码后的结果。发现依旧是不可阅读的代码,那就继续看看他是怎么处理的吧。

这里可以看到是将之前的字符串按“|dz|”划分,然后得到的是ascii码,将这些ascii码对应的字符拼接起来就好了,就得到了结果。同样的套路将解密结果输出到文件中去再继续分析。

然后这次得到的结果是真正的病毒代码了。接下来对他的功能进行分析。

0x02 功能分析

从头开始看吧。显示一些配置信息,包括了服务器的域名。可以查到服务器是美国的,尝试ping了下,ping不通,可能是服务器作了设置不让人ping、也可能是服务器已经不用了、也有可能是我国的防火长城直接墙掉了。。。

然后是一些之后要用到的变量,这里不作过多的解释。

之后就是code start的部分了。然后由于里面调用了各种函数,所以这里按执行的顺序给调用的函数编号,以便阅读,不然会感觉很凌乱的。

这里先是调用了instance函数。

1.instance函数

给之前的一个参数usbspreading赋值,并对注册表进行写操作

在执行完了instance函数后,会进入一个while true的死循环,不断从服务器读取命令,然后执行。在进入while里面后,先是调用install过程。

2.install过程

在install中,又调用了upstart,再进去看看。

2.1 upstart过程

这里通过注册表将病毒脚本设置成开机自启动。

然后从upstart过程出来继续看看install剩下的代码,有点多,直接把功能告诉大家。

扫描所有的驱动,如果类型号是1,会有所动作,为1时代表可移动设备,这是想感染优盘之类的可移动设备。它将脚本拷贝到可移动设备的根目录下,然后设置文件属性,2为隐藏文件,可读写,4为系统文件,可读写。

然所有的命令都解析完毕了,在执行了相应的命令后,病毒会睡眠指定的时间,再继续从服务器获取命令。

四、总结

这里对之前的分析进行下总结吧,总结通过这次分析所学:

1.先是对base64编码的学习,实际分析中不需要知道实现细节,至少要会用吧。

2.vbs的学习。

3.通过设置注册表来设置指定程序的自启动。

4.基本的调试能力,对于晦涩难懂的代码部分,把结果输出来会理解得更快。

然后在试验中还对病毒进行了清楚,我的方法是直接截取一段密文然后进行搜索,包含该字段的vbs文件就给删掉,这样注册表是没有修改过来的,不过要自启动的文件已经被删掉了,所以没关系。还有一种方法是把病毒中uninstall模块拿出来,单独调用,把所有修改都恢复。

然后,这次可以看到该病毒通过vbs实现了与服务器进行通信、修改文件系统、修改注册表等等的操作。使用其他的语言同样可以实现,自己觉得可能是因为大部分windows都有vbs的解释器,易于传播,并且vbs易学,病毒作者选用他来编写。总之,不同的语言都有自己的特点吧,关键要看其优点是否和自己的需求相契合吧。

以上所述是小编给大家介绍的对一个vbs脚本病毒的病毒原理分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对社区网站的支持!

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP