浅析欢乐时光(HAPPY TIME)病毒 (转)

浅析欢乐时光(HAPPY TIME)病毒 (转)[@more@]

浅析欢乐时光(HAPPY TIME)病毒


徐广圻 01-5-11 下午 02:19:25


本人是个上网新手,今年四月份左右才开始上网。新手嘛,可不像高手那样,懂得如何使自己的 电脑免受 网络病毒之害,只使了个 瑞星 杀毒 软件,以为如此一来就万事大吉了。刚开始上网时,简直在五光十色的各网站及信息的海洋中迷了路,东走西瞧,看见感兴趣的网页就保存,遇见有趣的软件即 下载,想必列位初次上网时也如此吧。 沉醉于互联网带来的乐趣之中没几天,我的爱机就出现了异常:每隔十几秒钟,鼠标指针旁就出现一个沙漏图标一闪,似乎电脑在 执行什么 程序,可我关闭了一切程序,只剩了个 windows桌面也无济于事,在此期间,电脑速度大幅下降,运行任何软件都是老半天才出画面,且每隔十几秒钟就停顿一下,无奈只得重启,但一选择了重新启动,电脑就没了反应,就在我以为死机时,跳出来个错误信息框说是 内存严重不足?!天哪,我的爱机可是有256M内存呢!按CTRL+ALT+DEL键,出现关闭程序对话框,我在其中发现了几百个不明任务,都标着WSCRIPT。。。字样。看来电脑患上了瑞星也查不出的新病毒了。 此后的几天是段痛苦的经历,我让爱机拖着重病的身子在网上下载了一些 杀毒软件,还好有一个金山毒霸的试用版,打开它的启发式查毒选项可以查出一未知病毒,但只能警告而不能杀除。偶然有一次,我打开一个保存在 硬盘中的网页 文件时也收到了警告,而其它网页文件则不警告,机会来了!我立即将其后缀名由HTM改为TXT,用记事本打开,在标记后露出了此病毒的庐山真面目。 病毒是用 vbscript语言编写的,其第一行写着 I am sorry, happy time.(意为对不起您了,欢乐时光。真是气死人不偿命!恶作剧的混蛋口说"Sorry"祝人"欢乐"?!) 本人不懂VBSCRIPT语言,但曾学过 Visual Basic,再翻了一些VBSCRIPT的资料,一番临时抱佛脚后,开始解读病毒源程序。由于缺乏相应资料加之本人水平有限,不能读懂每一行代码,只能看出个大概,但我越分析越心惊,这是个仅浏览网站页面就会感染的高传染性,高破坏性的病毒! 先看一下此病毒的发病机制: 首次染毒时,会将WINDOWS web文件夹里的所有网页文件染上病毒,并找出这些文件中的任何E Mail地址向它们发送病毒 邮件,对方只要一打开即会染毒; 以后每隔十秒钟发作一次,但发作完后仍驻留在内存,十秒一次的发作,再大的内存也会给蚕食殆尽; 每次发作时,在普通的日子里,会找出一个后缀名为HTML、HTM、VBS、 ASP的文件传染(别小看了每次一个文件,它可是十秒一次的发作哟!),并查出此文件中所有的 email地址发送病毒邮件,在月份加天数为13的"特殊"日子里(1月12日、2月11日......12月1日),它每次发作会找出一个后缀名为EXE、DLL的文件(通常为重要的 系统文件)来删除,使你的电脑彻底瘫痪; 该病毒在WINDOWS注册表内保存已发作的次数,每次发作时它检查已发作次数,如其是366的倍数,则向外乱发病毒邮件:如系统时间的秒数是偶数,则发送系统邮件,如是奇数,则到 Outlook的默任目录里取得EMAIL地址发送病毒邮件。 顺便说一句,由于此病毒发作频繁且乱发EMAIL,到月底结帐时,你可能要多付一大笔冤枉钱。 现在我们来看看这可恶的病毒的结构,看它是如何使得我们在浏览网页时即染毒的。 前面提到过,该病毒是用VBSCRIPT语言写成的,翻了一些资料,才知道VBSCRIPT是一种能增强网页功能的脚本语言,它嵌入HTML文件中,你浏览网页时,它也与HTML文件一起调入内存,由 浏览器解释并执行。所以在你看到网页时,它其中所含的VBSCRIPT代码(如果有的话)已被执行,这样就很容易被心怀叵测者用来编制破坏程序。VBSCRIPT的设计者们也考虑到了这点,因此VBSCRIPT被设计成VISUAL BASIC的简化版,舍弃了一些"危险的"语句命令,所以VBSCRIPT是" 安全的",可用于网页的编制。确实光是VBSCRIPT的话确实无甚威胁,可是VBSCRIPT提供了创建并使用 对象object)功能,而WINDOWS提供大量对象给各种语言使用,利用这些对象你几乎能干任何事!比如说本病毒的许多破坏工作就是由创建并使用WSCRIPT(WINDOWS SCRIPT即WINDOWS脚本语言)对象来完成的,所以可以这样说:VBSCRIPT是不安全的,是危险的!欢乐时光病毒就是个最有力的见证! 言归正传,我们还是来看看病毒的结构。

初始化部分

初始化(建立SCRIPTLET.TYPELIB对象等)

  ↓ 

当前是HTML状态?

是 ↙ ↘ 否

━━━━━━ ━━━━━━━

↓  ↓

在WINDOWS目录下有HELP.VBS文件吗?  运行主发作程序 

  ↓   有 ↙ ↘ 无   ━━━  ━━━━━━━   ↓ (3)  ↓ (1) 设置为每10秒钟 调用一次  将本文件中的病毒代码以HTML格式存为 HELP.VBS  WINDOWS目录下的HELP.HTA文件,并调用HELP.HTA。 结束  结束

主发作程序

 ↓

建立含有HTML,VBS,HTM,ASP的 后缀名表

当前是HELP.VBS运行状态?

(4) 是 ↙ ↘ 否 (2)

━━━━━━ ━━━━━━━

↓  ↓

  如月+天为13则将后缀名表改为  用本病毒代码在WINDOWS目录下创   只包含EXE,DLL;  建HELP.VBS文件,及UNTITLE.HTM   文件; 将注册表中的HKEY_CURRENT_USER SoftwareHelpCount病毒发作计数加1;  修改HKEY_CURRENT_USER identities

  用户标识号Softwaremicrosoft

  look Express5.0Mail下的键值: SoftwareHelpFile_Name待感染文件名  Message Send HTML改为1 取出,并按后缀名表找出下一待感染文件,  Compose Use Stationery改为1 存于此处;  Stationery Name改为指向 untitle.htm 查出其中的EMAIL地址发送病毒邮件;  在WINDOWSWEB目录下查找HTML,VBS,

  HTM,ASP,HTT文件,在它们末尾如待 

  感染文件名是EXE,DLL文件则删除!

  末尾添加本病毒代码,并查出其中的

  EMAIL地址发送病毒邮件

用本病毒代码在WINDOWS目录下创建一个HTM文件并将其文件名写入HKEY_CURRENT_USERSoftwareHelpWallpaper及HKEY_CURRENT_USERControl PaneldesktopwallPaper 以上流程基本解释了其发病机制,现在我对流程上()内的数字作一下说明: 刚开始接触本病毒时,我们一定是处于浏览含病毒的网页状态,也即是流程上的HTML状态,且此时硬盘上尚未有HELP.VBS病毒文件,所以病毒执行(1)分支,建立HELP.HTA病毒文件,并调用它。然后在HELP.HTA病毒文件运行时,此时它已不处于HTML状态,所以运行主发作程序,在主发作程序中,由于此时不是HELP.VBS运行状态所以运行(2)分支并建立HELP.VBS病毒文件,以后再遇见本病毒时,由于已有了HELP.VBS病毒文件,就执行(3)分支,设定为每10秒钟执行一次HELP.VBS,而HELP.VBS会执行主发作程序的(4)分支,完成一系列破坏任务。 听说现在已有了能杀此病毒的软件,具体我也不清楚。如你像我一样已不幸染毒,在得到杀毒软件前,首先应注意在"特殊"日子里不要开机,以免爱机成为死机;另外从流程可看出,本病毒只感染后缀名为HTM,HTML,VBS,ASP(以及WINDOWSWEB下的HTT文件),所以你开机只至WINDOWS桌面出现都是安全的,把桌面的墙纸设为无,再次重新启动,注意不要使用我的电脑或是WINDOWS 资源管理器,因为它们每次运行都要装入许多文件,极有可能激活病毒,你要处理文档最好进入DOS状态,在DOS下操作;注意不要看任何帮助信息,因为很多帮助文件都是HTML格式的。如你是 编程好手,你可编个程序,检查硬盘中所有受感染后缀名为HTM,HTML,VBS,ASP的文件,并清除病毒,如你不会编程,又无杀毒软件,你只能用查找功能查出所有后缀名为HTM,HTML,VBS,ASP的文件,然后一一手工操作:重命名为TXT文件,打开检查,如文件尾有病毒则删除,保存后再改回原来的文件名,然后是下一个....... 但我们还要上网,还要浏览,即使我们有了能杀欢乐时光病毒的软件,谁能保证哪个家伙不会再写出诸如此类的病毒使我们受害?看来只有等 微软出个能禁止VBSCRIPT, Javascript,ACTIVE X........的浏览器来了。就我个人而言,情愿不要任何特效,只要安全。 最后,奉上欢乐时光病毒的源程序,供有兴趣者参考,如哪位高人能参透此程序,也请发表解析结果,让我们对次类病毒有更深认识。 我对源程序作了必要的缩进处理,以方便阅读。 欢乐时光病毒的源程序:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值