<?xml version="1.0" encoding="utf-8" ?>















<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="zh_CN">
<title><![CDATA[zhangweiqiang'职业博客]]></title>
<link rel="alternate" type="text/html" href="http://zhangweiqiang.blog.bokee.net"/>
<modified>2008-04-23T09-01-18 CST</modified>
<tagline type="text/html" mode="escaped"><![CDATA[]]></tagline>
<generator url="http://www.bokee.net/" version="2.0">bokee.net</generator>
<copyright>Copyright (c) 2005,  zhangweiqiang</copyright>


<entry>
<title>教你彻底清除IE内部顽固病毒的三招</title>
<link rel="alternate" type="text/html" href="http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1661249.html"/>
<issued>2008-04-12T14-00-41 CST</issued> 
<created>2008-04-12T14-00-41 CST</created>
<modified>2008-04-12T14-00-40Z</modified>
<id>tag:zhangweiqiang.blogchina.com,2005://1661249</id>
<author>
<name>zhangweiqiang</name>
<url>http://www.bokee.net/blogmodule/weblogcomment_index/zhangweiqiang.html</url>
</author>
<dc:subject>技术前沿</dc:subject>
<content type="text/html" mode="escaped" xml:lang="zh_CN" xml:base="http://www.bokee.net"> 
<![CDATA[<p>&nbsp;<br />　　　　一、第一招之初步防御:预备阶段&nbsp; </p>
<p>　　这一阶段，我还是建议大家首先试一下各种杀毒工具，把基本的能杀的病毒都给先杀了，以减轻自己的工作量。比如IE病毒专杀工具如3721雅虎助手(可查杀大部分IE病毒和恢复浏览器)，反间谍专家，以及金山毒霸，瑞星，江民等常见杀毒工具。你需要在预备阶段做的工作就是利用一些杀度工具把常见的大部分病毒都给杀除了。另外，如果不能杀除，你可以再尝试在系统启动时按F8进入安全模式在这个情况下再启动杀毒工具和IE修复工具进行查杀。当然，有些人造新病毒还是可以躲过这一关的。那么就用下一招。&nbsp; </p>
<p>　　二、第二招之反击病毒:扫描进程进行查杀&nbsp; </p>
<p>　　笔者的电脑就曾经CPU狂转滚烫无比，发现RUNDLL32.EXE这个文件运行了99%的CPU资源，而这个文件是WINDOWS下的SYSTEM32文件夹里的，不应该是病毒。而最大的可能，它就是被用来运行了某些病毒的DLL文件。而造成严重损害的。针对进程问题，首先大家可以用最简单的方法先进行表面清楚，就是在&ldquo;开始&rdquo;里点&ldquo;运行&rdquo;，键入MSCONFIG，然后进入启动项设置，看到不正常的启动项，比如各种莫名奇妙的名字，以及特别是在非WINDOWS系统文件夹下的(可以直接删除都没事)，以及各种奇怪的可执行文件，.exe的，给予坚决取消启动。并可找到那个文件的位置，给予删除，如果非系统文件夹下的，你大可以放心删除。另外，推荐大家一款免费的进程扫描工具hijackthis,大家可以找它的汉化版的，用来扫描进程，你根据扫描进程文件，可以一一排除，哪些是正常的文件，正常的文件旁一般都有注释。&nbsp; </p>
<p>　　当然，当你看到某些异常文件，尤其是隐藏在SYSTEM32文件夹下的，某些异常的.exe文件，以及它的上级文件夹。不要怕，进入c:/windows/system32, 进去之后，找到那个文件，以及它的父文件夹。有时候，你会很惊讶的发现，这个可执行文件病毒就被你发现了，有的病毒执行程序，你查看属性时，竟然写到是某某广告公司，我记得很清楚的就有什么傲视广告公司，真是垃圾公司造一些垃圾广告病毒来害人!这些病毒往往都是一个单的可执行文件，放在SYSTEM32下或者一个文件夹里。先别管它，好在这些病毒还写了是谁造的，还等什么，马上彻底删除!有的无法删除，正在运行的，你要借助一些文件粉碎机来删除。而好象SP2的WINXP自带粉碎文件功能。就这样，你根据可疑进程，特别是扩展名为.exe的文件，找到它隐藏的文件夹，看它的属性和修改日期，有的是往往是发生病毒情况的那一天的，很容易就发现它是病毒，直接封杀!有的更&ldquo;牛&rdquo;一点，在父文件夹里还带着一些广告网站的.ini 文本文件和其它文件夹，这个没事，你打开看看那些文件夹里都是啥，有时候你能发现这些.ini 文件里就写着骚扰你的恶意网站或者其它广告网站的地址。发现了就好，然后再看看这个文件夹的修改时间，如果是发生病毒时候的，还等什么?整个这个异常文件夹一下子删除!就这样，你可以通过进程扫描，寻根求底的方法，找到隐藏的系统文件下，通过查阅文件夹以及异常文件属性等，直接手工删除!<br />&middot;三招必杀技 彻底清除IE内部顽固病毒（2） <br />　　三、第三招之主动出击:根除残留病毒&nbsp; </p>
<p>　　有时候，某些病毒并不是在运行，而是在你打开IE之后的某个时间或者激发了某些事件，它们才会运行。有的还是某些.DLL 文件，隐藏在系统文件夹下，很难发现，而且往往误认为是系统文件而不敢查杀。这些成为最顽固的病毒，不用怕。这些也都可以通过第三招而杀除。最常用的方法是根据文件夹和文件修改创建时间。首先你把文件夹属性调整为查阅所有文件，包括隐藏文件和系统文件。然后右健，再通过查看文件方式选择为查看详细信息，则会出现详细信息列表，你可以通过选择最近时间排列，而看到最新创建的一些文件夹和一些文件。如果你记得你病毒发作的那第一天时间，直接可以发现那些异常文件夹的创建时间和病毒发作时大概相同，直接进去查看，有时候往往发现这些文件夹里果然包含着广告网站的信息等或者其它异常内容。不管有没有，直接删除这些文件夹吧!有的如果是你最近装过的软件的话，你自己也会清楚，如果不是的，那就是病毒创建的文件夹了。删除这些新创建的对你系统运行也没有损失。&nbsp; </p>
<p>　　大可以不必担心。统统删!另外，如果发现新近建的尤其是病毒发作那一天创建的.dll文件(std.dll,stdup.dll,spoolsv.dll等),以及其它异常.exe文件，不管有没有在以前的进程中发现的，发现的，更是有把握的删，没在进程中发现的，也可以不犹豫的删除，因为这些新建立的文件，是不会影响系统运行的。另外，这是主动到某个文件夹里看，当然，你可以通过更智能的方法，用WINDOWS搜索来查找最近修改的文件，这样，再一个个去分析去删除。这些方法，是手工杀毒三招中的最高境界。新创立的文件，你自己建立的，不用管它，不是你自己建立的，或者也不是最近装的某软件的。那些就很可能是病毒了。特别是病毒发作那第一天的，极大的可能性就是病毒。为了安全，直接删除!&nbsp; </p>
<p>　</p>]]>
</content>
</entry>

<entry>
<title>木马了解木马的隐藏手段</title>
<link rel="alternate" type="text/html" href="http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1660362.html"/>
<issued>2008-04-12T11-01-41 CST</issued> 
<created>2008-04-12T11-01-41 CST</created>
<modified>2008-04-12T11-01-41Z</modified>
<id>tag:zhangweiqiang.blogchina.com,2005://1660362</id>
<author>
<name>zhangweiqiang</name>
<url>http://www.bokee.net/blogmodule/weblogcomment_index/zhangweiqiang.html</url>
</author>
<dc:subject>技术前沿</dc:subject>
<content type="text/html" mode="escaped" xml:lang="zh_CN" xml:base="http://www.bokee.net"> 
<![CDATA[<span class="Title">
<p>&nbsp;木马了解木马的隐藏手段</p>
<p>　　</p>
<p>&nbsp;</p>
<p>　　1.Win32应用程序(Win32 Application)，比如QQ、Office等都属于此行列。 <br />　　2.Win32控制台程序(Win32 Console)，比如硬盘引导修复程序FixMBR。 <br />　　其中，Win32应用程序通常会有应用程序界面，比如系统中自带的&ldquo;计算器&rdquo;就有提供各种数字按钮的应用程序界面。木马虽然属于Win32应用程序，但其一般不包含窗体或隐藏了窗体(但也有某些特殊情况，如木马使用者与被害者聊天的窗口)，并且将木马文件属性设置为&ldquo;隐藏&rdquo;，这就是最基本的隐藏手段，稍有经验的用户只需打开&ldquo;任务管理器&rdquo;，并且将&ldquo;文件夹选项&rdquo;中的&ldquo;显示所有文件&rdquo;勾选即可轻松找出木马.</p>
<p>&nbsp;</p>
<p>进程隐藏</p>
<p>　进程隐藏技术:Windows 98的后门 <br />　　在Windows 98中，微软提供了一种能将进程注册为服务进程的方法。尽管微软没有公开提供这种方法的技术实现细节(因为Windows的后续版本中没有提供这个机制)，但仍有高手发现了这个秘密，这种技术称为RegisterServiceProcess。只要利用此方法，任何程序的进程都能将自己注册为服务进程，而服务进程在Windows 98中的任务管理器中恰巧又是不显示的，所以便被木马程序钻了空子。 <br />　　要对付这种隐藏的木马还算简单，只需使用其他第三方进程管理工具即可找到其所在，并且采用此技术进行隐藏的木马在Windows 2000/XP(因为不支持这种隐藏方法)中就得现形!中止该进程后将木马文件删除即可。可是接下来的第二代进程隐藏技术，就没有这么简单对付了。 </p>
<p>　进程隐藏技术:进程插入 <br />　　在Windows中，每个进程都有自己的私有内存地址空间，当使用指针(一种访问内存的机制)访问内存时，一个进程无法访问另一个进程的内存地址空间，就好比在未经邻居同意的情况下，你无法进入邻居家吃饭一样。比如QQ在内存中存放了一张图片的数据，而MSN则无法通过直接读取内存的方式来获得该图片的数据。这样做同时也保证了程序的稳定性，如果你的进程存在一个错误，改写了一个随机地址上的内存，这个错误不会影响另一个进程使用的内存。 </p>
<p>　进程(Process)<br />　　对应用程序来说，进程就像一个大容器。在应用程序被运行后，就相当于将应用程序装进容器里了，你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等)，当应用程序被运行两次时，容器里的东西并不会被倒掉，系统会找一个新的进程容器来容纳它。 <br />　　一个进程可以包含若干线程(Thread)，线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件，另一个则接收用户的按键*作并及时做出反应，互相不干扰)，在程序被运行后中，系统首先要做的就是为该程序进程建立一个默认线程，然后程序可以根据需要自行添加或删除相关的线程。</p>
<p>进&nbsp;程&nbsp;插&nbsp;入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;独立的地址空间对于编程人员和用户来说都是非常有利的。对于编程人员来说，系统更容易捕获随意的内存读取和写入*作。对于用户来说，*作系统将变得更加健壮，因为一个应用程序无法破坏另一个进程或*作系统的运行。当然，*作系统的这个健壮特性是要付出代价的，因为要编写能够与其他进程进行通信，或者能够对其他进程进行*作的应用程序将要困难得多。但仍有很多种方法可以打破进程的界限，访问另一个进程的地址空间，那就是&ldquo;进程插入&rdquo;(Process Injection)。一旦木马的DLL插入了另一个进程的地址空间后，就可以对另一个进程为所欲为，比如下面介绍的木马盗QQ密码原理。 </p>
<p>　　木马盗QQ密码的原理 </p>
<p>　　 普通情况下，一个应用程序所接收的键盘、鼠标*作，别的应用程序是无权&ldquo;过问&rdquo;的。可盗号木马是怎么偷偷记录下我的密码的呢?木马首先将1个DLL文件插入到QQ的进程中并成为QQ进程中的一个线程，这样该木马DLL就赫然成为了QQ的一部分!然后在用户输入密码时，因为此时木马DLL已经进入QQ进程内部，所以也就能够接收到用户传递给QQ的密码键入了。&nbsp;　&nbsp;</p>
<p>插入进程 </p>
<p>(1)使用注册表插入DLL <br />　　 早期的进程插入式木马的伎俩，通过修改注册表中的[HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWindowsAppInit_DLLs]来达到插入进程的目的。缺点是不实时，修改注册表后需要重新启动才能完成进程插入。 </p>
<p>　　 (2)使用挂钩(Hook)插入DLL <br />　　 比较高级和隐蔽的方式，通过系统的挂钩机制(即&ldquo;Hook&rdquo;，类似于DOS时代的&ldquo;中断&rdquo;)来插入进程(一些盗QQ木马、键盘记录木马以Hook方式插入到其他进程中)，需要调用SetWindowsHookEx函数(也是一个Win32 API函数)。缺点是技术门槛较高，程序调试困难，这种木马的制作者必须具有相当的Win32编程水平。<br />你知道吗&mdash;&mdash;什么是API <br />　　 Windows中提供各种功能实现的接口称为Win32 API(Application Programming Interface，即&ldquo;应用程序编程接口&rdquo;)，如一些程序需要对磁盘上的文件进行读写，就要先&uuml;韵嘤&Phi;腁PI(文件读写就要调用文件相关的API)发出调用请求，然后API根据程序在调用其函数时提供的参数(如读写文件就需要同时给出需要读写的文件的文件名及路径)来完成请求实现的功能，最后将调用结果(如写入文件成功，或读取文件失败等)返回给程序。 </p>
<p>　　 (3)使用远程线程函数(CreateRemoteThread)插入DLL <br />　　 在Windows 2000及以上的系统中提供了这个&ldquo;远程进程&rdquo;机制，可以通过一个系统API函数来向另一个进程中创建线程(插入DLL)。缺点很明显，仅支持Windows 2000及以上系统，在国内仍有相当多用户在使用Windows 98，所以采用这种进程插入方式的木马缺乏平台通用性。 <br />　　 木马将自身作为DLL插入别的进程空间后，用查看进程的方式就无法找出木马的踪迹了，你能看到的仅仅是一些正常程序的进程，但木马却已经偷偷潜入其中了。解决的方法是使用支持&ldquo;进程模块查看&rdquo;的进程管理工具(如&ldquo;Windows优化大师&rdquo;提供的进程查看)，木马的DLL模块就会现形了。 </p>
<p>　</p>
<p>&nbsp;&nbsp;进程的&ldquo;蒸发&rdquo;<br />　　 严格地来讲，这应该算是第2.5代的进程隐藏技术了，可是它却比前几种技术更为可怕得多。这种技术使得木马不必将自己插入到其他进程中，而可以直接消失! <br />　　 它通过Hook技术对系统中所有程序的进程检测相关API的调用进行了监控，&ldquo;任务管理器&rdquo;之所以能够显示出系统中所有的进程，也是因为其调用了EnumProcesses等进程相关的API函数，进程信息都包含在该函数的返回结果中，由发出调用请求的程序接收返回结果并进行处理(如&ldquo;任务管理器&rdquo;在接收到结果后就在进程列表中显示出来)。 <br />　　 而木马由于事先对该API函数进行了Hook，所以在&ldquo;任务管理器&rdquo;(或其他调用了列举进程函数的程序)调用EnumProcesses函数时(此时的API函数充当了&ldquo;内线&rdquo;的角色)，木马便得到了通知，并且在函数将结果(列出所有进程)返回给程序前，就已将自身的进程信息从返回结果中抹去了。就好比你正在看电视节目，却有人不知不觉中将电视接上了DVD，你在不知不觉中就被欺骗了。 <br />　　 所以无论是&ldquo;任务管理器&rdquo;还是杀毒软件，想对这种木马的进程进行检测都是徒劳的。这种木马目前没有非常有效的查杀手段，只有在其运行前由杀毒软件检测到木马文件并阻止其病毒体的运行。当时还有一种技术是由木马程序将其自身的进程信息从Windows系统用以记录进程信息的&ldquo;进程链表&rdquo;中删除，这样进程管理工具就无法从&ldquo;进程链表&rdquo;中获得木马的进程信息了。但由于缺乏平台通用性而且在程序运行时有一些问题，所以没有被广泛采用。 </p>
<p>&nbsp; HOOK<br />　　 Hook是Windows中提供的一种用以替换DOS下&ldquo;中断&rdquo;的一种系统机制，中文译名为&ldquo;挂钩&rdquo;或&ldquo;钩子&rdquo;。在对特定的系统事件(包括上文中的特定API函数的调用事件)进行Hook后，一旦发生已Hook的事件，对该事件进行Hook的程序(如:木马)就会收到系统的通知，这时程序就能在第一时间对该事件做出响应(木马程序便抢在函数返回前对结果进行了修改)。 </p>
<p>　立体隐藏 <br />　　 利用刚才介绍的Hook隐藏进程的手段，木马可以轻而易举地实现文件的隐藏，只需将Hook技术应用在文件相关的API函数上即可，这样无论是&ldquo;资源管理器&rdquo;还是杀毒软件都无法找出木马所在了。更令人吃惊的是，现在已经有木马(如:灰鸽子)利用该技术实现了文件和进程的隐藏。要防止这种木马最好的手段仍是利用杀毒软件在其运行前进行拦截。</p>
<p>　 跟杀毒软件对着干:反杀毒软件外壳 <br />　　 木马再狡猾，可是一旦被杀毒软件定义了特征码，在运行前就被拦截了。要躲过杀毒软件的追杀，很多木马就被加了壳，相当于给木马穿了件衣服，这样杀毒软件就认不出来了，但有部分杀毒软件会尝试对常用壳进行脱壳，然后再查杀(小样，别以为穿上件马夹我就不认识你了)。除了被动的隐藏外，最近还发现了能够主动和杀毒软件对着干的壳，木马在加了这种壳之后，一旦运行，则外壳先得到程序控制权，由其通过各种手段对系统中安装的杀毒软件进行破坏，最后在确认安全(杀毒软件的保护已被瓦解)后由壳释放包裹在自己&ldquo;体内&rdquo;的木马体并执行之。对付这种木马的方法是使用具有脱壳能力的杀毒软件对系统进行保护。 </p>
<p>　　壳能够将文件(比如EXE)包住，然后在文件被运行时，首先由壳获得控制权，然后释放并运行包裹着的文件体。很多壳能对自己包住的文件体进行加密，这样就可以防止杀毒软件的查杀。比如原先杀毒软件定义的该木马的特征是&ldquo;12345&rdquo;，如果发现某文件中含有这个特征，就认为该文件是木马，而带有加密功能的壳则会对文件体进行加密(如:原先的特征是&ldquo;12345&rdquo;，加密后变成了&ldquo;54321&rdquo;，这样杀毒软件当然不能靠文件特征进行检查了)。脱壳指的就是将文件外边的壳去除，恢复文件没有加壳前的状态。</p>
</span>木马程序是Win32平台下的一种程序。Windows下常见的程序有两种:]]>
</content>
</entry>

</feed>
