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