怎样查找木马.docx

上传人:b****8 文档编号:9297804 上传时间:2023-02-04 格式:DOCX 页数:14 大小:27.60KB
下载 相关 举报
怎样查找木马.docx_第1页
第1页 / 共14页
怎样查找木马.docx_第2页
第2页 / 共14页
怎样查找木马.docx_第3页
第3页 / 共14页
怎样查找木马.docx_第4页
第4页 / 共14页
怎样查找木马.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

怎样查找木马.docx

《怎样查找木马.docx》由会员分享,可在线阅读,更多相关《怎样查找木马.docx(14页珍藏版)》请在冰豆网上搜索。

怎样查找木马.docx

怎样查找木马

教你如何查找木马病毒:

细数木马病毒的十大经典藏身之地作者:

shazi1896日期:

2007-12-04

字体大小:

小中大

  

  木马病毒是一种基于远程控制的病毒程序,该程序具有很强的隐蔽性和危害性,可以在人不知鬼不觉的状态下控制你或者监视你。

有人说,既然木马这么厉害,那我离它远一点不就可以了!

  然而这个木马实在是“淘气”,它可不管你是否欢迎,只要它高兴,它就会想法设法地闯到你“家”中来的!

哎呀,那还了得,赶快看看自己的电脑中有没有木马,说不定正在“家”中兴风作浪呢!

那怎么知道木马在哪里呢,相信不熟悉木马的菜鸟们肯定想知道这样的问题。

下面就是木马潜伏的诡招,看了以后不要忘记采取绝招来对付这些损招哟!

  1、集成到程序中

  其实木马也是一个服务器-客户端程序,它为了不让用户能轻易地把它删除,就常常集成到程序里,一旦用户激活木马程序,那么木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被安装上去了。

绑定到某一应用程序中,如绑定到系统文件,那么每一次Windows启动均会启动木马。

  2、隐藏在配置文件中

  木马实在是太狡猾,知道菜鸟们平时使用的是图形化界面的操作系统,对于那些已经不太重要的配置文件大多数是不闻不问了,这正好给木马提供了一个藏身之处。

利用配置文件的特殊作用,木马很容易就能在大家的计算机中运行、发作,从而偷窥或者监视大家。

不过,现在这种方式不是很隐蔽,容易被发现,所以在Autoexec.bat和Config.sys中加载木马程序的并不多见,但也不能因此而掉以轻心哦。

  3、潜伏在Win.ini中

  木马要想达到控制或者监视计算机的目的,必须要运行,然而没有人会傻到自己在自己的计算机中运行这个该死的木马。

当然,木马也早有心理准备,知道人类是高智商的动物,不会帮助它工作的,因此它必须找一个既安全又能在系统启动时自动运行的地方,于是潜伏在Win.ini中是木马感觉比较惬意的地方。

大家不妨打开Win.ini来看看,在它的[windows]字段中有启动命令“load=”和“run=”,在一般情况下“=”后面是空白的,如果有后跟程序,比方说是这个样子:

run=c:

windowsfile.exeload=c:

windowsfile.exe,这时你就要小心了,这个file.exe很可能是木马哦。

  4、伪装在普通文件中

  这个方法出现的比较晚,不过现在很流行,对于不熟练的windows操作者,很容易上当。

具体方法是把可执行文件伪装成图片或文本-在程序中把图标改成Windows的默认图片图标,再把文件名改为*.jpg.exe,由于Windows的很多系统是默认"不显示已知的文件后缀名"的,所以文件将会显示为*.jpg,不注意的人一点这个图标就中木马了(如果你在程序中嵌一张图片就更完美了)。

  5、内置到注册表中

  上面的方法让木马着实舒服了一阵,既没有人能找到它,又能自动运行,真是快哉!

然而好景不长,人类很快就把它的马脚揪了出来,并对它进行了严厉的惩罚!

但是它还心有不甘,总结了失败教训后,认为上面的藏身之处很容易找,现在必须躲在不容易被人发现的地方,于是它想到了注册表!

  的确注册表由于比较复杂,木马常常喜欢藏在这里快活,赶快检查一下,有什么程序在其下,睁大眼睛仔细看了,别放过木马哦:

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion下所有以“run”开头的键值;HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion下所有以“run”开头的键值;HKEY-USERS.DefaultSoftwareMicrosoftWindowsCurrentVersion下所有以“run”开头的键值。

  6、在System.ini中藏身

  木马真是无处不在呀!

什么地方有空子,它就往哪里钻!

这不,Windows安装目录下的System.ini也是木马喜欢隐蔽的地方。

还是小心点,打开这个文件看看,它与正常文件有什么不同,在该文件的[boot]字段中,是不是有这样的内容,那就是shell=Explorer.exefile.exe,如果确实有这样的内容,那你就不幸了,因为这里的file.exe就是木马服务端程序!

另外,在System.ini中的[386Enh]字段,要注意检查在此段内的“driver=路径\程序名”,这里也有可能被木马所利用。

  再有,在System.ini中的[mic]、[drivers]、[drivers32]这三个字段,这些段也是起到加载驱动程序的作用,但也是增添木马程序的好场所,现在你该知道也要注意这里喽。

  7、隐形于启动组中

  有时木马并不在乎自己的行踪,它更注意的是能否自动加载到系统中,因为一旦木马加载到系统中,任你用什么方法你都无法将它赶跑(哎,这木马脸皮也真是太厚),因此按照这个逻辑,启动组也是木马可以藏身的好地方,因为这里的确是自动加载运行的好场所。

  启动组对应的文件夹为:

C:

windowsstartmenuprogramsstartup,在注册表中的位置:

 

  HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer

  ShellFoldersStartup="C:

windowsstartmenuprogramsstartup"。

要注意经常检查启动组哦!

  8、隐蔽在Winstart.bat中

  按照上面的逻辑理论,凡是利于木马能自动加载的地方,木马都喜欢呆。

这不,Winstart.bat也是一个能自动被Windows加载运行的文件,它多数情况下为应用程序及Windows自动生成,在执行了W并加载了多数驱动程序之后开始执行(这一点可通过启动时按F8键再选择逐步跟踪启动过程的启动方式可得知)。

由于Autoexec.bat的功能可以由Winstart.bat代替完成,因此木马完全可以像在Autoexec.bat中那样被加载运行,危险由此而来。

  9、捆绑在启动文件中

  即应用程序的启动配置文件,控制端利用这些文件能启动程序的特点,将制作好的带有木马启动命令的同名文件上传到服务端覆盖这同名文件,这样就可以达到启动木马的目的了。

  10、设置在超级连接中

  木马的主人在网页上放置恶意代码,引诱用户点击,用户点击的结果不言而喻:

开门揖盗!

奉劝不要随便点击网页上的链接,除非你了解它,信任它,为它死了也愿意等等。

在这个万“马”奔腾的时代,网络上充斥着各种各样的木马,不过随着杀毒技术的进步和大家防毒意识的提高,传统木马已渐渐失去市场,而DLL木马则“与时俱进”以其强大的生命力,继续网络中“为非作歹”。

因DLL木马的启动方式比较特别,它不象传统的木马,启动时会“傻傻”地在进程列表中暴露自己,而且还可以通过插入系统进程运行自己,具有很强的隐蔽性。

本文就和大家一起来揭开DLL木马的神秘面纱。

  一、初识DLL木马

  首先了解一下DLL文件,DLL(DynamicLinkLibrary)是系统中的动态链接库文件,DLL文件本身并不能够运行,需要应用程序来调用。

当程序运行时,Windows将其装入内存中,并寻找文件中出现的动态链接库文件。

对于每个动态链接,Windows都会装入指定的DLL文件并把它映射到相应虚拟地址空间中。

DLL木马实际就是把一段实现了木马功能的代码加上一些特殊代码写成DLL文件。

DLL文件运行时是插入到应用程序的内存模块当中,所以DLL文件无法删除。

  下面以一个实例说明DLL文件的运行,单击“开始→运行”并输入“rundll32.exenetplwiz.dll,UsersRunDll”,回车后会看到一个用户账户设置窗口,打开进程列表发现系统新增一个“rundll32.exe”进程,但是并不会发现DLL之类的进程,“netplwiz.dll,UsersRunDll”就是通过“rundll32.exe”来调用的,如果这是一个DLL木马,那么它启动后新增的进程就是正常的“rundll32.exe”,一般用户也不会将“rundll32.exe”中止或删除,而木马此时却可以在后台悄悄地“作恶”。

  小提示

  当然除了用“rundll32.exe”作为载体外,DLL木马还可以通过动态嵌入技术,通过任意一个系统进程进行加载。

  二、查杀方法

  前面介绍了DLL文件自身并不能运行,它必须通过其它程序调用才能“作恶”,主要有以下两种途径:

  1.通过Rundl32l.exe启动的木马

  木马运行如上所述,系统启动后若发现加载了“rundll32.exe”进程,那很可能就是中招了。

不过系统也会调用“rundll32.exe”来加载正常的DLL文件,主要看加载的是什么DLL文件,因为木马大多是通过注册表键值来自启动。

首先检查那些常见的自启动键值,如“3721”就是通过DLL文件来启动的,虽然它并不是木马,但是它的自启动和运行方式可以借鉴。

它在注册表的[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下,新添了一个“CnsMin”的键值,启动命令是“Rundll32.exeE:

\WINDOWS\DOWNLO~1\CnsMin.dll,Rundll32”(如图1)。

这样每次启动系统后“CnsMin.dll”都会被Rundll32.exe调用,而在进程列表出现的则是Rundl32.exe。

此类DLL木马的运行过程大多如此,查杀方法是:

首先将“rundll32.exe”进程终止,接着查找注册表各启动键值,从启动命令的路径中找到相应的DLL文件并删除即可。

图1注册表

  2.嵌入式木马

  运用Rundl32l.exe调用的木马,很容易被用户发现并查杀。

为了提高“马儿”的成活率,网上出现了动态嵌入式木马,它是将木马代码嵌入到正在运行的进程中。

理论上来说,在Windows中的每个进程都有自己的私有内存空间,别的进程是不允许对这个私有空间进行操作的,但实际上,动态嵌入式木马就是通过嵌入进程来“作恶”的。

虽然编写这种动态式嵌入木马有一定的技术难度,但是很多“雷锋”式的制马高手将此类木马随意放在网上,初学者下载这种木马后只要按提示选择嵌入进程就可以轻松生成木马,把客户端发送到对方电脑并运行后,动态嵌入式木马就可以在我们的电脑“安家落户”了,这也是众多用户中招的原因。

下面以查杀“winlogon.exe”进程木马为例,介绍一下查杀技巧。

  ①.查看连接

  不管是何种类型的木马,它要“作恶”肯定要通过本地端口与外部电脑连接,只要查看本机开放端口和连接情况,一般就可以找出木马客户端。

查看端口和连接可用“netstat”命令(格式:

nestat–a–o),不过这个命令并不能看到发起连接的进程。

这里推荐大家使用“CurrPorts汉化版”,它是一款免费的网络连接检测工具,除了能够列出所有TCP/IP和UDP连接外,还可以列出打开端口的应用程序,并提供终止程序功能。

运行“CurrPorts”后,会发现“winlogon.exe”已被一远程地址连接,打开的端口是6666、6671、6669、6672。

“winlogon.exe”是WindowsNT的用户登陆程序,这个进程是管理用户登录和退出的,它在用户按下CTRL+ALT+DEL时就激活了,显示安全对话框。

正常情况下,这个进程是不会向外发起连接的,若“winlogon.exe”发起连接,则是中了嵌入“winlogon.exe”进程的DLL木马,在“CurrPorts”中选中进程,依次将连接中断(如图2),需要注意的是不要选择“终止打开选中端口的进程”,否则电脑会自动重启。

图2将连接中断

  小知识:

端口状态参数含义

  LISTENING表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接,只有TCP协议的服务端口才能处于LISTENING状态。

  ESTABLISHED的意思是建立连接,表示两台机器正在通信。

  TIME_WAIT的意思是结束了这次连接。

说明端口曾经有过访问,但访问结束了。

  SYN_SENT是本机向其它计算机发出的连接请求,一般这个状态存在的时间很短

②.分析

  既然是插入进程的DLL木马,通过查看“winlogon.exe”进程加载DLL模块应该可以找出“真凶”。

查看模块利用免费软件“prcmgrWindows进程管理器”,运行软件后选中进程并切换到“进程模块”选项卡,接着单击“导出列表”,将加载列表导出为TXT文件(如图3)。

图3将加载列表导出为TXT文件

  小提示

  若木马插入到“Explorer”、“Iexplorer.exe”等进程中,由于启动的应用程序不同,则加载的DLL模块也是不同的,为便于比较最好关闭所有不必要的程序再进行导出。

  ③.查找木马

  用上文的方法到另一台电脑中同样导出“winlogon.exe”进程加载的DLL模块文件,用记事本打开这两个文件比较,可以看到中招电脑上进程模块比正常电脑多出14个(如图4),现在一一比较将相同模块文件删除后,顺利找到多出的14个DLL文件,经查看文件属性获知,“e:

\windows\rundll.dll”为非微软“制造”,它就是DLL木马。

图4可以看到中招电脑上进程模块比正常电脑多出14个

  小提示

  如果是系统正常的DLL文件,文件属性中都会有一个“版本”标签,公司名称为“MicrosoftCorporation”,创建日期是“2001年9月5日,:

13:

00”,可根据这一特性来判断是否为木马文件。

如本例的“rundll.dll”木马,创建日期“2004年11月13日,:

11:

59”,修改日期则是“2001年9月5日,:

13:

00”,也就是说还没创建文件时就被修改了,显然是非法文件!

  ④.删除木马

  由于“winlogon.exe”是系统关键进程无法终止,所以也无法直接删除“rundll.dll”,这里使用系统权限设置来禁止“winlogon.exe”的调用。

打开“我的电脑”,单击“工具→文件夹选项→查看”,然后在“高级设置”选项下去除“简单文件共享(推荐)”前的小勾;随后找到“rundll.dll”右击选择“属性”命令,点击“安全”标签,接着单击“高级”项,在弹出的窗口清除“从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目”复选框,最后单击删除,去除所有继承的权限(如图5),依次单击“确定”后退出,这样系统中就没有任何进程可以调用“rundll.dll”,重启后重新勾选“从父项继承那些可以应用到子对象的权限项目权限”,然后将其删除。

图5去除所有继承的权限

  小提示

  上述权限操作仅对采用NTFS分区的系统有效,对于采用FAT32分区的系统,可以重启后进入纯DOS将木马文件删除。

如果加载DLL木马的进程可以被终止,如嵌入“Explorer.exe”木马,只要将进程终止,然后找到文件将它删除即可。

⑤.修复自启动

  DLL木马会通过注册表键值进行自启动,查看自启动菜单推荐大家使用“Autoruns8.13汉化版”,它也是一款免费工具,可以查看系统所有启动项目。

运行后单击“登录”,可以看到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run]下,有一“Windows服务”启动项极为可疑(加载的是“E:

\WINDOWS\msagent\”),右击选择“转到具体位置”(如图6)。

此时程序将直接打开注册表,随后将该键值删除,至此DLL木马顺利被查杀。

那么“”与“rundll”木马究竟是什么关系?

这其实是一对守护进程,用于守护嵌入“winlogon.exe”进程的木马,如果发现被插入的进程被终止,立刻重新启动该进程。

不过本例的“winlogon.exe”进程如果被终止,系统会重新启动,它也帮不上什么忙了。

图6转到具体位置

  小提示

  很多DLL木马被终止后立刻又会复活,就是由于有守护进程的存在,只有把守护进程“掐死”后,才能终止木马的运行。

  三、总结经验

  嵌入式木马作为一种“科技含量”较高的木马,用一般方法不易发现,查杀也有一定的难度,我们只要根据上述流程进行查杀,还是可以将其全部“消灭”。

总结一下查杀步骤:

首先用“CurrPorts”查看本机开放端口和连接并终止非法连接,找到发起连接进程,接着用“prcmgrWindows进程管理器”找出DLL木马,然后将木马文件删除,最后通过“Autoruns”修复注册表即可。

 

  目前网络上最猖獗的病毒估计非木马程序莫数了,2004年后木马程序的攻击性也有了很大的加强,在进程隐藏方面,做了较大的改动,不再采用独立的EXE可执行文件形式,而是改为内核嵌入方式、远程线程插入技术、挂接PSAPI等,这些木马也是目前最难对付的。

本期就教你查找和清除线程插入式木马。

  操作步骤:

  1、通过自动运行机制查木马

  一说到查找木马,许多人马上就会想到通过木马的启动项来寻找“蛛丝马迹”,具体的地方一般有以下几处:

  1)注册表启动项:

  在“开始/运行”中输入“regedit.exe”打开注册表编辑器,依次展开[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\],查看下面所有以"Run"开头的项,其下是否有新增的和可疑的键值,也可以通过键值所指向的文件路径来判断,是新安装的软件还是木马程序。

  另外[HKEYLOCALMACHINE\Software\classes\exefile\shell\open\command\]键值也可能用来加载木马,比如把键值修改为“X:

\windows\system\ABC.exe"%1"%”。

  2)系统服务

  有些木马是通过添加服务项来实现自启动的,大家可以打开注册表编辑器,在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices]下查找可疑键值,并在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\]下查看的可疑主键。

  然后禁用或删除木马添加的服务项:

在“运行”中输入“Services.msc”打开服务设置窗口,里面显示了系统中所有的服务项及其状态、启动类型和登录性质等信息。

找到木马所启动的服务,双击打开它,把启动类型改为“已禁用”,确定后退出。

也可以通过注册表进行修改,依次展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务显示名称”键,在右边窗格中找到二进制值“Start”,修改它的数值数,“2”表示自动,“3”表示手动,而“4”表示已禁用。

当然最好直接删除整个主键,平时可以通过注册表导出功能,备份这些键值以便随时对照。

  3)开始菜单启动组

  现在的木马大多不再通过启动菜单进行随机启动,但是也不可掉以轻心。

如果发现在“开始/程序/启动”中有新增的项,可以右击它选择“查找目标”到文件的目录下查看一下,如果文件路径为系统目录就要多加小心了。

也可以在注册表中直接查看,它的位置为[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders],键名为Startup。

  4)系统INI文件Win.ini和System.ini

  系统INI文件Win.ini和System.ini里也是木马喜欢隐蔽的场所。

选择“开始/运行”,输入“msconfig”调出系统配置实用程序,检查Win.ini的[Windows]小节下的load和run字段后面有没有什么可疑程序,一般情况下“=”后面是空白的;还有在System.ini的[boot]小节中的Shell=Explorer.exe后面也要进行检查。

  5)批处理文件

  如果你使用的是WIN9X系统,C盘根目录下“AUTOEXEC.BAT”和WINDOWS目录下的“WinStart.bat”两个批处理文件也要看一下,里面的命令一般由安装的软件自动生成,在系统默认会将它们自动加载。

在批处理文件语句前加上“echooff”,启动时就只显示命令的执行结果,而不显示命令的本身;如果再在前面加一个“@”字符就不会出现任何提示,以前的很多木马都通过此方法运行。

  2、通过文件对比查木马

  最近新出现的一种木马。

它的主程序成功加载后,会将自身做为线程插入到系统进程SPOOLSV.EXE中,然后删除系统目录中的病毒文件和病毒在注册表中的启动项,以使反病毒软件和用户难以查觉,然后它会监视用户是否在进行关机和重启等操作,如果有,它就在系统关闭之前重新创建病毒文件和注册表启动项。

下面的几招可以让它现出原形(下面均以WinXP系统为例):

  1)对照备份的常用进程

  大家平时可以先备份一份进程列表,以便随时进行对比查找可疑进程。

方法如下:

开机后在进行其他操作之前即开始备份,这样可以防止其他程序加载进程。

在运行中输入“cmd”,然后输入“tasklist/svc>X:

\processlist.txt”(提示:

不包括引号,参数前要留空格,后面为文件保存路径)回车。

这个命令可以显示应用程序和本地或远程系统上运行的相关任务/进程的列表。

输入“tasklist/?

”可以显示该命令的其它参数。

  2)对照备份的系统DLL文件列表

  对于没有独立进程的DLL木马怎么办吗?

既然木马打的是DLL文件的主意,我们可以从这些文件下手,一般系统DLL文件都保存在system32文件夹下,我们可以对该目录下的DLL文件名等信息作一个列表,打开命令行窗口,利用CD命令进入system32目录,然后输入“dir*.dll>X:

\listdll.txt”敲回车,这样所有的DLL文件名都被记录到listdll.txt文件中。

日后如果怀疑有木马侵入,可以再利用上面的方法备份一份文件列表“listdll2.txt”,然后利用“UltraEdit”等文本编辑工具进行对比;或者在命令行窗口进入文件保存目录,输入“fclistdll.txtlistdll2.txt”,这样就可以轻松发现那些发生更改和新增的DLL文件,进而判断是否为木马文件。

  3)对照已加载模块

  频繁安装软件会使system32目录中的文件发生较大变化,这时可以利用对照已加载模块的方法来缩小查找范围。

在“开始/运行”中输入“msinfo32.exe”打开“系统信息”,展开“软件环境/加载的模块”,然后选择“文件/导出”把它备份成文本文件,需要时再备份一个进行对比即可。

  4)查看可疑端口

  所有的木马只要进行连接,接收/发送数据则必然会打开端口,DLL木马也不例外,这里我们使用netstat命令

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1