资源描述
河南师范大学本科毕业论文河南师范大学本科毕业论文 学号: 0508114158Windows系统安全与木马攻击研究学院名称: 计算机与信息技术学院 专业名称: 计算机科学与技术专业 年级班别: 2005级1班 姓 名: 王瑞先 指导教师: 王振华 2009年05月22 Windows系统安全与木马攻击研究摘 要 本文针对当前流行的WINDOWS操作系统系列软件及相关平台安全体系的研究,提出了在WINDOWS操作系统中存在的一些安全漏洞(UPNP服务漏洞、升级程序漏洞、帮助和支持中心漏洞、压缩文件漏洞、服务拒绝漏洞、WindowsMediaPlayer漏洞、RDP漏洞、热键漏洞、帐号快速切换漏洞、IE浏览器漏洞)的特点和可能造成的危害以及相应的解决方案。在此基础上深入剖析了EFS,阐述了EFS的定义、EFS如何工作即文件加密和解密的具体方法步骤、EFS的组成、EFS的属性、EFS如何与NTFS共存以及EFS加密的破解小技巧。接下来主要是对木马的介绍,在木马概述部分论述了木马病毒的发展,木马的危害,木马的基本特征即它的隐蔽性、自动运行性、欺骗性、自动恢复的功能以及功能的特殊性,木马的种类,木马的功能,木马的隐藏技术和木马的植入技术。在第四部分介绍了木马常用的一些骗术,木马的攻击步骤,如何全面防范木马病毒和一些预防木马病毒的举措。最后描述了一些常见木马病毒的特点危害以及相应的清除办法。关键词 系统安全;安全漏洞;EFS;木马攻击;木马植入技术;木马隐藏技术Research of the Security of Windows System and Attacks of Trojan Abstract In this paper, the current series of the popular WINDOWS operating system software and related security system platform for research ,raising the solutions for a number of security vulnerabilities in the WINDOWS operating system. On the basis of thorough analysis of EFS, the composition of the EFS, attributes of EFS, How does EFS work, coexist of EFS with NTFS and EFS encrypted crack tips. And the types of Trojan viruses, characteristics, and some common methods to remove the Trojan virus for the detail. WINDOWS security system and take advantage of the weaknesses that exist in using the special code page, how the Trojan to achieve an important means of implant technology and Trojan hidden technology.Keywords security of System; security vulnerabilities; EFS; attacks of Trojan; Trojan implantation technology; Trojan hidden technology.前 言现今我们的生活与计算机越来越密切,似乎已无法离开它而正常的生活,所以掌握计算机系统的安全维护是十分必要的。随着当今网络化的世界的飞速发展,威胁计算机安全的因素除了系统本身存在的漏洞外还有来自各种病毒等,在此我着重介绍Windows系统安全漏洞和木马病毒的攻击研究。系统安全漏洞将会给计算机带来很严重的危害,例如信息泄露、不明原因的死机以及文件丢失等,而网络的开放性和共享性在方便了人们使用的同时,也使得网络很容易受到攻击,计算机信息和资源也很容易受到黑客的攻击,甚至是后果十分严重的攻击。1 WINDOWS操作系统的安全漏洞1.1 UPNP服务漏洞 UPNP眼下算是比较先进的技术,已经包含在WindowsXP中,这本是件好事,但却惹出了麻烦,因为UPNP会带来一些安全漏洞。黑客利用这类漏洞可以取得其他PC的完全控制权,或者发动DOS攻击。如果它知道某一PC的IP地址,就可以通过互联网控制该PC,甚至在同一网络中,即使不知道PC的IP地址,也能够控制该PC。具体来讲,UPNP服务可以导致以下两个安全漏洞: (1)缓冲溢出漏洞UPNP存在缓冲区溢出问题。当处理NOTIFY命令中的Location字段时,如果IP地址、端口和文件名部分超长,就会发生缓冲区溢出。该安全漏洞是eEye数字安全公司发现并通知微软的,这是Windows有史以来最严重的缓冲溢出漏洞。由于UPNP服务运行在系统的上下文,因此利用该漏洞,黑客可以进行Dos攻击,水平高的黑客甚至可以一举控制他人的电脑,接管用户的计算机,查阅或删除文件。更为严重的是服务器程序监听广播和多播接口,这样攻击者即可同时攻击多个机器而不需要知道单个主机的IP地址。 安全对策:由于WindowsXP打开了UPNP(通用即插即用)功能,因此所有WinXP用户都应该立即安装该补丁;而WinME的用户,只有在运行了UPNP的情况下才需要该补丁,因为WindowsME的UPNP功能在安装时是关闭的;至于Win98,由于其中并没有UPNP,只有当用户自己安装了UPNP的情况下,才需要使用该补丁。你可以从微软的网站下载该补丁程序。 (2)UDP和UDP欺骗攻击运行了UPNP服务的系统也很容易1,只要向该系统的1900端口发送一个UDP包,其中“LOCATION”域的地址指向另一个系统的Chargen端口,就可能使系统进入一个无限的连接循环,由此会导致系统CPU被100占用,无法提供正常服务。另外,攻击者只要向某个拥有众多XP主机的网络发送一个伪造的UDP报文,也可能会强迫这些XP主机对指定主机进行攻击。 安全对策:单击XP的控制面板管理工具服务,双击“UniversalPlugandPlayDeviceHost”服务,在启动类型中选择“已禁用”,关闭UPnP服务。 如果你不想关闭UPnP服务堵住此类安全漏洞,可以到微软的网站下载安装对应的补丁;或者设置防火墙,禁止网络外部数据包对1900端口的连接。1.2 升级程序漏洞 漏洞描述:如将Windows XP升级至Windows XP Pro,IE 6.0即会重新安装,以前的补丁程序将被全部清除。Windows XP的升级程序不仅会删除IE的补丁文件,还会导致微软的升级服务器无法正确识别IE是否存在缺陷,即Windows XP Pro系统存在两个潜在威胁,如下所述: (1)某些网页或HTML邮件的脚本可自动调用Windows的程序。 (2)可通过IE漏洞窥视用户的计算机文件。 对策:如IE浏览器未下载升级补丁可至微软网站下载最新补丁程序。1.3 帮助和支持中心漏洞 漏洞描述:删除用户系统的文件。 帮助和支持中心提供集成工具,用户通过该工具获取针对各种主题的帮助和支持。在目前版本的 Windows XP 帮助和支持中心存在漏洞,该漏洞使攻击者可跳过特殊的网页(在打开该网页时,调用错误的函数,并将存在的文件或文件夹的名字作为参数传送)来使上传文件或文件夹的操作失败,随后该网页可在网站上公布,以攻击访问该网站的用户或被作为邮件传播来攻击。 该漏洞除使攻击者可删除文件外,不会赋予其他权利,攻击者既无法获取系统管理员的权限,也无法读取或修改文件。 对策:安装 Windows XP的Service pack 1。1.4 压缩文件夹漏洞漏洞描述:Windows XP 压缩文件夹可按攻击者的选择运行代码。 在安装“Plus!”包的Windows XP系统中,“压缩文件夹”功能允许将Zip文件作为普通文件夹处理。“压缩文件夹”功能存在两个漏洞,如下所述: (1)在解压缩Zip文件时会有未经检查的缓冲存在于程序中以存放被解压文件,因此很可能导致浏览器崩溃或攻击者的代码被运行。 (2)解压缩功能在非用户指定目录中放置文件,可使攻击者在用户系统的已知位置中放置文件。 建议:不接收不信任的邮件附件,也不下载不信任的文件。1.5 服务拒绝漏洞 漏洞描述:服务拒绝。Windows XP支持点对点的协议(PPTP),是作为远程访问服务实现的虚拟专用网技术,由于在控制用于建立、维护和拆开 PPTP 连接的代码段中存在未经检查的缓存,导致Windows XP 的实现中存在漏洞2。通过向一台存在该漏洞的服务器发送不正确的 PPTP 控制数据,攻击者可损坏核心内存并导致系统失效,中断所有系统中正在运行的进程。 该漏洞可攻击任何一台提供 PPTP 服务的服务器,对于 PPTP 客户端的工作站,攻击者只需激活PPTP会话即可进行攻击。对任何遭到攻击的系统,可通过重启来恢复正常操作。 对策:建议不默认启动PPTP。1.6 WindowsMediaPlayer漏洞Windows Media Format Runtime 由于其处理 ASF 图像的方式而存在一个远程执行代码漏洞。攻击者可能通过构建特制的 Windows Media Player 内容来利用该漏洞。如果用户访问恶意网站或打开包含恶意内容的电子邮件,则可能允许远程执行代码。成功利用此漏洞的攻击者可以完全控制受影响的系统。临时解决办法:阻止 Microsoft Windows Media Player ActiveX 控件以抵御基于浏览器的攻击。1.7 RDP漏洞漏洞描述:信息泄露并拒绝服务。Windows 操作系统通过RDP(Remote Data Protocol)为客户端提供远程终端会话。RDP 协议将终端会话的相关硬件信息传送至远程客户端,其漏洞如下所述: (1)与某些 RDP 版本的会话加密实现有关的漏洞。所有RDP 实现均允许RDP 会话中的数据进行加密,然而在Windows 2000和Windows XP版本中,纯文本会话数据的校验在发送前并未经过加密,窃听并记录 RDP 会话的攻击者可对该校验密码分析攻击并覆盖该会话传输。 (2)与Windwos XP中的 RDP 实现对某些不正确的数据包处理方法有关的漏洞。当接收这些数据包时,远程桌面服务将会失效,同时也会导致操作系统失效。攻击者只需向一个已受影响的系统发送这类数据包时,并不需经过系统验证。 对策:Windows XP 默认并未启动它的远程桌面服务。即使远程桌面服务启动,只需在防火墙中屏蔽3389端口,即可避免该攻击1.8 VM漏洞漏洞描述:可能造成信息泄露,并执行攻击者的代码。攻击者可通过向 JDBC 类传送无效的参数使宿主应用程序崩溃,攻击者需在网站上拥有恶意的Java applet 并引诱用户访问该站点。 恶意用户可在用户机器上安装任意DLL,并执行任意的本机代码,潜在地破坏或读取内存数据。 对策:建议经常进行相关软件的安全更新。1.9 热键漏洞漏洞描述:热键功能是系统提供的一个服务(专指打开程序,使用程序的热键),在启动过程一直到登陆界面,这个服务一直没有执行,当你以某一用户的身份登陆时,这个功能方才启动,执行之后,用户就可以使用用户自己设置(包括一些默认的热键)的热键了。假设一用户(他有管理员的身份,并以管理员登陆)有事离开一段时间,本来以为马上就回来,但后来被事情逼得不能马上就回来了,他的电脑就暴露在没有保护的情况下了,这时winxp(这里提到的电脑的操作系统都专指winxp,而且该操作系统并没有设置屏幕保护程序和相应的密码)就非常聪明地自动实施了“自注销”。如果这种注销是真的注销了,那么这种安全措施显然是非常好的,但正如前面所讲,这种注销是假的,虽然其他人已经进不了你的桌面,看不到你的电脑里放了些什么,但他们还可以使用热键,因为热键服务还没有停止。这时一个有敌意的并且经验丰富的人就可以利用这些热键干一些事,最简单比如打开N个大程序,来破坏你的机器,可以打开并使用某个程序,特别是一些与网络有关的敏感程序和服务,实际上这台电脑被他控制了一半,只要他有足够的想象力。 1.10 帐号快速切换漏洞漏洞描述:Windows XP快速帐号切换功能存在问题,可被造成帐号锁定,使所有非管理员帐号均无法登录。Windows XP设计了帐号快速切换功能,使用户可快速地在不同的帐号间切换,但其设计存在问题,可被用于造成帐号锁定,使所有非管理员帐号均无法登录。配合帐号锁定功能,用户可利用帐号快速切换功能,快速重试登录另一个用户名,系统则会判别为暴力破解,从而导致非管理员帐号锁定。1.11 IE浏览器漏洞日常使用中,IE庞大的使用人群和层出不穷的高危漏洞,使它往往很容易受到来自各方面的影响和攻击而导致失效。而由于卸载的不便和难以通过覆盖安装解决问题,因此很多朋友在面对此问题时往往选择了格式化硬盘重装系统或通过第三方备份软件进行恢复,这无疑为大家的网上生活制造了巨大的障碍和麻烦。其实很多时候IE内核并无受损,只是由于部分数据链文件因种种原因注册失效而导致或相关软件设置不当而造成的。下面的一些方法希望能为有需要的朋友一解燃眉之急。 (1) 在Windows 2000/XP/2003中,先通过“控制面板”中的“Internet选项”删除cookies,然后在“开始运行”窗口中输入“regsvr32 actxprxy.dll”,点击确定后会出现一个标识为“DllRegisterServer in actxprxy.dll succeeded”的信息对话框,点击确定。再次打开“运行”窗口,依次输入“regsvr32 shdocvw.dll、regsvr32 mshtml.dll、regsvr32 urlmon.dll、regsvr32 oleaut32.dll、regsvr32 shdocvw.dll、regsvr32 browseui.dll、regsvr32 msjava.dll、regsvr32 actxprxy.dll和Comctl32.dll”并确定。如果大家觉得麻烦,可直接建立一个批处理文件,其中内容为“for %1 in(%WinDir%SYSTEM32*.DLL)Do RegSvr32.exe/s %1”(不含双引号),执行后重启计算机若仍无法打开IE窗口,则再次输入regsvr32 shell32.dll。如果在注册中显示出错或无效信息,则很可能是相关文件在病毒攻击/非正常关机中受损或在升级IE或操作系统时被替换成有诟病的版本。这时可从Windows安装光盘中的CAB压缩包或安装有相同操作系统的另一台计算机中提取Comctl32.dll和Oleaut32.dll并覆盖现有文件。 (2) DCOM属性设置错误。按照“开始输入Dcomcnfg组建服务计算机我的电脑DCOM配置Internet Explorer(Ver 1.0)安全启动和激活权限自定义编辑”,察看启动权限中有无INTERACTIVE和SYSTEM,如果没有的话则需自行添加。 (3) 上两点方法均只适用于Windows 2000/XP/2003,如果这部分用户仍觉得过于繁琐,可以到http:/ V6.0一了心愿。由于它们能够干净利落地将包括所有注册表信息在内的一切IE顽疾全部清除,因此在卸载后便能轻松重装任何版本的IE。另外也可直接将Windows光盘插入光驱,在“开始运行”窗口输入“Rundll32 setupapi,InstallHinfSection DefaultInstall 132 C:WindowsInfIe.inf”命令,确认后系统会自动重装IE6.0,但这种方法只适用于装有IE6.0以下版本的用户,原因很简单:Windows还不够聪明。 (4) 这个不是办法的办法比较适合于“网虫型的懒人们”,但前提是不能卸载病虫的IE,说到这里大家应该都明白了吧,那就是安装诸如MYIE、GreenBrowser这些基于IE内核的浏览器。当然,投奔Netscape 阵营也是不错的办法,那样还能在浏览的同时通过卸载IE获得宝贵的数十兆空间。 (5) 如果无法打开IE的现象发生在升级到Windows XP SP2后,卸载3721网上助手也许会令你紧皱的眉头舒缓开来。别担心,SP2已经内置了各类高效的网络广告和控件拦截程序,这甚至成为笔者升级它的主要目的之一。2 深入剖析EFS2.1 EFS的定义EFS是Encrypting File System,加密文件系统的缩写,它可以被应用在windows 2000以上的操作系统且为NTFS5格式的分区上(windows xp home不支持)。EFS 只能对存储在磁盘上的数据进行加密,是一种安全的本地信息加密服务。EFS使用核心的文件加密技术在NTFS卷上存储加密文件。它可以防止那些未经允许的对敏感数据进行物理访问的入侵者(偷取笔记本电脑,硬盘等)。2.2 EFS是如何工作的当一个用户使用EFS去加密文件时,必须存在一个公钥和一个私钥,如果用户没有,EFS服务自动产生一对。对于初级用户来说,即使他完全不懂加密,也能加密文件,可以对单个文件进行加密,也可以对一个文件夹进行加密,这样所有写入文件夹的文件将自动被加密。一旦用户发布命令加密文件或试图添加一个文件到一个已加密的文件夹中,EFS将进行以下几步: 第一步:NTFS首先在这个文件所在卷的卷信息目录下(这个目录隐藏在根目录下面)创建一个叫做efs0.log的日志文件,当拷贝过程中发生错误时利用此文件进行恢复。 第二步:然后EFS调用CryptoAPI设备环境.设备环境使用Microsoft Base Cryptographic Provider 1.0 产生密匙,当打开这个设备环境后,EFS产生FEK(File Encryption Key,文件加密密匙).FEK的长度为128位(仅US和Canada),这个文件使用DESX加密算法进行加密。第三步: 获取公有/私有密匙对;如果这个密匙还没有的话(当EFS第一次被调用时),EFS产生一对新的密匙.EFS使用1024位的RSA算法去加密FEK。 第四步:EFS为当前用户创建一个数据解密块Data Decryptong Field(DDF),在这里存放FEK然后用公有密匙加密FEK. 第五步:如果系统设置了加密的代理,EFS同时会创建一个数据恢复块Data Recovery Field(DRF),然后把使用恢复代理密匙加密过的FEK放在DRF。每定义一个恢复代理,EFS将会创建一个Data Recovery Agent(DRA)。Winxp没有恢复代理这个功能,所以没有这一步,这个区域的目的是为了在用户解密文件的中可能解密文件不可用。这些用户叫做恢复代理,恢复代理在EDRP(Encryption Data Recovery Policy,加密数据恢复策略)中定义,它是一个域的安全策略。如果一个域的EDRP没有设置,本地EDRP被使用。在任一种情况下,在一个加密发生时,EDRP必须存在(因此至少有一个恢复代理被定义)。DRF包含使用RSA加密的FEK和恢复代理的公钥。如果在EDRP列表中有多个恢复代理,FEK必须用每个恢复代理的公钥进行加密,因此,必须为个恢复代理创建一个DRF。 第六步:包含加密数据、DDF及所有DRF的加密文件被写入磁盘。 第七步: 在加密文件所在的文件夹下将会创建一个叫做Efs0.tmp的临时文件。要加密的内容被拷贝到这个临时文件,然后原来的文件被加密后的数据覆盖。在默认的情况下,EFS使用128位的DESX算法加密文件数据,但是Windows还允许使用更强大的的168位的3DES算法加密文件,这是FIPS算法必须打开,因为在默认的情况下它是关闭的。 第八步:在第一步中创建的文本文件和第七步中产生的临时文件被删除。加密过程图片可参考图2.1图2.1 加密过程图文件被加密后,只有可以从DDF或是DRF中解密出FEK的用户才可以访问文件。这种机制和一般的安全机制不同并意味着要想访问文件,除了要有访问这个文件的权力外还必须拥有被用户的公有密匙加密过的FEK。只有使用私有密匙解密文件的用户才可以访问文件。这样的话会有一个问题:就是一个可以访问文件的用户可把文件加密之后,文件真正的拥有者却不能访问文件。解决这个问题的办法:用户加密文件的时候只创建一个文件解密块Data Decryption Field(DDF),但是只后他可以增加附加用户到密匙队列。这种情况下,EFS简单地把FEK用想给其他用户访问权的用户的私有密匙加密。然后用这些用户的公有密匙加密FEK,新增加的DDF和第一个DDF放在一起(这些新增加的用户对文件只有访问的权力)。 解密的过程和加密的过程是相反的,参考图2.2图2.2 解密过程图首先,系统检测用户是否具有被EFS使用的私有密匙。如果有的话,系统将会在读取EFS属性,同时在DDF对列中寻找当前用户的DDF.如果DDF找到的话,用户私有密匙将会在那里解密出FEK。使用解密出来的FEK,EFS去解密加密的文件数据。需要注意的是文件从不会完全被加密,但是有时候会去加密一些特殊的扇区如果上层模块要求的话。2.3 EFS组成EFS由EFS服务、EFS驱动、EFS文件系统运行库(FSRTL)和Win32 API组成。EFS服务作为一个标准系统服务运行,它是Windows 2000安全子系统的一部分。它与CryptoAPI接口产生钥匙、DDF和DRF,EFS驱动就像是NTFS的一部分,它呼叫EFS服务请求钥匙,DDF和DRF作为需要被创建,一个EFS驱动的组成是EFS FSRTL,它定义了EFS驱动程序能作为NTFS的代表而执行的功能。2.4 EFS和NTFS如何共存EFS可以被认为除NTFS外的第二层防护,为访问一个被加密的文件,用户必须有访问到文件的NTFS权限。在相关NTFS权限的用户能看到文件夹中的文件,但不能打开文件除非有相应的解密钥匙。同样,一个用户有相应的钥匙但没有相应的NTFS权限也不能访问到文件。所以一个用户要能打开加密的文件,同时需要NTFS权限和解密钥匙。 然而,NTFS权限可能被大量的方法穿越,包括口令破解程序、用户在离开前没有退出系统或系统内部的NTFSDOS。在NT4.0下,游戏结束了硬盘上所有的数据都可以访问了。在Windows 2000下,当一个文件用EFS加密后,一个未授权的用户,即使访问到磁盘上的文件,但也不能访问文件上数据,因为没有授权用户的私钥。2.5 EFS属性当NTFS加密文件的时候,它首先会为文件设置加密标志,然后在存储DDF和DDR的地方为文件创建一个$EFS属性。这个属性的属性ID=0x100,它可以被加长,占有0.5k到若干k的大小,这个大小是由DDF和DRF的数量决定的。2.6 EFS加密的破解小技巧(1) 添加“加密”右键菜单 如果觉得上述加密方法还是太烦琐,可以在“运行”中输入“regedit”,打开注册表编辑器,找到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Advanced在右边窗口中点击鼠标右键,选择“新建Dword值”,取键名为“EncryptionContextMenu”,并设置键值为“1”。退出注册表编辑器,打开资源管理器,任意选中一个NTFS分区上的文件(夹),点鼠标右键,菜单中多出了一个“加(解)密”的选项。你可以直接点击此菜单,即可完成加密解密操作。 (2) 禁止加密某个文件夹 如果你想设置禁止加密某个文件夹,可以在这个文件夹中创建一个名为“Desktop.ini”的文件,然后用记事本编辑内容为: Encryption? Disable=1但是这个方法不能禁止已加密文件夹的文件以及子文件夹。 (3) 彻底禁止EFS加密 要在机器上彻底禁用EFS加密,可以通过修改注册表实现。点击“开始运行”,输入“Regedit”回车,打开注册表编辑器,找到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionEFS,在“编辑”菜单上点击“新建Dword值”,输入“EfsConfiguration”作为键名,并设置键值为“1”,这样本机的EFS加密就被禁用了。如果想重新使用EFS加密时,只要把键值改为“0”即可。3 木马概述近年来,黑客攻击层出不穷,对网络安全构成了极大的威胁。木马是黑客的主要攻击手段之一,它通过渗透进入对方主机系统,从而实现对目标主机的远程操作,破坏力相当之大。到目前为止,木马的发展已经历了五代3:第一代木马只是实现简单的密码窃取、发送等,在隐藏和通信方面均无特别之处。第二代木马的典型代表是冰河,它以文件关联方式启动,通过电子邮件传送信息,在木马技术发展史上开辟了新的篇章。第三代木马的信息传输方式有所突破,采用ICMP协议,增加了查杀的难度。第四代木马在进程隐藏方面获得了重大突破,采用插入内核的嵌入方式、利用远程插入线程技术、嵌入DLL线程、或挂接PSAPI等,实现木马程序的隐藏,利用反弹端口技术突破防火墙限制,在WindowsNT/2000下取得了良好的隐藏效果。 第五代木马与病毒紧密结合,利用操作系统漏洞,直接实现感染传播的目的,而不必象以前的木马那样需要欺骗用户主动激活,例如最近新出现的类似冲击波病毒的木马噩梦II。3.1 什么是木马 “木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种者电脑的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种者的电脑。“木马”与计算机网络中常常要用到的远程控制软件有些相似,但由于远程控制软件是“善意”的控制,因此通常不具有隐蔽性;“木马”则完全相反,木马要达到的是“偷窃”性的远程控制,如果没有很强的隐蔽性的话,那就是“毫无价值”的。一个完整的“木马”程序包含了两部分:“服务器”和“控制器”。植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。3.2 危害与基本特征 “特洛伊木马”程序一般分为服务器端程序和客户端程序两个部分4, 以寻找后门、窃取密码为主。“特洛伊木马”通过跟踪击键输入等方式, 窃取密码、信用卡号码等机密资料, 还可以对电脑进行跟踪监视、控制、查看、修改资料等操作。隐蔽性:“特洛伊木马”隐藏在系统中, 通过修改注册表和ini 文件依附在其他程序中, 下一次启动后仍能载入木马程序( 或者有把服务器端和正常程序通过exe- binder 绑定程式完成入侵, 甚至把自身的.exe 文件和服务器端的图片文件绑定) 等等。自动运行性:当系统启动时即自动运行, 潜入在相关系统启动文件中如win.ini、system.ini、winstart.bat 以及启动组等。欺骗性:木马借助系统中已有文件、常见文件名或扩展名“dllwinsysexplorer 等字样, 仿制一些不易被人区别的文件名, 甚者借用系统文件中已有的文件名, 另行保存或者设置ZIP 文件式图标等等实现对机器和管理员的欺骗。具备自动恢复功能:“特洛伊木马”功能模块不再是由单一的文件组成, 而是具有多重备份, 可相互恢复。能自动打开特别的端口: “特洛伊木马”的目的是为了获取系统中有用的信息, 一旦与远端客户通讯, “特洛伊木马”就会记录关键信息造成外泄。功能的特殊性:“特洛伊木马”具有搜索cache 中的口令、设置口令、扫描目标机器人的IP 地址、进行键盘记录、远程注册表的操作、以及锁定鼠标等功能特殊性。如今为了防备被跟踪追查, “特洛伊木马”一般采用只有服务器端的“小”木马: 把系统关键信息如密码等发到一个邮箱里, 通过后续步骤完成对系统的控制, 为此需要手动和软件查杀双层防护。3.3 木马的分类根据木马程序对计算机的具体控制和操作方式,可以把现有的木马程序分为以下几类:(1) 远程控制型木马 这是现在做流行的木马。每个人都想有这样的木马,因为它们可以使你方便地访问受害人的硬盘。远程控制木马可以使远程控制者在宿主计算机上做任意的事情。这种类型的木马有著名的BO和“冰河”等。(2) 发送密码型木马 这些木马的目的是为了得到所有缓存的密码,然后将它们送到特定的EMail地址。绝大多数的这种木马在Windows每次加载是自动加载,他们使用25号端口发送邮件。也有一些木马发送其他的信息,例如ICQ相关信息等。(3) 键盘记录型木马 这种木马的动作非常简单,它们唯一做的事情就是记录受害人在键盘上的敲击,然后在日志文件中检查密码。在大多数情况下,这些木马在Windows每次启动的时候加载,它们有“在线”和“下线”两种选项。当用“在线”选项的时候,它们知道受害人在线,会记录每一件事情。当用“下线”的时候,用户的每一件事情会被记录并保存在受害人的硬盘中等待发送。(4) 破坏型木马 这种木马的唯一功能是破坏和删除文件,使得它们非常简单易用。它们能自动删除计算机上所有的DLL、EXE以及INI文件。这是一种非常危险的木马,一旦被感染,如果文件没有备份,毫无疑问,计算机上的某些信息将永远不复存在。(5) FIP型木马 这种木马在计算机系统中打开21号端口,让任何有FIP客户软件的人都可以在不用密码的情况连上别人的计算机并自由上传和下载。3.4木马的功能 木马是典型的C/S 结构,它的功能主要有:第一是记录用户的按键记录;第二是监视对方,远程控制对方机器;第三是窃取被控端的资源,比如复制、修改、删除对方文件,格式化硬盘,上传下载文件等。总之,木马的功能是非常强大的。3.5木马植入技术 利用木马进行攻击首先要把木马程序植入到目标系统里面。下面介绍攻击者植入木马的主要手段:(1) 利用系统的漏洞直接攻击,比如缓冲区溢出攻击是植入木马最常用的手段。 据统计,通过缓冲区溢出进行的攻击占所有系统攻击总数的80% 以上。缓冲区溢出(bufferoverflow)指的是一种系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其他指令,以达到攻击的目的。根据溢出发生的位置将缓冲区溢出漏洞分成三类: 堆栈型(Stack)缓冲区溢出。格式化字符串(Format String)漏洞。堆(Heap)和静态数据(BSS)的缓冲区溢出。(2) 通过端口入侵,所以,一些著名的端口比如139、3389等如果不是特别需要,要关闭,或者在需要的时候再打开。 (3) 在网站上面挂马(姜太公钓鱼,愿者上钩)。用户在浏览网页时,木马通过Script、ActiveX 及XML、Asp、Cgi 等交互脚本植入。由于微软的IE浏览器在执行Script脚本上存在很多漏洞,攻击者把木马与一些含有此交互脚本的网页联系在一起,利用这些漏洞通过交互脚本植入木马。 (4) 通过下载传播。这种方式和前面的网站挂马类似,用户下载软件或者游戏之类的时候,下载到的实际上是事先准备好的木马,或者木马捆绑在这些软件上面。现在很多小型的下载网站,这种现象尤其突出,一旦用户运行,就会中招。 (5) 通过电子邮件传播。这是最简单的方法,一般是以附件的方式给用户发电子邮件,标题或者内容很诱人,引诱用户点击附件,如果用户点击运行了附件,那么用户的电脑就被植入了木马。 (6) 在网络上发送超链接,一个常用的方法是通过QQ或者M S N 发送一个超链接,引诱用户点击,该链接实际指向一个木马,一旦点击,就会被植入木马。不过随着用户安全意识的增强,这种方法成功的概率已经越来越小。 (7) 与病毒结合在一起构成复合的恶意程序,利用病毒的传染性进行木马的植入。这种方式,比如前段时间流行的熊猫烧香,变种很多,很多感染了该病毒的机器又同时被中了木马,包括很多盗号木马等,令人防不胜防。(8) 攻击者利用管理上的疏漏或物理防范措施的不足,获得目标系统的权限。3.6 木马的隐藏技术1.通信隐藏木马常用隐藏通信的方法有下列几种: (1) 端口隐藏。木马在植入主机后一般会在1024以上的高端口上驻留;也有些木马采用端口复用技术5,不打开新的通信端口,而选择一些常用的端口(如80)实现通信,在收到正常的HTTP 请求仍然把它交与W e b 服务器处理,只有在收到一些特殊约定的数据包后,才调用木马。 (2) 反向连接技术。主要利用防火墙的漏洞。由于防火墙一般对于连入的链接会进行严格的过滤,但是对于连出的链接却疏于防范。于是,与一般的木马相反,反弹端口型木马采用反向连接技术的编程方法:将服务器端(被控制端)使用主动端口,客户端(控制端)使用被动端口。被植入反弹木马服务器端的计算机定时监测控制端的存在,发现控制端上线立即弹出端口主动连接控制端打开的主动端口。这种连接模式还能突破内网与外部建立连接。 (3) 隐蔽通道技术。为了使木马客户端和服务器端的通信更加隐蔽6,使得穿透防火墙更加容易,常采用所谓的隐蔽通道技术。任何利用非正常的通信手段在网络中传递信息的通道都可以称之为网络隐蔽通道。在TCP/IP 协议中,有很多设计得不严密的地方可以用来秘密地隐藏信息,特别是在协议的头格式定义中,有很多域都有潜在的危险性。至少有两种途径可以被利用,建立隐蔽通道:一是利用Option域和传输数据时通常很少用到的域,二是利用传输数据时必须强制填充的域。还有就是使用一些特殊的协议,比如ICMP 就是常用的一种方式。2.进程隐藏7 最简单的进程隐藏方式就是把木马进程改为非常类似于系统进程的名字,有的和系统进程名字很类似,比如Exp1orer.exe(利用英文字母“l”和阿拉伯数字“1”看起来很像),还有SVCH0ST.EXE(利用英文字母“O”和阿拉伯数字“0”看起来很像,由于系统中有多个SVCHOST.EXE 进程,所以这个名字迷惑性更强)。有的名字很像系统进程,实际上没有这个系统进程。现在很多木马都是以线程方式,即把木马写成动态链接库(DLL)文件,通过DLL 技术8,木马以线程的方式存在,木马调用的是系统中正常的进程,比如Rundll32.exe、Explorer.exe 等,只是在运行时将自己插入另一个进程中,从而实现任务管理器里的隐藏,而且,当查看当前使用的端口时,木马打开的端口对应的进程不是木马本身,而是被插入的进程,即一个正常的进程,从而也实现了端口隐藏的目的。其他的隐藏方式还有:修改进程管理程序,隐藏进程信息,利用由于进程管理程序不列出进程标识号(pid)为0的进程信息,因此把要隐藏进程的pid 设为0(空转进程),实现进程隐藏等。3.文件隐藏 木马程序植入目标系统后,会在目标系统的磁盘上加以隐蔽欺骗用户9。隐藏保护木马文件的主要方式有:(1) 嵌入到宿主文件中。采用此隐蔽手段的木马通常有以下两种形式:插入到某程序中、与某程序捆绑到一起。一运行这个程序就会启动木马 ,还可以通过ZIP制成自解压执行程序,一旦点击ZIP文件就会加载木马。(2) 木马文件在磁盘上以单独的文件存在这种情况最为多见10,木马一般会把文件属性设置为隐藏、只读,很多木马文件会放到windows 或者windows/system32文件夹下面,并且会修改自己的生成日期,以迷惑用户。木马还伪装成系统文件或者伪装成非可执行文件并可以更换图标,比如bmp,来迷惑用户。(3) 文件替换。这是目前木马技术发展的一种新趋势。这种方式用修改后的DLL 替换系统原来的系统DLL,不需要监听端口,非常隐蔽。替换之后,对于正常的系统调用还照常进行,但是,它多了一些功能供木马调用、执行。这种木马没有增加新的文件,不需要打开新的端口,没有新的进程,使用常规的方法监测不到它,只有在木马的控制端向被控制端发出特定的信息后,隐藏的程序才开始运行,隐蔽性极强。4 木马攻击的方法与防范经验 由于现在应用软件的漏洞很多, 木马对计算机的入侵变得越来越容易和普遍。同时木马程序的隐藏技术不断变动和提高, 目前的检测手段对木马程序的检测也变得更加困难。针对木马程序技术的更新, 研究一种能够有效的检测和防范木马程序的技术显得非常迫切和必要11。4.1 木马病毒常用的骗术 木马攻击的方法有很多种主要有修改批处理(通过修改Autoexec.bat、Winstart.bat、Dosstart.bat三个文件来实现)、修改系统配置(通过修改系统配置文件System.ini、Win.ini来达到自动运行目的)、借助自动运行功能、通过注册表中的RUN来启动、通过文件关联启动、通过API HOOK启动、通过VxD启动、通过浏览网页启动、利用Java applet、利用系统自动运行的程序等十种常见的方法,此外黑客还常常使用名字欺骗技术和运行假象与之配合。4.2 木马的攻击步骤通常木马采取六个步骤实施攻击12:配置木马( 伪装木马) 传播木马( 通过E - m a i l 或者下载) 运行木马( 自动安装、自启动)信息泄漏(E-mail、IPC 或ICQ 的方式把你的信息泄露出去) 建立连接远程控制。4.3 全面防治木马病毒知道了木马的工作原理,查杀木马就变得相对容易了。如果发现有木马存在,最安全也是最有效的方法就是马上将计算机与网络断开,防止黑客通过网络对计算机进行攻击。然后再进行必要的检查和杀除工作。木马中毒的现象:计算机有时死机有时又重新启动;在没有执行什么操作的时候,却在拼命读写硬盘;协同莫名其妙地对软驱进行搜索;没有运行大的程序,而系统的速度却越来越慢,系统资源占用很多。发现和杀除木马的方法:端口扫描、查看连接、检查注册表、查找文件、杀病毒软件、系统文件检查器。4.4 木马的预防措施(1) 永远不要执行任何来历不明的软件或程序,除非确信自己的计算机水平达到了百毒不侵的地步。谨慎对待就是下载后先用杀毒软件检查一遍,确定无害后再执行和使用。许多网友就是懒得进行这几分钟的检查,才中木马的。清则被侵入者删了系统文件,重装系统,重则数据全无,硬盘逻辑锁!或者,被人破译上网帐号。(2) 永远不要相信你的邮箱不会收到垃圾邮件和病毒,即使你的邮箱或是ISP邮箱从未露面,有时候永远没办法知道别人如何得知你的E-mail地址的。(3) 永远不要因为对方是你的好朋友就轻易执行他发过来的软件或程序,因为你不确信他是否装上了病毒防火墙,也许你的朋友中了黑客程序还不知道,还以为是什么好东西寄来与你分享呢!同时,你也不能担保是否有别人冒他的名给你发E-mail。(4) 千万不要随便留下个人资料,因为不知道是否有人处心积虑将它收集起来。(5) 千万不要轻易相信网络认识的新朋友,因为在网络上对方都是虚拟存在的,你不能保证对方是否想利用你做实验品。(6) 永远不要以为网络上谁也不认识谁就出言不逊,这样会不小心惹恼某些计算机病毒和木马编制高手他们有可能会侵犯你的电脑系统。5 几种常见木马的清除方法5.1 网络公牛(Netbull)网络公牛是国产木马,默认连接端口23444。服务端程序newserver.exe运行后,会自动脱壳成checkdll.exe,位于C:WINDOWSSYSTEM下,下次开机checkdll.exe将自动运行,因此很隐蔽、危害很大。同时,服务端运行后会自动捆绑以下文件:Win2000下:notepad.exe;regedit.exe,reged32.exe;drwtsn32.exe;winmine.exe。服务端运行后还会捆绑在开机时自动运行的第三方软件(如:realplay.exe、QQ、ICQ等)上,在注册表中网络公牛也悄悄地扎下了根。网络公牛采用的是文件捆绑功能,和上面所列出的文件捆绑在一块,要清除非常困难。这样做也有个缺点:容易暴露自己!只要是稍微有经验的用户,就会发现文件长度发生了变化,从而怀疑自己中了木马。清除方法:(1) 删除网络公牛的自启动程序C:WINDOWSSYSTEMCheckDll.exe。(2) 把网络公牛在注册表中所建立的键值全部删除:(3) 检查上面列出的文件,如果发现文件长度发生变化(大约增加了40K左右,可以通过与其它机子上的正常文件比较而知),就删除它们!然后点击“开始附件系统工具系统信息工具系统文件检查器”,在弹出的对话框中选中“从安装软盘提取一个文件(E)”,在框中填入要提取的文件(前面你删除的文件),点“确定”按钮,然后按屏幕提示将这些文件恢复即可。如果是开机时自动运行的第三方软件如:realplay.exe、QQ、ICQ等被捆绑上了,那就得把这些文件删除,再重新安装。5.2 冰河我们这里介绍的是其标准版,掌握了如何清除标准版,再来对付变种冰河就很容易了。 冰河的服务器端程序为G-server.exe,客户端程序为G-client.exe,默认连接端口为7626。一旦运行G-server,那么该程序就会在C:Windowssystem目录下生成Kernel32.exe和sy*plr.exe,并删除自身。Kernel32.exe在系统启动时自动加载运行,sy*plr.exe和TXT文件关联。即使你删除了Kernel32.exe,但只要你打开TXT文件,sy*plr.exe就会被激活,它将再次生成Kernel32.exe。清除方法:(1) 删除C:Windowssystem下的Kernel32.exe和Sy*plr.exe文件;(2) 冰河会在注册表HKEY_LOCAL_ MACHIN Esoftwaremicrosoftwindows CurrentVersionRun下扎根,键值为C:windowssystemKernel32.exe,删除它;(3) 在注册表的HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowsCurrentVersionRunservices下,还有键值为C:windowssystemKernel32.exe的,也要删除。(4) 最后,改注册表HKEY_CLASSES_ROOTtxtfileshellopencommand下的默认值,由表中木马后的C:windowssystemSy*plr.exe %1改为正常C:windowsnotepad.exe %1,即可恢复TXT文件关联功能。5.3 网络神偷(Nethief)网络神偷是个反弹端口型木马。什么叫“反弹端口”型木马呢?与一般的木马相反,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口,为了隐蔽起见,客户端的监听端口一般开在80,这样,即使用户使用端口扫描软件检查自己的端口,发现的也是类似“TCP服务端的IP地址:1026客户端的IP地址:80 ESTABLISHED”的情况,稍微疏忽一点你就会以为是自己在浏览网页。清除方法:(1) 网络神偷会在注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun下建立键值“internet”,其值为“internet.exe /s”,将键值删除;(2) 删除其自启动程序C:WINDOWSSYSTEMINTERNET.EXE。5.4 广外女生“广外女生”是是一种新出现的远程监控工具,破坏性很大,远程上传、下载、删除文件、修改注册表等自然不在话下。其可怕之处在于“广外女生”服务端被执行后,会自动检查进程中是否含有“金山毒霸”、“天网”等字样,如果发现就将该进程终止,也就是说使防火墙完全失去作用!清除方法:(1) 启动到纯DOS模式下,找到System目录下的DIAGFG.EXE,删除它;(2) 我们找到Windows目录中的注册表编辑器“Regedit.exe”,将它改名为“R”;(3) 回到Windows模式下,运行Windows目录下的R程序(就是我们刚才改名的文件);(4) 找到HKEY_CLASSES_ROOTexefileshellopencommand,将其默认键值改成%1 %*;(5) 删除注册表中名称为“Diagnostic Configuration”的键值;(6) 关掉注册表编辑器,回到Windows目录,将“R”改回“Regedit.exe”。5.5 黑洞2004黑洞2001是国产木马程序,它是黑洞2000的升级版本。在这个版本中作者加入了一些新的功能和特性,最最可怕之处就是它的进程监控功能。实际上,在黑洞2000中就已经有了这个功能,但黑洞2000只能监控“天网”一个进程,黑洞2001却能同时对多进程进行监控!下面让我们一起来了解一下黑洞2001。黑洞2001下载解压后只有一个文件s_client.exe,它是监控端执行程序,用于监控远程计算机,大小807,424字节。有经验的朋友可能要问了,怎么只有一个监控端文件?它的服务端呢?哈哈,问得好!黑洞2001的服务端隐藏在客户端程序中,只要你运行s_client.exe(如图1),点其中的“生成服务端文件”即可生成一个服务端文件,生成的服务端文件名为S_Server.exe,大小39
展开阅读全文