2010年第5期 福建 电脑 81 典型计算机病毒及木马程序剖析 余保明 (平顶山市卫生学校河南平顶山467000) 【摘要1:深入剖析了”红色代码”病毒,广告木马,冲击波病毒等几种典型计算机病毒及木马程序的运行机理,并对其 获取系统运行权的过程进行了详细说明。 【关键词】:病毒木马程序剖析 目前,由于病毒,木马,蠕虫,脚本病毒这四类程序在不断杂 交中衍生。已经形成了”你中有我,我中有你”的多态特性。它们 将网络蠕虫、计算机病毒、木马程序合为一体,开创了网络病毒 传播的新路。为了行文方便,以下将病毒、木马、蠕虫、脚本病毒 统称为”病毒”.但其实这四类程序的感染机制和编写方式是完 全不同的。 病毒入侵计算机后.会想方设法获取系统的运行权,不然的 话。病毒将失去活力,变成硬盘上的一个垃圾文件。下面,我们对 几个典型病毒进行分析,看它们是如何获取系统的运行权。 l ”红色代码”病毒 ”红色代码”病毒采用了一种叫做”缓存区溢出”的黑客技 术.利用网络上使用微软IIS系统的服务器来进行病毒的传播。 这个蠕虫病毒使用服务器的8O端口.而这个端El正是Web服 务器与浏览器进行信息交流的渠道。”红色代码”病毒能够破坏 WindoWs 2000服务器安全体系.更改系统设置,修改Windows 文件并放置特洛伊木马程序.最终导致被感染的计算机系统后 门大开。 ”红色代码”病毒入侵系统后.将Cmd.exe复制到C:盘及D: 盘的目录中。其文件名为root.exe:kinetpub ̄scripts\program ifles\common fd'esksystemhnsadc。然后.病毒开始扫描网络。寻找 其它可被攻击的系统.这一过程在英文Windows 2000系统中将 持续24小时.而在运行中文WindOWS 2000系统中将持续48小 时。接着.病毒程序在C:盘和D:盘的根目录下生成一个大小为 8192字节的Expiorer.exe木马程序,然后重启系统.执行木马程 序。这个木马程序首先运行WindoWs的Explorer.exe程序。然后 通过修改系统注册表的以下键值.使Windows丧失对系统文件 的保护能力: HKEY—LOCALMACHINE ̄S0FIWARE\Microsoft\WindowsN TtCurrentVersion\Winlogon ̄SFCDisable--OxFFFFFF9D.该键值的 默认值为0。 修改之后,木马程序通过修改系统注册表以下键值,创建两 个虚拟IIS目录C和D,分别映射到系统的C:盘和D:盘。 HKEY_LOCAL_MACHINE\SY M\currentControlSet ̄Ser- vices\W3SVCWarameters\Virtual Roots这些虚拟目录被赋予读写 及执行的权限.这样木马程序通过IIS向所有黑客提供了对被感 染服务器C:盘和D:盘的完全控制能力 2、Win32.Troj.ADNavihelper(广告木马1 该病毒属于广告木马,一般会捆绑在正常软件中。当用户运 行捆绑有该病毒的文件时。会释放出该文件。病毒通过浏览器帮 助对象 ̄rowser Help Object,简称BHO),注入到IE浏览器中, 然后通过SQL查询,强行打开指定网页。这样,浏览器不时地打 开广告窗口。如:”女生宿舍”或”青涩宝贝”等,给用户使用浏览器 带来不便 ”广告木马”入侵系统后 1)、将自身存放在如下路径中: %system%LNavihelper.dll 2)、添加如下注册表键值 HKEY_-cURRENT USERkApplD\f13FACA62—5FC4-4817— 9175—9C8DO0975916l HKEYCURRENT_USERkApplDkNaviHelper.DLL —HKEY CURRENT _USERLNaviHelper . NaviHelperObj .1HKEY CURRENT USERkNaviHelper.NaviHelperObj HKEY CURRENT USER\CIJSID\f3E422F49—1566—40D3一 B43D—O77EF739AC32} 这些键值用于注册BHO.使得每次开启lE浏览器时都会 加载该广告程序。 3)、从网上下载http://bar.xxxxx8.corn/host.dat到本地的% system% ̄host.dat 4)、host.dat文件为SQL数据库,包含了全部要显示的网页 地址.包括以下网址: http://www.qu123.com/aoyu1.html http://baby.aoe88.com/ad. html 3、冲击波病毒 计算机被”冲击波”病毒感染后,会产生下列现象:系统资源 被大量占用.有时会弹出RPC服务终止的对话框,并且系统反 复重启,不能收发邮件,不能正常复制文件,无法正常浏览网页, DNS和IIS服务遭到非法拒绝等。下面是弹出RPC服务终止的 对话框的现象: ”冲击波”人侵系统后: 1)、将自身复制到window目录下,并命名为msblast.exe。 2)、病毒运行时会在系统中建立一个名为”BILLY”的互斥 量,目的是保证在内存中只有一份病毒体,避免被用户发现。 3)、病毒运行时会在内存中创建一个名为msblast.exe的进 程。该进程就是活的病毒体。 4)、病毒会修改注册表。在HKEY LOCAL MA. CHINE\sOFrWARE\Mictus0】t.、Windows\CurrentVersionLRUS下添 加以下键值:”windows auto update”=”msblast.exe”.以便每次系 统启动时,病毒都会运行。 5)、病毒每20秒检测一次网络状态,当网络可用时,病毒会 在本地的UDP/69端口上建立一个fftp服务器.并启动一个攻击 传播线程。不断地随机生成攻击地址进行攻击,另外该病毒攻击 时,会首先搜索子网的II)地址,以便就近攻击。 6)、当病毒扫描到计算机后,就会向目标计算机的TCP/135 端口发送攻击数据。 7)、当病毒攻击成功后,便打开目标计算机的TCP/4444.端 口作为后门,并绑定cmd.exe,然后蠕虫会连接到这个端121。发送 tftp命令。回连到发起进攻的主机,将msblast.exe传到目标计算 机上并运行 4、He4Hook Windows ro0tkit就是Windows系统中的r0otkit.是一种程序 或程序集。其用途是秘密控制被入侵的计算机的行为。它经常用 来隐藏一个后门程序以及其它类似工具程序.使这些工具程序 能在指定计算机中非法存在。当用户查询计算机的当前状况时. 它通过隐藏和这些工具相关的所有信息来欺骗用户.使用户相 信计算机未受到侵害。按照运行时的环境不同.Windows rootkit 分为两类:内核模式rootkit和用户模式rootkit。(下转第ll6页) 116 例: #include”snmppp/snmp_pp.h” _福建电脑 2010年第5期 )!=SNMP_CLASS_SUCCESS) f,,如果Get操作失败 #include snmppp/oid.h” _辆nclude 1213.h” AfxMessageBox(snmp.error_msg(status)); J else void CSN 一Example::get_system_descriptor0 l Snmp::socket_startup0; int rexries=3; 叮始化socket子系统 Snmp_version version=version1;,,默认版本为v1 //默认重试次数为3 int timeout=200;,,I吠认超时时间为2秒 u_short ponf18ff,棚 认SNMP端口为180 OctetStr community( public”);//共同体 int status: ,/返回状态 { Pdu.geLvb(vb,0);//9,PDU中提取变量绑定 AfxMessageBox(vb.get_printable_value0); ,/用消息框显示该值 l Snmp::socketeleanup0; ,,关闭socket子系统 _} 6.结束语 UdpAddress address("192.168.0.253”); 系统实现中遵循标准的SNMP协议.使用SNMP++软件包 进行系统的开发设计,在数据的采集、显示中充分考虑用户需求 Address.8eLp0rt(port); 设定端口 CTarget ctarget(address); 变化.为该系统的广泛适应性提供了基础SNMP++的使用即降 etarget.set_version(version); //设置SNMP版本 低SNMP网络管理系统开发的复杂性又缩短了开发周期.同时 ctarget.seuretIy tries); //设置自动重试次数 还可与第三方软件协作进行其他与网络管理相关的应用. ctarget.set_timeout(timeout);腋置超时 ctarget.set readcommunity(community); 设置读共同体 参考文献: 0id oid(oidSysDeser); //oidSysDescr在头文件rfel213.h中定义 Vb vb(oid); [1】谢希仁.计算机网g(g四版)【M】电子工业出版社,2003 Pdu pdu; [2]StaUings W.SNMP网络管理【M】胡成松,汪凯译.北京:中回电力出版 Snmp snmp(status);,,创建一个会话 社.2001 if(status!=SNMP_CLASS_SUCCESS) [3]Hamedy S.简单网络管理协议教程【M】.胡谷雨,张巍,倪桂强,赖蓉, {,,检查刨建状态。如果创建失败则弹出错误信息 等译.北京:电子工业出版社,1999 AfxMessageBox(snmp.error_msg(status),MB—OKIMB—ICONINFORMATION); 王平.赵宏.陈海涛.一个基于SNMP的简单网络管理系统的设计与实 Return; 现【J】.小型微型计算机系统,2001.22【9):14-17. } 【5】王建民,李霞.基于SNMP的网络性能管理系统的设计与实现【J】.现 pdu+=vb; 『/将变量绑定加入PDU中 代电子技术.2006.8:91-92 调用Get操作 。—+一-— 一-。- 一一+-+一+“+ —+r一—+一“’—卜-—●一一+一+ ・-卜一—+一-—・+一一 ・●一一—-一一+一。■一・・+一‘■一一—■一 ̄-4--+ (上接第8l页) 内核模式rootkit驻留在内核态中.以内核驱动程序的方式存在 路径、操作系统版本、当前显示分辨率、物理及逻辑磁盘信息等 于操作系统中:用户模式rootkit则运行在权限较低的用户态中。 多项系统数据 He4Hook是一个内核模式Windows motkit.可运行于Win. 4)系统功能,包括远程关机、远程重启计算机、锁定鼠 dows N'r4.0、Windows2000中。在W3S'W.rootkit.com网站中,有它的 标、锁定系统热键及锁定注册表等多项功能。 完整源代码。He4Hook在技术上很先进,而且也比较稳定。它的 5)远程文件操作,包括创建、上传、下载、复制、删除文件或 执行文件主要包括两个.He4Hooklnv.svs和He4HookContro1. 目录、文件压缩、快速浏览文本文件、远程打开文件等多项文件 exe。其中,He4Hooklnv.sys是内核模式驱动程序,He4HookCon. 操作功能。 trol。exe是用于和He4HookInv.sys进行通信的控制台程序。它的 6)注册表操作,包括对主键的浏览、增删、复制、重命名和对 主要特点是使用SystemI ̄adAndCalLImage技术而不是使用服务 键值的读写等所有注册表操作功能。 控制管理器(SCM)来装载驱动He4HookInv.svs.并提供了两种文 7)发送信息,以四种常用图标向被控端发送简短信息。 件系统挂钩方法。一种使用常规的挂钩系统服务地址表技术,另 8)点对点通讯,以聊天室形式同被控端进行在线交谈。 一种则使用很少见的挂钩文件系统驱动程序的技术.它可以隐 9)邮件功能,自动往设定的电子邮箱发送系统信息。 藏或保护某些目录.受保护的目录在应用程序中无法访问。 5、冰河木马 参考文献: 冰河_由两个程序组成:G seHer.exef服务端程序,即木马)和 【1】天缘,安全q-典一一病毒及攻击防御手册.http://www.yesky.com/ G client.exe(控制端程序)。它的特性有: Sof ’haIll1d/72356682675519488/20o40729/1836659.shtm1.2004-7 1)自动跟踪目标机屏幕变化,同时可以完全模拟键盘及鼠 【21 Microsoft Security Bulledn(MS00—052). 标输入。 http://www.microsoft.com/technet/security/bulletin/MS00—052.asp,2000 -2)记录各种口令信息,包括开机口令、屏保口令、各种共享 7-28. 资源口令及绝大多数在对话框中出现过的口令信息.记录击键 【3】TOo2y,一个修改NT内棱的真实P.ootKit, 输入。 http://www.xfocus.net/artilces/200306/558.html,2003-6. 3)获取系统信息。包括计算机名、注册公司、当前用户、系统 (上接第112页) h Step3:lmageNO4--n ImageNO 像的结构距离,可以计算2 Ⅳol中的每个图像与{A … .) i=l 的结构距离,按结构距离从小到大输出一定数量的图像。 step4:输出lnlageN0中的每个图象。 基于形状的图像检索算法由于其在空间相关性上的优势。 这一检索算法中。Step2一l是基于特征的初级检索;Step2—4 可以弥补颜色和纹理作为检索特征的一些不足.给人们的工作 是基于尺度函数的匹配。 和学习带来更大的便利,必定能得到更广泛的应用。 在图像检索中还应考虑有相同相对空问关系的图像.和图