《Redcode蠕虫病毒剖析.ppt》由会员分享,可在线阅读,更多相关《Redcode蠕虫病毒剖析.ppt(32页珍藏版)》请在三一办公上搜索。
1、计算机病毒与防治,重庆电子工程职业学院,计算机病毒与防治课程小组,教学单元4-4 蠕虫病毒防治,蠕虫病毒特点,蠕虫病毒简介,蠕虫病毒发展趋势,第一讲 Red code 蠕虫病毒剖析,计算机病毒与防治课程小组,Red code 病毒防治,red code 病毒剖析,蠕虫病毒简介,计算机病毒与防治课程小组,近年来,由蠕虫引发的安全事件此起彼伏,且有愈演愈烈之势。从 2001年爆发的CodeRed蠕虫、Nimda蠕虫,SQL杀手病毒(SQL SLAMMER蠕虫),到近日肆掠的“冲击波”蠕虫病毒,无不有蠕虫的影子,并且开始与传统病毒相结合了。蠕虫通常会感染Windows 2000!XP/Server
2、2003系统,如果不及时预防,它们就可能会在几天内快速传播、大规模感染网络,对网络安全造成严重危害。看来,蠕虫不再是黑暗中隐藏的“黑手”,而是己露出凶相的“狼群”。,1988年11月2日,Morris蠕虫发作,几天之内6000台以上的Internet服务器被感染,损失高达数百万美元。,蠕虫时代,蠕虫病毒简介,计算机病毒与防治课程小组,1988年 Morris蠕虫爆发后,Eugene H.Spafford为了区分蠕虫和传统病毒,给出了蠕虫的技术角度的定义,“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版木传播到另外的计算机上。”,蠕虫显示出类似于计算机病毒的一些特征,它同样也具有四个阶
3、段:潜伏阶段 传染阶段 触发阶段 发作阶段,什么是蠕虫呢?,蠕虫病毒特点,计算机病毒与防治课程小组,蠕虫病毒和传统病毒的比较,蠕虫病毒主要功能模块,计算机病毒与防治课程小组,蠕虫病毒发展趋势,计算机病毒与防治课程小组,1 利用操作系统和应用程序的漏洞主动进行攻击。此类病毒主要是“红色代码”和“尼姆达”,以及至今依然肆虐的“求职信”等.由于IE浏览器 的漏洞(Iframe Execcomand),使得感染了“尼姆达”病毒的邮件在不去 手工打开附件的情况下病毒就能激活。“红色代码”是利用了微软IIS服 务器软件的漏洞(idq.dll远程缓存区溢出)来传播。SQL蠕虫王病毒则是 利用了微软的数据库系
4、统的一个漏洞进行大肆攻击!,2 传播方式多样 如“尼姆达”病毒和“求职信”病毒,可利用的传播途径包 括文件、电子邮件、Web服务器、网络共享等等。,蠕虫病毒发展趋势,计算机病毒与防治课程小组,3 病毒制作技术与传统的病毒不同的是,许多新病毒是利用当前最新的 编程语言与编程技术实现的,易于修改以产生新的变种,从而逃避反 病毒软件的搜索。另外,新病毒利用Java、ActiveX、VB Script等技 术,可以潜伏在HTML页面里,在上网浏览时触发。,4 与黑客技术相结合,潜在的威胁和损失更大!以红色代码为例,感染后 的机器的web目录的scripts下将生成一个root.exe,可以远程执行任
5、何命令,从而使黑客能够再次进入!,Code Red病毒剖析,计算机病毒与防治课程小组,病毒名称:Code Red(红色代码)病毒,又名 W32/Bady.worm,病毒类型:蠕虫病毒,危险级别:,病毒特点:该蠕虫感染运行Microsoft Index Server 2.0的系统,或是在Windows 2000、IIS中启用了Indexing Service(索引服务)的系统。,Code Red病毒简介,Code Red病毒爆发过程,计算机病毒与防治课程小组,红色代码病毒爆发了!,2001年6月18日 微软公司宣布在IIS网络服务器软件中发现一个漏洞,而IIS软件是架设网站最基础的软件之一。,7
6、月13日 一家名为“左岸系统”的公司称,几台服务器遭到一种新病毒 的入侵,利用的正是IIS服务器软件的这个缺陷。,7月16日 发现微软软件漏洞的软件公司程序员把一种饮料名称赋予了这个 病毒,称之为:红色代码(CodeRed)。,7月18日午夜 红色代码大面积暴发,被攻击的电脑数量达到35.9万台。被攻 击的电脑中44%位于美国,11%在韩国,5%在中国,其余分散在 世界各地。,Code Red病毒爆发过程,计算机病毒与防治课程小组,红色代码病毒爆发了!,7月19日“红色代码”停止猛攻进入休眠期,不再进行大规模的活动。,7月20日 瑞星公司通过全球病毒监控网获得“红色代码”病毒样本。,7月31日
7、 格林尼治时间午夜整点,“红色代码”将再度复活,在全球 大面积蔓延,由于某些受感染的网站上出现“中国黑客入侵”的字样,国外媒体产生“病毒制造者是否来自中国”的猜测。,7月19日 这个名为“红色代码”的病毒开始疯狂攻击美国白宫网站,白 宫网站管理员将白宫网站从原来的IP地址转移到另外一个地址,才幸免于难。然而灾难并没有结束,这个蠕虫病毒已复制变成 10多万个,并且以每4.5小时400MB的速度大量发送垃圾信息。,Code Red病毒剖析,计算机病毒与防治课程小组,“红色代码”采用了一种叫做“缓存区溢出”的黑客技术,利用网络上使用微软IIS系统的服务器来进行病毒的传播。这个蠕虫病毒使用服务器的端口
8、80进行传播,而这个端口正是Web服务器与浏览器进行信息交流的渠道。“红色代码”主要有如下特征:入侵IIS服务器,code red会将WWW英文站点改写为:“Hello!Welcome to www.W!Hacked by Chinese!”;与其它病毒不同的是,CodeRed并不将病毒信息写入被攻击服务器的硬盘。它只是驻留在被攻击服务器的内存中,并借助这个服务器的网络疯狂的传播。,缓冲溢出黑客技术,Code Red病毒剖析,计算机病毒与防治课程小组,每个病毒线程每100毫秒就会向一随机地址的80端口发送一长度为3818字节的病毒传染数据包。,Code Red病毒剖析,计算机病毒与防治课程小组
9、,作为改进后的版本,“红色代码”可以创建300个线程在网络上查找未感染的计算机。,当判断到系统默认的语言是中华人民共和国或中国台湾时,查找线程数猛增到600个,占用大量系统资源和网络资源,造成网络拥堵。,病毒采用随机产生IP地址的方式,每个病毒每天能够扫描40万个IP地址,搜索未被感染的计算机。,更可怕的是,在感染计算机后,它还从病毒体内释放出一个木马程序,驻留在计算机当中,为入侵者大开方便之门。,“红色代码II”是“红色代码”的变种病毒,Code Red病毒剖析,计算机病毒与防治课程小组,下面我们以第二代“红色代码”为例,分析这个病毒。“红色代码-2”的英文名称为“I-worm.redcod
10、e”,该病毒的行为可以分为四部分:初始化、感染、繁殖、安装木马。,病毒源码分析,Code Red病毒剖析,计算机病毒与防治课程小组,当一个Web服务器感染“红色代码”病毒后,将首先进行初始化,步骤如下;,1.确定Kernel32.dll动态链接库中IIS服务器的服务进程地址,查找调用API函数GetProcAddress使用以下API函数:/加载动态链接库的函数,用来加载Win32系统中的DLL文件,以便程/序能使用其中的函数,HMODULE Loadl.ibrary(LPCTSTR 1pFileName/DLL文件名称);,=初始化=,Code Red病毒剖析,计算机病毒与防治课程小组,/创
11、建线程,病毒将使用该API函数创建白己的传染和破坏线程。,HANDLE CreatoThread(LPSECURITY ATTRIBUTES Ipsa,/线程的安全属性 DWORD dwStackSizc,/线程堆栈的大小 LPTHREAD_ START-ROUTINE pfnThreadProc,/线程所属进程 void*pvParam,/传给进程的参数 DWORD dwGreationFlags,/创建标志DWORD*pdwTreadld/线程的ID号);,Code Red病毒剖析,计算机病毒与防治课程小组,/在感染的主机上创建文件或通讯资源、磁盘设备、管道等。,HANDLE Create
12、File(LPCTSTR 1pFileName,/文件名称DWORD dwDesiredAccess,/存取模式DWORD dwShareMode,/共享模式LPSECURITY_ ATTRIBUTES 1pSecurityAttributes,/安全属性DWORD dwCreationDisposition,/创建方式DWORD dwFlagsAndAttributes,/文件属性HANDLE hTemplateVile/文件句柄);,Code Red病毒剖析,计算机病毒与防治课程小组,/将当前线程阻塞指定的毫秒数。,Sleep(int TimeSpan);,/获得主机系统的语言,判断是中文
13、还是英文。,LANGID GetSystemDefaultLang3D(void);,/改变在调用进程的虚拟地址空间中的存取保护。,HOOL VirtualProtect(LPVOID 1pAddress,/提交页的区域基地址 SIZE一 dwS i z e,/区域大小 DWORD INewProtect,/新的存取保护类型PDWORD 1pflOldProtect/保存原来的存取保护值);,Code Red病毒剖析,计算机病毒与防治课程小组,2 加载WS2 32.d11库,使用socket函数,这些函数用来进行网络通讯。,/创建服务套接字,SOCKET socket(int af,/地址类型
14、int type,/套接字类型(流式套接字或数据报套接字)int protocol/套接字使用的协议);,/连接套接字,int connect(SOCKET,/套接字描述符const struct sockaddr FAR*name,/连接名字int namelen/名字的长度);,Code Red病毒剖析,计算机病毒与防治课程小组,/发送数据,int send(SOCKET s,/套接字描述符 const char FAR*buf,/要发送的数据缓冲区 int Ion,/数据长度 int flags/调用标志);,/接收数据,int recv(SOCKET s,/套接字描述符 const c
15、har FAR*buf,/接收数据缓冲 int Ion,/数据长度 int flags/调用标志);,/关闭套接字,int closesocket(SOCKET s,/套接字描述符,Code Red病毒剖析,计算机病毒与防治课程小组,3 从user32.DLL中调用ExitWindowsEx以重新启动系统。,/强制关闭计算机,BOOT,LxitWindowsLx(DINT uFlags,/关闭操作 DWORD dwReason/关闭的原因,Windows2000及以前的版本忽略该参数);,Code Red病毒剖析,计算机病毒与防治课程小组,病毒感染主机的步骤如下:,1)设置一个跳转表“jump
16、 table,以便得到所有需要的函数地址。2)获得当前主机的IP地址,以便在后而的繁殖步骤中处理子网掩码时使用。3)检查系统语言是否为中文,是繁体还是简体。4)检查病毒感染标志“CodeRed。如果己经有该标志,则进入永久性休眠状态,以确保主机不会被重复感染。如果没有该标志,则增加一个感染标志。5)调整系统工作线程数日,以便病毒本身能创建一些线程。对于非中文系统,将工作线程数目定为300;如果是中文系统,则设置为60006)创建一个新的线程跳到第一步去执行。7)调用木马功能。8)如果是非中文系统,休眠 1天:如果是中文系统,休眠2天。9)重新启动系统,以便清除内存中驻留的病毒,只留下后门和木马
17、。,=感染=,Code Red病毒剖析,计算机病毒与防治课程小组,1)获取本地系统时间。病毒会检查当前时间是不是小于 2002年或月份小于 10月。如果日期超出了上述条件,病毒会重新启动系统。2)调用 socket()函数,产生一个套接字,并设置该套接字为非阻塞模式,以加速连接速度。3)产生h一个要攻击主机的IP地址并发起连接。4)果连接成功,则设置套接字为阻塞模式(因为己经连接成功,就没有必要再使用非阻塞模式)。然后,调用select()查询套接字状态,如果没有返回句柄,则关闭套接字,跳到第一步:如果返回句柄,则调用send()向该套接字发送一份病毒的拷贝,并执行 recv()调用,接收反馈
18、信息(不至于使受攻击的主机有错误信息提示)。,=繁殖=,病毒繁殖的步骤如下:,Code Red病毒剖析,计算机病毒与防治课程小组,1)调用下列函数获取%SYSTEM%系统日录。,/获得Windows目录,UINT GetWindowsDirectory(LPTSTR 1pBuffer,/存放Windows目录的缓冲区 UINT uSize/缓冲区的大小);,/获得Windows系统目录,UINT GetSystemDirectory(LPTSTR Buffer,/存放系统目录的缓冲区 UINT uSize/缓冲区的大小);,=安装木马=,安装木马的步骤如下:,Code Red病毒剖析,计算机病
19、毒与防治课程小组,2)将 cmd.exe 加 到 系 统 目 录 字 符 串 的 末 尾,例 如C:WINNTSYSTEM32cmd.exe,并将驱动器盘符设置为C盘根目录,将cmd.ex。文件复制成 C:inetpubscriptsroot.exe。然后,将 cmd.exe复制到 C:program1common1systemMSADCroot.exe。3)创建文件C:explorer.exe,往文件里写入木马二进制代码。4)将驱动器盘符改为D,重复2,3步操作。,Code Red病毒剖析,计算机病毒与防治课程小组,如何判断系统是否已经遭受了红色代码病毒的感染?,方法1:在目录C:winnt
20、system32logfilesw3svc1下的文件中,如果发现含有以下内容的文件,则说明主机已经感染红色蠕虫病毒。GET/default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u
21、9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a HTTP/1.0,红色代码病毒防治过程,Code Red病毒剖析,计算机病毒与防治课程小组,方法2:如果在 1025以上端 口出现很 多SYN-SENT连接请求,或者 1025号以上的大量端口处于 listening状态,那么你的机子也是已经遭受红色代码病毒的感染。,方法3:第三种方法:如果在以下目录中存在 Rootexe文
22、件,不用说已被感染了。C:inetpubscriptsRootexe D:inetpubscriptsRootexe C:program Filescommon filesystemMSADCRootExe同时,红色代码病毒还会释放出以下两 个文件:C:explorerexe or D:explorerexe这两个文件都是木马程序。,方法4:由于遭受红色代码病毒的攻击NT服务器中的web服务和ftp服务会异常中止。,Code Red病毒剖析,计算机病毒与防治课程小组,对于已经感染病毒的主机,按以下步骤消除病毒:,1)将该机器从网络上断开,以避免重复感染和感染其它机器。2)立即停止IIS服务。打
23、开控制面板,打开服务,点击World Wide Web Publishing Service.选择已禁用。3)重新启动机器,运行cmd,在cmd窗口中运行以下命令,以删除蠕虫病毒留下的后门。,C:CDC:ATTRIB-h-s-r explorer.exeDel explorer.exeDel C:inetpubscriptsroot.exeDel C:progra1Common1SystemMSADCRoot.exeD:CD D:Attrib-h-s-r explorer.exeDel D:inetpubscriptsroot.exeDel D:progra1Common1SystemMSAD
24、CRoot.exe,Code Red病毒剖析,计算机病毒与防治课程小组,4)修改被蠕虫改动过的注册表:运行regedit选择:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVCParametesVirtual Roots选择:/C,选择删除;选择:/D,选择删除。选择:/MSADC,将217换为201。选择:/scripts,将271换为201。对于Windows 2000系统,需要打开:HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrentVersionWinLogon将SFCDisable改为0。5)重新启动机器。,本讲小结,什么是蠕虫病毒,蠕虫病毒特点,蠕虫病毒发展趋势,具有对蠕虫病毒 教全面的认识 反病毒能力,计算机病毒与防治课程小组,Red code 病毒剖析,Red code 病毒防治,Thank You!,