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

一、前言

病毒课老师丢给我们一份加密过的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为系统文件,可读写。

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

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

3.post函数

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

3.1 information函数

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

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

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

4.1 execute命令

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

4.2 update命令

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

4.3 uninstall命令

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

4.4 send命令

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

4.5 site-send命令

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

4.6 recv命令

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

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

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

4.8 cmd-shell命令

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

4.9 delete命令

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

4.10 exit-process命令

调用exitprocess来结束指定的进程

4.11 sleep命令

设置脚本的睡眠时间

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

四、总结

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

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

2.vbs的学习。

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

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

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

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

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

(0)

相关推荐

  • Trojan.DL.VBS.Agent.cpb(k[1].js)脚本病毒的解决方法

    脚本病毒:Trojan.DL.VBS.Agent.cpb (文件名为k[1].js)老是在internet临时文件里出现,瑞星监控杀了又来,如此反复着!我试图清空临时文件,但一上网打开网页(不管是哪些网页),那个k[1].js又会被瑞星监控到.这是怎么回事呀?是误报吗? 该网页利用MS06-014漏洞,下载http://day.91tg.net/xp.dll到C:\WINDOWS\winhelp.dll,并直接写入注册表 Code: HKLM\SOFTWARE\Classes\CLSID\{6B

  • VBS脚本病毒原理分析与防范

    网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候.当您收到一封主题为"I Love You"的邮件,用兴奋得几乎快发抖的鼠标去点击附件的时候:当您浏览一个信任的网站之后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒已经闯进了您的世界呢?2000年5月4日欧美爆发的"爱虫"网络蠕虫病毒.由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑.微软.Intel等在内的众多大型企业网络系统瘫痪,全球经济损失达几十亿美元.而去年爆发的新欢

  • VBS.Runauto脚本病毒分析篇

    最近一位同事的笔记本遭遇了这个病毒,正好这学期在给计算机专业的同学们上VBscript于是顺便分析了一下. 首先从染病毒的计算机上提取下来病毒样本,由于是临时发现的,也没有特别准备,就用winrar压缩后保存. 在实验机器上打开病毒样本的压缩文件,我的Symantec 11立即报警,并把病毒删除了.所以必须禁用杀毒软件或者设置一个"例外区域"用于分析病毒,于是在桌面上新建了"evA"文件夹,并将之设置为防病毒例外文件夹,这下病毒样本安静的躺在里面了. 脚本病毒是解释

  • vbs病毒制作之一复制自身的vbs脚本

    复制自身到c盘的huan.vbs ASP/Visual Basic代码 复制代码 代码如下: set copy1=createobject("scripting.filesystemobject")          copy1.getfile(wscript.scriptfullname).copy("c:\huan.vbs")

  • vbs脚本病毒生成器 下载

    Vbs脚本病毒生成器 V1.0 版  简 介: 国产的新编的vbs脚本病毒生成器1.0版, 本程序通过采集用户的各项输入.选择,产生符合需要的vbs脚本病毒,属于傻瓜式的vbs病毒制造程序.从此以后,要制造vbs脚本病毒不用再学编程了!(当然还是懂点编程为妙:-)). 需要注意的是,请您不要运行产生的vbs病毒!另外,产生病毒的同时,本程序也产生一个恢复文件,叫做"reset.vbs",万一您不慎运行了病毒,可以运行它解毒!怎麽样?想得够周到吧! 我们可以利用它的功能,来学习vbs的各

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

    一.前言 病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考,如果发现文中有什么错误或者是有啥建议,可以直接留言给我,谢谢! 二.目录 整个分析过程可以分为以下几个部分: 0x00 准备工作 0x01 解密部分 0x02 功能分析 三.分析过程 0x00 准备工作 windows xp的虚拟机(在自己的windows下也可以做) vbs的一些基本语法 0x01 解密部分 右击病毒文件然后编辑打开或者是直接把其后缀修改成txt直接打开都行,可以看到一大段

  • 从一个VBS脚本学习一点点东西

    不知道是最近还是以前,反正就是这几天经常在网上看到一个刷QQ群的VBS代码. 复制代码 代码如下: Set WshShell= WScript.createObject("WScript.Shell") WshShell.AppActivate "群 - Powers成员交流" for i=1 to 10 '要发的次数 WScript.Sleep 500 '发送消息的时间间隔 WshShell.SendKeys "^v" '要发的内容 WshSh

  • 跨站式脚本(Cross-SiteScripting)XSS攻击原理分析第1/4页

    使用过ASP的同学一定见过这样的代码:  Hello, 复制代码 代码如下: <% Response.Write(Request.Querystring("name")) %> 假如我传入的name的值为:  x=document.cookie;alert(x); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这样就可以直接盗取用户的cookie.所以我就可以发送一条链接地址让别人去点: 复制代码 代码如下: http://www.xxx.com/reg.as

  • Vbs脚本经典教材(最全的资料还是MSDN)

      -为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来--.这些事情重复.琐碎,使人容易疲劳. 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,

  • VBS脚本和BAT批处理删除自身的方法

    VBS脚本和BAT批处理自身删除的方法(自杀) 删除自身之:VBS 把下面的脚本保存为selfkill.vbs或selfkill.vbe: 复制代码 代码如下: Set fso = CreateObject("Scripting.FileSystemObject") f = fso.DeleteFile(WScript.ScriptName) WScript.Echo( WScript.ScriptName) 然后运行它,是不是发现selfkill.vbs神奇的消失啦?而后面的对话框却

  • 收集的一些经典的vbs脚本大全

    记录一些经典的vbs脚本 1.文件下载(无回显)  echo iLocal = LCase(WScript.Arguments(1)) >iget.vbe  echo iRemote = LCase(WScript.Arguments(0)) >>iget.vbe  echo Set xPost = createObject("Microsoft.XMLHTTP") >>iget.vbe  echo xPost.Open "GET",i

  • vbs脚本 加密 几个小细节小结下

    复制代码 代码如下: dxy:      你好!      我学vbs也有一小段时间了,最近看到一本书上讲vbs脚本的加密,就自己试了试,可是有一点问题,低级的语法错误我都自己修正了,可脚本运行后不起作用.所以想请教你一下.脚本的原理是这样的:它把代码转换成16进制,然后再写个解密代码,通过这个解密来执行加密的代码,将字符串成16进制的代码如下:  Function str2hex (Byval strHex)  For i=1 to Len(strHex)  sHex = sHex & Hex

  • 利用批处理文件和 vbs 脚本实现网站视频自动录制

    利用批处理文件和 vbs 脚本实现网站视频自动录制 现在电视台基本上都有了自己的门户网站,我们可以充分利用网络的优势来扩大本地电视台的影响.事实上,将本地电视台的每日的王牌节目挂在网站上的做法已经成为建立电视台网站的必要组成步骤之一了.但随之而来的问题是:每天定时需要的手工录制过程,将给管理者带来极大的不便.在 windows 定时任务的基础上,将批处理程序与脚本程序有机的集合,就可以有效地解决这一问题. 1 :建立压码任务 我们将使用一台带有视频采集卡的电脑来完成压码过程.虽然压码不是本文的重

随机推荐