冲击波病毒是利用在2003年7月21日公布的RPC漏洞进行传播的,该病毒于当年8月爆发。病毒运行时会不停地利用IP扫描技术寻找网络上系统为Win2000或XP的计算机,找到后就利用DCOM/RPC缓冲区漏洞攻击该系统,一旦攻击成功,病毒体将会被传送到对方计算机中进行感染,使系统操作异常、不停重启、甚至导致系统奔溃。另外,该病毒还会对系统升级网站进行拒绝服务攻击,导致该网站堵塞,使用户无法通过该网站升级系统。只要是计算机上有RPC服务并且没有打安全补丁的计算机都存在有RPC漏洞,具体涉及的操作系统是:Windows 2000XPServer 2003NT4.0。
2003年7月16日,发布了“RPC接口中的缓冲区溢出”的漏洞补丁。该漏洞存在于RPC中处理通过TCP/IP的消息交换的部分,攻击者通过TCP135端口,向远程计算机发送特殊形式的请求,允许攻击者在目标机器上获得完全的权限并以执行任意代码。
该病毒充分利用了RPC/DCOM漏洞,首先使受攻击的计算机远程执行了病毒代码;其次使RPCSS服务停止响应,PRC意外中止,从而产生由于PRC中止导致的一系列连锁反应。针对RPC/DCOM漏洞所编写的病毒代码构成了整个病毒代码中产生破坏作用的最重要的部分。
1.计算机系统被病毒感染后,病毒会自动建立一个名为“BILLY”的互斥线程,当病毒检测到系统中有该线程的话则将不会重复驻入内存,否则病毒会在内存中建立一个名为“msblast”的进程。
2.病毒运行时会将自身复制为:%systemdir%msblast.exe,%systemdir%指的是操作系统安装目录中的系统目录,默认为C:Winntsystem32;紧接着病毒在注册表HKEY-LOCAL-MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun下添加名为“windows auto update”的启动项目,值为“msblast.exe”,使得每次启动计算机时自动加载病毒。
3.病毒隐藏后,感染病毒的计算机尝试连接20个随机的IP地址,并且对存在RPC/DCOM漏洞的计算机进行攻击,完成后该病毒会休息1.8秒,然后继续扫描下20个随机的IP地址,并进行攻击。
4.具体的攻击过程为:在感染病毒的计算机通过TCP135端口向那些被攻击计算机发送攻击代码,被攻击的计算机将在TCP4444端口开启一个CommandShell。同时监听UDP69端口,当接收到受攻击的机器发来的允许使用DCOM RPC运行远程指令的消息后,将发送Msblast.exe文件,并让受攻击的计算机执行它,至此受攻击的计算机也感染了此病毒。
5.如果当前日期是8月或者当月日期是15日以后,病毒还会发起对windowsupdate.com的拒绝服务攻击(DdoS)。
冲击波病毒长6176bytes,是后门和蠕虫功能混合型的病毒,包括三个组件:蠕虫载体、TFTP服务器文件、攻击模块,病毒会下载并运行病毒文件msblast.exe。在这种混合型病毒中还隐藏地存在一段文本信息:
I just want to say LOVE YOU SAN !!
Bill gates why do you make this possible ?
Stop making money and fix your soft ware !!
通过对冲击波病毒的整个工作流程进行分析,可以归纳得到病毒的行为特征:
1.主动攻击:蠕虫在本质上已经演变为黑客入侵的自动化工具,当蠕虫被释放(release)后,从搜索漏洞,到利用搜索结果攻击系统,到复制副本,整个流程全由蠕虫自身主动完成。
2.利用系统、网络应用服务漏洞:计算机系统存在漏洞是蠕虫传播的前提,利用这些漏洞,蠕虫获得被攻击的计算机系统的相应权限,完成后继的复制和传播过程。正是由于漏洞产生原因的复杂性,导致面对蠕虫的攻击防不胜防。
3.造成网络拥塞:蠕虫进行传播的第一步就是找到网络上其它存在漏洞的计算机系统,这需要通过大面积的搜索来完成,搜索动作包括:判断其它计算机是否存在;判断特定应用服务是否存在;判断漏洞是否存在。这不可避免的会产生附加的网络数据流量。即使是不包含破坏系统正常工作的恶意代码的蠕虫,也会因为病毒产生了巨量的网络流量,导致整个网络瘫痪,造成经济损失。
4.反复性:即使清除了蠕虫在文件系统中留下的任何痕迹,如果没有修补计算机系统漏洞,重新接入到网络中的计算机还是会被重新感染。
5.破坏性:从蠕虫的历史发展过程可以看到,越来越多的蠕虫开始包含恶意代码,破坏被攻击的计算机系统,而且造成的经济损失数目越来越大。
冲击波的传播模式为:扫描-攻击-复制。
扫描模块采用的扫描策略是:随机选取某一段IP地址,然后对这一地址段上的主机扫描。病毒作者会对扫描策略进行一些改进,比如在IP地址段的选择上,可以主要针对当前主机所在的网段扫描,对外网段则随机选择几个小的IP地址段进行扫描。对扫描次数进行限制,只进行几次扫描。把扫描分散在不同的时间段进行。
扫描策略设计的原则有三点:尽量减少重复的扫描,使扫描发送的数据包总量减少到最小;保证扫描覆盖到尽量大的范围;处理好扫描的时间分布,使得扫描不要集中在某一时间内发生。
一旦确认漏洞存在后就可以进行相应的攻击步骤,这一部关键的问题是对漏洞的理解和利用。攻击成功后,是获得一个远程主机的shell,例如对win2k系统来说就是cmd.exe,得到这个shell后就拥有了对整个系统的控制权。
复制过程有很多种方法,可以利用系统本身的程序实现,也可以用病毒自代的程序实现。复制过程实际上就是一个文件传输的过程,实现网络文件传输很简单。
由于RPC/DCOM漏洞,RPCSS服务停止响应,操作系统不断报告“PRC意外中止,系统重新启动”,客户机频繁重启,同时所有网络服务均出现故障,如IE浏览器打不开,OUTLOOK无法使用等。
由于RPC服务终止还可能造成其他的一些问题(因为许多功能都依赖于RPC服务),如:无法进行复制、粘贴,无法查看网络属性,某些文件夹显示不正常,计算机“服务”管理不正常,无法使用IE“在新窗口中打开”,无法添加删除程序等等不正常现象。
2003年8月29日晚9时,全球反病毒监测网率先截获了冲击波病毒的最新变种,并命名为:冲击波V(Worm.Blaster.E)。据反病毒工程师分析,该病毒变种和前三个变种病毒一样,没有在原始病毒上做大的改动,传染和破坏能力与“冲击波”其它变种相同,这个变种病毒只是重新改变了病毒文件名称和注册表键值,企图躲避杀毒软件的查杀。据分析,新的变种病毒做了如下四处改动:
将病毒体内的字符串改为:I dedicate this particular strain to me ANG3L - hope yer enjoying yerself and dont forget the promise for me B/DAY而在病毒ochWorm.Blaster中为:I just want to say LOVE YOU SAN !! billy gates why do you make this possible ? Stop making money and fix your software !!
将原来的互拆量ochBILLY改为ochSILLY;
将对ochwindowsupdate.com进行拒绝服务攻击改为对ochkimble.org进行拒绝服务攻击;
将注册表中添加的键值改为HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunWindowsAutomation=mslaugh.exe原为:HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunWindowsautoupdate=msblast.exe
反病毒工程师判断,这种改动的目的仍然是为了躲避杀毒软件的追杀。该病毒编写者是为了延长病毒的生命力,从而给自己争取到推出病毒新版本的时间。冲击波”病毒共产生了五个病毒体,分别为:Worm.Blaster,Worm.Blaster.B,Worm.Blaster.C,Worm.Blaster.D,Worm.Blaster.E。
该病毒感染系统后,会使计算机产生下列现象:系统资源被大量占用,有时会弹出RPC服务终止的对话框,并且系统反复重启,不能收发邮件、不能正常复制文件、无法正常浏览网页,复制粘贴等操作受到严重影响,DNS和IIS服务遭到非法拒绝等。如果在自己的计算机中发现以上全部或部分现象,则很有可能中了冲击波病毒。此时,计算机用户应该采取以下方式检测:
1)检查系统的system32Wins目录下是否存在DLLHOST.EXE文件(大小为20K)和SVCHOST.EXE文件,(注意:系统目录里也有一个DLLHOST.EXE文件,但此为正常文件,大小只有8KB左右)如果存在这两个文件说明计算机已经感染了“冲击波杀手”病毒;
2)在任务管理器中查看是否有三个或三个以上DLLHOST.EXE的进程,如果有此进程说明计算机已经感染了此病毒。
1.病毒通过最新RPC漏洞进行传播,因此用户应先给系统打上RPC补丁。
2.病毒运行时会建立一个名为:“BILLY”的互斥量,使病毒自身不重复进入内存,并且病毒在内存中建立一个名为:“msblast”的进程,用户可以用任务管理器将该病毒进程终止。
3.用户可以手动删除该病毒文件。注意:%Windir%是一个变量,指的是操作系统安装目录,默认是:“C:Windows”或:“c:Winnt”,也可以是用户在安装操作系统时指定的其它目录。%systemdir%是一个变量,指的是操作系统安装目录中的系统目录,默认是:“C:Windowssystem”或:“c:Winntsystem32”。
4.病毒会修改注册表的HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun项,在其中加入:“windowsautoupdate”=“msblast.exe”,进行自启动,用户可以手工清除该键值。
5.病毒会用到135、4444、69等端口,用户可以使用防火墙将这些端口禁止或者使用“TCP/IP筛选”功能,禁止这些端口。
6.进入“管理工具”文件夹(在开始菜单或控制面板),运行组件服务,在左边侧栏点击“服务(本地)”,找到RemoteProcedureCall(RPC),其描述为“提供终结点映射程序(endpointmapper)以及其它RPC服务”。双击进入恢复标签页,把第一二三次操作都设为“不操作”。
1.建立良好的安全习惯。对一些来历不明的邮件及附件不要打开,不要执行下载后未杀毒处理的软件等。
2.经常升级安全补丁。据统计,大部分网络病毒是通过系统安全漏洞进行传播的,定期下载最新的安全补丁,以防范未然。
3.使用复杂的密码。有许多网络病毒就是通过猜测简单密码的方式攻击系统的,因此使用复杂的密码,将会大大提高计算机的安全系数。
4.迅速隔离受感染的计算机。当发现计算机感染病毒或异常时应立刻断网,以防止计算机受到更多的感染,或者成为传播源,再次感染其它计算机。
5.安装专业的防毒软件进行全面监控。在病毒日益增多的今天,使用杀毒软件进行防毒,是越来越经济的选择,用户在安装了反病毒软件之后,应经常进行升级、将一些主要监控经常打开(如邮件监控),这样才能真正保障计算机的安全。