木马是什么?
木马,其实质只是一个网络客户/服务程序。网络客户/服务模式的原理是一台主机提供服务(服务器),另一台主机接受服务(客户机)。作为服务器的主机一般会打开一个默认的端口并进行监听(Listen),如果有客户机向服务器的这一端口提出连接请求(Connect Request),服务器上的相应程序就会自动运行,来应答客户机的请求,这个程序称为守护进程。就我们前面所讲的木马来说,被控制端相当于一台服务器,控制端则相当于一台客户机,被控制端为控制端提供服务。
8.51.2 怎样在注册表中发现木马?
多数木马都会把自身复制到系统目录下并加入启动项(如果不复制到系统目录下则很容易被发现,不加入启动项在重启后木马就不执行了),启动项一般都是加在注册表中的,具体位置在:
l HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion 下所有以“run”开头的键值。
l HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion 下所有以“run”开头的键值。
l HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion下所有以“Run”开头的键值。
如木马冰河的启动键值是:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] @="C:\\Windows\\SYSTEM\\KERNEL32.EXE"
广外女生1.51版的启动键值是:
[HKEY_LOCAL_MACHINE\Software\
Microsoft\Windows\CurrentVersion\RunServices]
"Diagnostic Configuration"="
C:\\Windows\\SYSTEM\\DIAGCFG.EXE"
蓝色火焰0.5的启动键值是:
[HKEY_LOCAL_MACHINE\Software\
Microsoft\Windows\CurrentVersion\Run]
"Network Services"="
C:\\Windows\\SYSTEM\\tasksvc.exe"
8.51.3 怎样在一些重要文件中查找木马?
1.在Win.ini中启动
在Win.ini的[Windows]字段中有启动命令“load=”和“run=”,在一般情况下“=”后面是空白的,如果有后跟程序,就要小心了。
2.在System.ini中启动
System.ini位于Windows的安装目录下,其[boot]字段的shell=Explorer.exe 是木马喜欢的隐蔽加载之所,木马通常的做法是将该句变为这样:shell=Explorer.exe window.exe,注意这里的window.exe就是木马程序。另外,在System.ini中的[386Enh]字段,要注意检查在此段内的“driver= 路径\程序名”,这里也有可能被木马所利用。再有,在System.ini中的[mic]、[drivers]、[drivers32]这三个字段,这些段也是起到加载驱动程序的作用,但也是增添木马程序的好场所。
3.在Autoexec.bat和Config.sys中加载运行
但这种加载方式一般都需要控制端用户与服务端建立连接后,将已添加木马启动命令的同名文件上传到服务端覆盖这两个文件才行,而且采用这种方式不是很隐蔽,所以这种方法并不多见,但也不能因此而掉以轻心。
4.在Winstart.bat中启动
Winstart.bat是一个特殊性丝毫不亚于Autoexec.bat的批处理文件,也是一个能自动被Windows加载运行的文件。它多数情况下为应用程序及 Windows自动生成,在执行了Win.com并加载了多数驱动程序之后开始执行(这一点可通过启动时按【F8】键再选择逐步跟踪启动过程的启动方式可得知)。由于Autoexec.bat的功能可以由Winstart.bat代替完成,因此木马完全可以像在Autoexec.bat中那样被加载运行,危险由此而来。
5.应用*.INI文件
即应用程序的启动配置文件。控制端利用这些文件能启动程序的特点,将制作好的带有木马启动命令的同名文件上传到服务端覆盖同名文件,这样就可以达到启动木马的目的了。
8.51.4 怎样查找其他方式加载的木马?
1.启动组
木马隐藏在启动组中虽然不是十分隐蔽,但这里的确是自动加载运行的好场所,因此还是有木马喜欢在这里驻留的。启动组对应的文件夹为:C:\Windows\ Start Menu\Programs\StartUp,在注册表中的位置:HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Explorer\Shell Folders Startup
="C:\Windows\start menu\programs\startup"。
2.修改文件关联
修改文件关联是木马常用手段(主要是国产木马,国外的木马大都没有这个功能),比方说正常情况下txt文件的打开方式为Notepad.EXE文件,但一旦中了文件关联木马,则TXT文件打开方式就会被修改为用木马程序打开,如著名的国产木马“冰河”就是这样做的。“冰河”通过修改HKEY_CLASSES_ROOT\txtfile \shell\open\command下的键值,将“C:\Windows\ Notepad.exe %1”改为“C:\Windows\System\ SYSEXPLR.EXE %1”,这样一旦想打开一个TXT文件,原本应用Notepad打开该文件的,现在却变成启动木马程序了。请大家注意,不仅仅是TXT文件,其他诸如HTM、EXE、ZIP、COM等都是木马的目标。对付这类木马,只能检查HKEY_CLASSES_ROOT\文件类型\shell\open\ command主键,查看其键值是否正常。
3.捆绑文件
实现这种触发条件首先要控制端和服务端已通过木马建立连接,然后控制端用户用工具软件将木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被安装上去了。如果绑定到某一应用程序中,如绑定到系统文件,那么每一次Windows启动均会启动木马。
当发现可疑文件时,可以试试能不能删除它,因为木马多是以后台方式运行的,通过按【Ctrl+Alt+ Del】组合键是找不到的,而后台运行的应是系统进程。如果在前台进程里找不到,而又删不了(提示正在被使用)那就应该注意了。
8.51.5 怎样手工清除木马?
如果发现自己的硬盘总是莫明其妙地读盘,软驱灯经常自己亮起,网络连接及鼠标屏幕出现异常现象,很可能就是因为有木马潜伏在机器里面,此时就应该想办法清除。
那么如何清除木马而不误删其他有用文件呢?当通过上述方法找到可疑程序时,可以先看看该文件的属性。一般系统文件的修改时间应是1999年或1998年而不应该是最近的时间(安装最新的Windows 2000、Windows XP的系统除外),文件的创建时间应当不会离现在很近。当看到可疑的执行文件时间是最近甚至是当前,那可能就有问题了。
首先查进程,检查进程可以借助第三方软件,如Windows优化大师,利用其“查看进程”功能把可疑进程杀掉后,然后再看看原来怀疑的端口有没有开放(有时需重启),如果没有了那说明正确,再把该程序删掉,这样就手工删除了这匹木马了。
如果该木马改变了TXT、EXE或ZIP等文件的关联,应把注册表改过来,如果不会改,那就把注册表改回到以前的姿态,也可以恢复文件关联,可通过在DOS下执行 scanreg/restore命令来恢复注册表,不过这条命令只能恢复前五天的注册表(这是系统默认的)。此举可轻松恢复被木马改变的注册表键值,简单易用。
8.51.6 怎样通过网络连接和进程来发现木马?
1.通过网络连接
由于木马的运行常通过网络的连接来实现的,因此如果发现可疑的网络连接就可以推测木马的存在,最简单的办法是利用Windows自带的Netstat命令来查看。
一般情况下,如果没有进行任何上网操作,在MS-DOS窗口中用Netstat命令将看不到什么信息,此时可以使用“netstat -a”,“-a”用以显示计算机中目前所有处于监听状态的端口。如果出现不明端口处于监听状态,而目前又没有进行任何网络服务的操作,那么在监听该端口的很可能是木马。
2.通过系统进程
木马即使再狡猾,它也是一个活动着的应用程序,一经运行,它就时刻驻留在电脑系统的内存中,通过查看系统进程可发现可疑进程,并以此来推断木马的存在。
在Windows 2000/XP中按下【Ctl+Alt+Del】组合键,进入任务管理器,就可看到系统正在运行的全部进程,一一清查即可发现木马的活动进程。
在Windows 98下,查找进程的方法不那么方便,但有一些查找进程的工具可供使用,下面是比较著名的两款工具,一个是Prcview,它非常小巧,不到90KB,功能却很强大,它是一个免费的绿色软件,下载地址为:。通过查看系统进程这种方法来检测木马非常简便易行,但是对系统必须熟悉,因为Windows系统在运行时本身就有一些我们不是很熟悉的进程在运行着。
8.51.7 怎样使用软件杀木马?
1.常用的杀病毒工具软件
木马从某种意义上来说也是一种病毒,我们常用的病毒防护软件也都可以实现对木马的查杀,这些病毒防护软件包括KV3000、Kill3000、瑞星等,这类软件查杀其他病毒很有效,对木马的检查也比较成功,但彻底地清除不很理想,因为一般情况下木马在电脑每次启动时都会自动加载。总的说来,杀病毒软件作为防止木马的入侵来说更有效。
2.常用的网络防火墙软件
现在的网络防火墙软件比较多,常见的如国外的Lockdown,国内的天网、金山网镖等。以“天网防火墙个人版”为例,防火墙启动之后,一旦有可疑的网络连接或者木马对电脑进行控制,防火墙就会报警,同时显示出对方的IP地址、接入端口等提示信息,通过手工设置之后即可使对方无法进行攻击。
利用防火墙来实现对木马的查杀,只能检测发现木马并加以预防攻击,但不能彻底清除它。
3.专用的木马查杀软件
我们对木马不能只采用防范手段,还要将其斩草除根、彻底地清除,专用的木马查杀软件一般都带有这些特性,这类软件目前也比较多,比如:The Cleaner、木马克星、木马终结者等。
8.51.8 怎样预防木马?
随着网络的普及,木马的传播越来越快,而且新的变种层出不穷,我们在检测清除它的同时,更要注意采取措施来预防它,下面列举几种预防木马的方法。
1.不要执行任何来历不明的软件
很多木马病毒都是通过绑定在其他的软件中来实现传播的,一旦运行了这个被绑定的软件就会被感染,因此在下载软件的时候需要特别注意,一般推荐去一些信誉比较高的站点。在软件安装之前一定要用反病毒软件检查一下,建议用专门查杀木马的软件来进行检查,确定无毒后再使用。
2.不要随意打开邮件附件
现在绝大部分木马病毒都是通过邮件来传递的,而且有的还会连环扩散,因此对邮件附件的运行尤其需要注意。
3.重新选择新的客户端软件
很多木马病毒主要感染的是Microsoft的OutLook和OutLook Express的邮件客户端软件,因为这两款软件全球使用量最大,黑客们对它们的漏洞已经洞察得比较透彻。如果选用其他的邮件软件,例如Foxmail等,收到木马病毒攻击的可能性就将减小,至少不会反复感染给通信录中的好友。此外也可以直接通过Web方式来访问信箱,这样就能大大降低木马病毒的感染概率。
4.将资源管理器配置成始终显示扩展名
将Windows资源管理器配置成始终显示扩展名,一些文件扩展名为vbs、shs、pif的文件多为木马病毒的特征文件,如果碰到这些可疑的文件扩展名时就应该引起注意。
5.尽量少用共享文件夹
如果因工作等原因必须将电脑设置成共享,则最好单独设置一个共享文件夹,把所有需共享的文件都放在这个共享文件夹中,注意千万不要将系统目录设置成共享。
6.运行反木马实时监控程序
木马防范重要的一点就是在上网时最好运行反木马实时监控程序,The Cleaner等软件一般都能实时显示当前所有运行程序并有详细的描述信息。此外再加上一些专业的最新杀毒软件、个人防火墙等进行监控基本就可以放心了。
7.经常升级系统
很多木马都是通过系统漏洞来进行攻击的,微软公司发现这些漏洞之后都会在第一时间内发布补丁,很多时候打过补丁之后的系统本身就是一种最好的木马防范办法。