木马检测
1、查看开放端口
当前最为常见的木马通常是基于TCP/UDP协议进行Client端与Server端之间的通讯的,这样我们就可以通过查看在本机上开放的端口,看是否有可疑的程序打开了某个可疑的端口。例如冰河使用的监听端口是7626,Back Orifice 2000使用的监听端口是54320等。假如查看到有可疑的程序在利用可疑端口进行连接,则很有可能就是中了木马。查看端口的方法有几种:
(1)使用Windows本身自带的netstat命令
C:\>netstat -an
Active Connections
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 *:*
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]
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
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等文件。
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工具来查看进程。查看进程中,要求你要对系统非常熟悉,对每个系统运行的进程要知道它是做什么用的,这样,木马运行时,就很容易看出来哪个是木马程序的活动进程了。
在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"的键值;
. 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"的键值;