来源:CNCERT/CC广东分中心编写
木马程序不同于病毒程序,通常并不象病毒程序那样感染文件。木马一般是以寻找后门、窃取密码和重要文件为主,还可以对电脑进行跟踪监视、控制、查看、修改资料等操作,具有很强的隐蔽性、突发性和攻击性。由于木马具有很强的隐蔽性,用户往往是在自己的密码被盗、机密文件丢失的情况下才知道自己中了木马。在这里将介绍如何检测自己的机子是否中了木马,如何对木马进行清除和防范。
木马检测
1、查看开放端口
当前最为常见的木马通常是基于TCP/UDP协议进行Client端与Server端之间的通讯的,这样我们就可以通过查看在本机上开放的端口,看是否有可疑的程序打开了某个可疑的端口。例如冰河使用的监听端口是7626,Back Orifice 2000使用的监听端口是54320等。假如查看到有可疑的程序在利用可疑端口进行连接,则很有可能就是中了木马。查看端口的方法有几种:
(1)使用Windows本身自带的netstat命令
C:\>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:113 0.0.0.0:0 LISTENING
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1033 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1230 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1232 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1239 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1740 0.0.0.0:0 LISTENING
TCP 127.0.0.1:5092 0.0.0.0: LISTENING
TCP 127.0.0.1:5092 127.0.0.1:1748 TIME_WAI
TCP 127.0.0.1:6092 0.0.0.0:0 LISTENING
UDP 0.0.0.0:69 *:*
UDP 0.0.0.0:445 *:*
UDP 0.0.0.0:1703 *:*
UDP 0.0.0.0:1704 *:*
UDP 0.0.0.0:4000 *:*
UDP 0.0.0.0:6000 *:*
UDP 0.0.0.0:6001 *:*
UDP 127.0.0.1:1034 *:*
UDP 127.0.0.1:1321 *:*
UDP 127.0.0.1:1551 *:*
(2)使用windows2000下的命令行工具fport
E:\software>Fport.exe
FPort v2.0 - TCP/IP Process to Port Mapper
Copyright 2000 by Foundstone, Inc.
[url]http://www.foundstone.com[/url]
Pid Process Port Proto Path
420 svchost -> 135 TCP E:\WINNT\system32\svchost.exe
8 System -> 139 TCP
8 System -> 445 TCP
768 MSTask -> 1025 TCP E:\WINNT\system32\MSTask.exe
8 System -> 1027 TCP
8 System -> 137 UDP
8 System -> 138 UDP
8 System -> 445 UDP
256 lsass -> 500 UDP E:\WINNT\system32\lsass.exe
(3)使用图形化界面工具Active Ports
这个工具可以监视到电脑所有打开的TCP/IP/UDP端口,还可以显示所有端口所对应的程序所在的路径,本地IP和远端IP(试图连接你的电脑IP)是否正在活动。这个工具适用于Windows NT/2000/XP平台。
2、查看win.ini和system.ini系统配置文件
查看win.ini和system.ini文件是否有被修改的地方。例如有的木马通过修改win.ini文件中windows节 的“load=file.exe ,run=file.exe”语句进行自动加载。此外可以修改system.ini中的boot节,实现木马加载。例如 “妖之吻” 病毒,将“Shell=Explorer.exe” (Windows系统的图形界面命令解释器)修改成“Shell=yzw.exe”,在电脑每次启动后就自动运行程序yzw.exe。修改的方法是将“shell=yzw.exe”还原为“shell=explorer.exe”就可以了。
3、查看启动程序
如果木马自动加载的文件是直接通过在Windows菜单上自定义添加的,一般都会放在主菜单的“开始->程序->启动”处,在Win98资源管理器里的位置是“C:\windows\start menu\programs\启动”处。通过这种方式使文件自动加载时,一般都会将其存放在注册表中下述4个位置上: ��
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Explorer\Shell Folders �
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Explorer\User Shell Folders
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\Explorer\User Shell Folders�
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\Explorer\Shell Folders
检查是否有可疑的启动程序,便很容易查到是否中了木马。
在Win98系统下,还可以直接运行Msconfig命令查看启动程序和system.ini、win.ini、autoexec.bat等文件。
4、查看系统进程
木马即使再狡猾,它也是一个应用程序,需要进程来执行。可以通过查看系统进程来推断木马是否存在。
��在Windows NT/XP系统下,按下“CTL+ALT+DEL”,进入任务管理器,就可看到系统正在运行的全部进程。在Win98下,可以通过Prcview和winproc工具来查看进程。查看进程中,要求你要对系统非常熟悉,对每个系统运行的进程要知道它是做什么用的,这样,木马运行时,就很容易看出来哪个是木马程序的活动进程了。
5、查看注册表
木马一旦被加载,一般都会对注册表进行修改。一般来说,木马在注册表中实现加载文件一般是在以下等处:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\RunServices
此外在注册表中的HKEY_CLASSES_ROOT\exefile\shell\open\command=
““%1” %*”处,如果其中的“%1”被修改为木马,那么每次启动一个该可执行文件时木马就会启动一次,例如著名的冰河木马就是将TXT文件的Notepad.exe改成了它自己的启动文件,每次打开记事本时就会自动启动冰河木马,做得非常隐蔽。还有“广外女生”木马就是在HKEY_CLASSES_ROOT\exefile\shell\open
\command=““%1” %*”处将其默认键值改成"%1" %*",并在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\RunServices添加了名称为"Diagnostic Configuration"的键值;
6、使用检测软件
上面介绍的是手工检测木马的方法,此外,我们还可以通过各种杀毒软件、防火墙软件和各种木马查杀工具等检测木马。各种杀毒软件主要有:江民、瑞星、卡巴斯基、诺顿等,防火墙软件主要有国外的Lockdown,国内的天网、金山网镖等,各种木马查杀工具主要有:The Cleaner、木马克星、木马终结者等。这里推荐一款工具防护工具McAfee VirusScan ,它集合了入侵防卫及防火墙技术,为个人电脑和文件服务器提供全面的病毒防护。
木马清除
检测到电脑中了木马后,就要根据木马的特征来进行清除。查看是否有可疑的启动程序、可疑的进程存在,是否修改了win.ini、system.ini系统配置文件和注册表。如果存在可疑的程序和进程,就按照特定的方法进行清除。主要的步骤都不外乎以下几个:(但并不是所有的木马清除都能够根据下列步骤删除,这里只是介绍清除木马的基本方法)
1、删除可疑的启动程序
查看系统启动程序和注册表是否存在可疑的程序后,判断是否中了木马,如果存在木马,则除了要查出木马文件并删除外,还要将木马自动启动程序删除。例如Hack.Rbot病毒、后门就会拷贝自身到一些固定的windows自启动项中:
WINDOWS\All Users\Start Menu\Programs\StartUp
WINNT\Profiles\All Users\Start Menu\Programs\Startup
WINDOWS\Start Menu\Programs\Startup
Documents and Settings\All Users\Start Menu\Programs\Startup
查看一下这些目录,如果有可疑的启动程序,则将之删除。
2、恢复win.ini和system.ini系统配置文件的原始配置
许多病毒会将win.ini和system.ini系统配置文件修改,使之能在系统启动时加载和运行木马程序。例如电脑中了“妖之吻”病毒后,病毒会将system.ini中的boot节的“Shell=Explorer.exe”字段修改成“Shell=yzw.exe”,清除木马的方法是把system.ini给恢复原始配置,即“Shell=yzw.exe”修改回“Shell=
Explorer.exe”,再删除掉病毒文件即可。
TROJ_BADTRANS.A病毒,也会更改win.ini以便在下一次重新开机时执行木马程序。主要是将win.ini中的windows节的“Run=”字段修改成“Run= C:%WINDIR%INETD.EXE”字段。执行清除的步骤如下:
�� (1)打开win.ini文本文件,将字段“RUN=C:%WINDIR%INETD.EXE”中 等号后面的字符删除,仅保留“RUN=”。
�� (2)将被TROJ_BADTRANS.A病毒感染的文件删除。
3、停止可疑的系统进程
木马程序在运行时都会在系统进程中留下痕迹。通过查看系统进程可以发现运行的木马程序,在对木马进行清除时,当然首先要停掉木马程序的系统进程。例如Hack.Rbot病毒、后门除了将自身拷贝到一些固定的windows自启动项中外,还在进程中运行wuamgrd.exe程序,修改了注册表,以便病毒可随机自启动。在看到有木马程序在进程中运行,则需要马上杀掉进程,并进行下一步操作,修改注册表和清除木马文件。
4、修改注册表
查看注册表,将注册表中木马修改的部分还原。例如上面所提到的Hack.Rbot病毒、后门,向注册表的以下地方:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion \RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Run
添加了键值"Microsoft Update" = "wuamgrd.exe",以便病毒可随机自启动。这就需要我们进入注册表,将这个键值给删除。注意:可能有些木马会不允许执行.exe文件,这样我们就需要先将regedit.exe改成系统能够运行的,比如可以改成regedit.com。这里就说说如何清除Hack.Rbot病毒、后门的。
(1)将进程中运行的wuamgrd.exe进程停止,这是一个木马程序;
(2)将Hack.Rbot拷贝到windows启动项中的启动文件删除;
(3)将Hack.Rbot添加到注册表中的键值"Microsoft Update"=
"wuamgrd.exe"删除;
(4)手工或用专杀工具删除被Hack.Rbot病毒感染的文件。并全面检查系统。
5、使用杀毒软件和木马查杀工具进行木马查杀
常用的杀毒软件包括KV、瑞星、诺顿等,这些软件对木马的查杀是比较有效的,但是要注意时刻更新病毒库,而且对于一些木马查杀不彻底,在系统重新启动后还会自动加载。此外,你还可以使用The Cleaner、木马克星、木马终结者等各种木马转杀工具对木马进行查杀。
木马防范
随着网络的普及,硬件和软件的高速发展,网络安全显得日益重要。对于网络中比较流行的木马程序,传播时间比较快,影响比较严重,因此对于木马的防范就更不能疏忽。我们在检测清除木马的同时,还要注意对木马的预防,做到防范于未然。
1、不要随意打开来历不明的邮件
现在许多木马都是通过邮件来传播的,当你收到来历不明的邮件时,请不要打开,应尽快删除。并加强邮件监控系统,拒收垃圾邮件。
2、不要随意下载来历不明的软件
最好是在一些知名的网站下载软件,不要下载和运行那些来历不明的软件。在安装软件的同时最好用杀毒软件查看有没有病毒,之后才进行安装。
3、及时修补漏洞和关闭可疑的端口
一般木马都是通过漏洞在系统上打开端口留下后门,以便上传木马文件和执行代码,在把漏洞修补上的同时,需要对端口进行检查,把可疑的端口关闭。
4、尽量少用共享文件夹
如果必须使用共享文件夹,则最好设置帐号和密码保护。注意千万不要将系统目录设置成共享,最好将系统下默认共享的目录关闭。Windows系统默认情况下将目录设置成共享状态,这是非常危险的。
5、运行实时监控程序
在上网时最好运行反木马实时监控程序和个人防火墙,并定时对系统进行病毒检查。
6、经常升级系统和更新病毒库
经常关注厂商网站的安全公告,这些网站通常都会及时的将漏洞、木马和更新公布出来,并第一时间发布补丁和新的病毒库等。