DLL木马的发现与清除

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DLL木马的发现与清除

林廷劈

(三明学院数学与计算机科学系,福建三明

365004)

摘要:探讨了DLL木马的危害性,提出了如何发现这种木马的方法以及清除这种新型木马的措施。关键词:网络安全;DLL木马;发现;清除中图分类号:TP393.08

文献标识号:A

文章编号:1673-4343(2006)04-0439-04

TheDetectionandDeletionoftheDLLTrojanHorse

LINTing-pi

(DepartmentofMathematicsandComputerScience,SanmingUniversity,Sanming365004,China)

Abstract:ThisarticlediscussestheharmoftheDLLBackdoor,pointsouthowtodetectthebackdoorandintroducessomemethodshowtoerasethisnewtypeofbackdoor.

Keywords:DLLTrojanHorse;detection;deletion

引言

木马在如今的网络中,是十分普遍的存在,它的危害不言而喻。如果你家的电脑经常泄露秘密,一般都是木马的原因。随着人们对网络安全意识的提高,对木马认识的加强,传统的木马(一个或几个可执行程序)已经很难再隐藏自己,于是出现了一种新型的木马,它就是用DLL文件做成的木马。这种木马把自己做成一个DLL文件,然后再由某个EXE程序文件作为载体对它进行调用,或者使用RUNDLL32.EXE来启动,通过这样的技术处理,一方面不会有木马本身的进程出现,同时也实现了端口的隐藏。因此这种木马很难被察觉,也很难清除。本文针对DLL木马这一问题进行探讨,提出了DLL木马如何发现和清除的方法。

1木马侵入机器的途径和危害

木马大多十分隐蔽,在多数情况下,很多机器

都是在不知不觉中被种植了木马。根据笔者的研究发现,木马侵入机器的途径主要有:

隐藏在软件包中,一旦用户下载了一个带有木马的软件包,在机器运行安装程序时,木马就会种植在系统中;很多木马都是绑定在某个软件上的,传播木马的玩家很喜欢把木马放在FTP服务

器上(或者WEB服务器),然后他会在网络中找各种机会宣传服务器的地址让用户去访问,所以用户下载文件时一定要小心提防;隐藏在带附件的邮件中,这种邮件很多,一些垃圾邮件就经常是这种类型,一旦运行了附件中的文件,那么木马就在你的机器中"安营扎寨"了;当然这种方式的传播对用户来说已经不可怕了,因为很多用户都有一定的警惕性了,不轻易运行附件就可以了;通过即时通信工具进行传播,比如对方把木马和一张很有诱惑力的图片绑在一起,通过QQ发给你,一般情况下你都会打开这图片看看,看完之后你的电脑就中招了;通过不良网站传播,这种情况最难防范,只要你的机器访问对方的网站,就等于“引狼入室”。目前这种不良网站数量很多,可谓防不胜防。

木马一旦侵入你的系统,无异于用户的一切资料大门洞开,后患无穷,对此不能掉以轻心。很多木马最喜欢做的事情就是收集用户各种密码,还有的专门记录用户键盘输入的字符。许多用户认为自己安装了防火墙,也安装了杀毒软件,机器就安全了。但是道高一尺魔高一丈,随着木马开发者不断地进行技术改进,很多木马都能绕过防火墙的拦截,国内常用的瑞星、天网、毒霸等工具都算不错的防火墙软件,但是这些工具对于木马开

收稿日期:2006-08-13

作者简介:林廷劈(1973-),男,福建大田人,讲师。

2006年12月第23卷第4期

三明学院学报

JOURNALOFSANMINGUNIVERSITY

Dec.2006Vol.23NO.4

发者来说太熟悉了,他们轻易就能绕过这些工具的阻拦,从而进入你的系统,一旦木马进入你的系统,很多情况下会让你束手无策,因为很多工具根本无法杀除它,即使是最好的杀毒软件“卡巴斯基”也无可奈何。于是,很多人都想到一个办法:那就是重装系统!当然,这是没办法的办法。实际上,我们通过了解和掌握计算机网络的一些防范知识,那些木马并非无迹可寻。

2识别DLL木马的方法

首先了解一下DLL文件,DLL(DynamicLink

Library)是系统中的动态链接库文件,DLL文件本

身并不能够运行,需要应用程序来调用。当程序运行时,Windows将其装入内存中,并寻找文件中出现的动态链接库文件。对于每个动态链接,

Windows都会装入指定的DLL文件并把它映射到

相应虚拟地址空间中。DLL木马实际就是把一段实现了木马功能的代码加上一些特殊代码写成

DLL文件。DLL文件运行时是插入到应用程序的

内存模块当中,所以正在被调用中的DLL文件无法删除。

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

(格式:netstat--an),通过这个命令可以查找到一些

可疑的连接,特别要注意ESTABLISHED,它表示已经建立连接,两台机器正在通信;TIME_WAIT的意思是已经结束连接,说明端口曾经有过访问,但访问结束了;SYN_SENT是本机向其它计算机发出的连接请求,一般这个状态存在的时间很短。令人遗憾的是,netstat这个命令并不能看到发起连接的进程。为此,我们还需要借助其他软件的配合使用,微软有一个软件可以很好地解决这个问题,它就是PortReport这个工具,这个工具很小,可以直接到微软的官方网站免费下载,下载地址是:

http://www.microsoft.com/downloads/details.aspx?familyid=69ba779b-bae9-4243-b9d6-63e62b4bcd2e&displaylang=en

下载完成后,直接安装,然后要激活这项服务,右键点击我的电脑,选择“管理”,在管理窗口中选择“服务”,然后在右边窗口中就可以找到PortReport服务,点击

“启动”,接下来就是查看了,找到windows\system32\Logfiles\PortReport文件

夹,在这个文件夹下,可以看到三个文件:PR-

PIDS-06-08-9-0-0-0.log,PR-PORTS-06-08-9-0-0-0.log和PR-INITIAL-06-08-9-0-0-0.log,这

三个文件是一直在更新的,即每开机一次都会自动生成三个新的文件,这里我们要着重查看第一个文件和第三个文件,在文件中会显示出系统运行了哪些进程、访问的IP地址和端口号、以及每个进程所调用的所有DLL文件(这个最重要)等,比如winlogon.exe进程所调用的DLL文件:

ProcessID:416(winlogon.exe)

Usercontext:NTAUTHORITY\SYSTEMProcessdoesn'tappeartobeaservicePortStatisticsTCPmappings:0UDPmappings:0Loadedmodules:

C:\WINDOWS\system32\winlogon.exe(0x01000000)

C:\WINDOWS\system32\ntdll.dll(0x77F30000)

C:\WINDOWS\system32\kernel32.dll(0x77E10000)

C:\WINDOWS\system32\msvcrt.dll(0x77B70000)

C:\WINDOWS\system32\ADVAPI32.dll(0x77D60000)

C:\WINDOWS\system32\RPCRT4.dll(0x77C20000)

C:\WINDOWS\system32\USER32.dll(0x77CD0000)

C:\WINDOWS\system32\GDI32.dll(0x77BD0000)

C:\WINDOWS\system32\USERENV.dll(0x75870000)

C:\WINDOWS\system32\NDdeApi.dll(0x75710000)

C:\WINDOWS\system32\CRYPT32.dll(0x760A0000)

C:\WINDOWS\system32\MSASN1.dll(0x76080000)

C:\WINDOWS\system32\Secur32.dll(0x76EB0000)

C:\WINDOWS\system32\WINSTA.dll(0x76150000)

C:\WINDOWS\system32\NETAPI32.dll

三明学院学报第23卷

440・・

相关文档
最新文档