vbs脚本病毒的示例分析-创新互联

这篇文章给大家分享的是有关vbs脚本病毒的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联公司专业为企业提供头屯河网站建设、头屯河做网站、头屯河网站设计、头屯河网站制作等企业网站建设、网页设计与制作、头屯河企业网站模板建站服务,10年头屯河做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

一、前言

病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考

二、目录

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

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

三、分析过程

0x00 准备工作

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

vbs的一些基本语法

0x01 解密部分

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


vbs脚本病毒的示例分析

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

vbs脚本病毒的示例分析

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


vbs脚本病毒的示例分析

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


vbs脚本病毒的示例分析

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


vbs脚本病毒的示例分析

0x02 功能分析

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


vbs脚本病毒的示例分析

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


vbs脚本病毒的示例分析

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


这里先是调用了instance函数。

vbs脚本病毒的示例分析

1.instance函数

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


vbs脚本病毒的示例分析

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

2.install过程


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


vbs脚本病毒的示例分析

2.1 upstart过程

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

vbs脚本病毒的示例分析

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

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

然后获取可移动设备根目录所有的文件,如果不是lnk文件, 将其设置为隐藏的系统文件,可读写。然后创建相应的快捷方式,其指向的程序是cmd.exe,其参数是"/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start " & replace(file.name," ", chrw(34) & " " & chrw(34)) &"&exit",意思是点击该快捷方式后会先启动那个脚本病毒,然后再启动真正的文件,之后退出cmd。

然后对根目录下的文件夹作同样的操作。至此,对子程序install的分析到此结束,接下来分析函数程序post。

vbs脚本病毒的示例分析

3.post函数

可以看到post的功能是发送被感染机器的相关信息到服务器并从服务器获取病毒制作者的命令数据。在里面有调用了函数information以获取被感染机的相关信息,再看下它是怎么实现的。

vbs脚本病毒的示例分析

3.1 information函数

information函数用来获取硬盘序列号、系统相关信息和电脑上安装的安全软件。

vbs脚本病毒的示例分析

现在从post函数中执行完出来,得到服务器的命令。然后就是对命令的解析执行,接下来是一个vbs中switch...case...的结构,来对不同的命令解析执行。

4.对各种命令的解析执行

4.1 execute命令

这里直接执行接收到的命令


vbs脚本病毒的示例分析

4.2 update命令

这里是从服务器上获取数据来更新病毒


vbs脚本病毒的示例分析

4.3 uninstall命令

调用uninstall过程来将病毒之前对注册表作的修改恢复,并将之前复制到其他几个目录下的病毒脚本删除。


vbs脚本病毒的示例分析

4.4 send命令

调用download过程从服务器下载文件


vbs脚本病毒的示例分析

4.5 site-send命令

这个调用sitedownloader过程,同样从服务器上下载东西,不过这个下载的貌似是网站源码之类的。。。


vbs脚本病毒的示例分析

4.6 recv命令

调用upload函数,上传指定的文件。


vbs脚本病毒的示例分析

4.7 enum-driver、enum-faf、enum-process命令

分别调用相应的函数,以获取枚举所有的驱动器相关信息、指定目录下的所有文件和文件夹以及系统的所有进程


vbs脚本病毒的示例分析

4.8 cmd-shell命令

这里调用cmdshell函数执行接收的到cmd命令,并将命令结果获取传回服务器。


vbs脚本病毒的示例分析

4.9 delete命令

调用过程deletefaf删除指定的文件或文件夹


vbs脚本病毒的示例分析

4.10 exit-process命令

调用exitprocess来结束指定的进程


vbs脚本病毒的示例分析

4.11 sleep命令

设置脚本的睡眠时间


vbs脚本病毒的示例分析

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

四、总结

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


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


2.vbs的学习。


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


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


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


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

感谢各位的阅读!关于“vbs脚本病毒的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


分享文章:vbs脚本病毒的示例分析-创新互联
本文网址:http://azwzsj.com/article/dspppi.html