分享

[征文]线程插入技术-残星解剖DLL木马

 昵称57440 2008-02-21
最近比较关注一些流行木马,觉得有必要深入研究一下线程病毒,于是就花了两天时间来学习,有了些心得,写出来和大家交流一下.........我可怜的处女贴 

一.名词解释 

1>.线程插入技术就是把病毒代码内嵌到正常进程中,并不独立建立进程,这样能够较好的因长河保护自己,属于比较高的境界.因为一般来讲系统每个进程都有自己的独立内存空间,别的进程是无法对其实现写入操作的,但是那些高手总是可以得逞,比如利用一个远程线程进入远程进程的私有内存,从而轻易躲过愚昧的杀毒软件查杀,而且有的进程是被允许访问网络的,所以依然能够轻易通过同样愚昧的防火墙的拦截,对于这点残星发自内心的佩服! 

2>.DLL文件,两线中间的内容来自百度百科 
---------------------------------------------------------- 
DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。 

DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。 

DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的 DLL文件被称为共享DLL文件。DLL文件一般被存放在C:\Windows\System目录下 

动态链接库DLL(Dynamic Link Library)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。 

动态链接库—优点 
1. 共享代码、资源和数据 
 使用DLL的主要目的就是为了共享代码,DLL的代码可以被所有的Windows应用程序共享。 
2. 隐藏实现的细节 
 DLL中的方法可以被应用程序访问,而应用程序并不知道这些方法的细节。 
3. 拓展开发工具的功能 
 由于DLL是与语言无关的,因此可以创建一个DLL,被C++、VB或任何支持动态链接库的语言调用。这样如果一种语言存在不足,就可以通过访问另一种语言创建的DLL来弥补。 
---------------------------------------------------------------- 

3>.Loader.记得前两天有人在吧里问用什么打开.DLL文件,答案是.EXE可执行程序,这个EXE就是传说中的Loader.因为库文件不能独立运行,需要一个.EXE文件来勾引它,让被插入的进程调用这个库文件的主函数,从而运行木马,然后病毒就发作了,嘿嘿.......... 

二.系统中部分DLL文件的功能 

1>.Browselc.dll IE所需要调用的库文件DLL结构雏形 

2>.Cryptui.dll IE控件下载及提示对话框程序 

3>.Shdoclc.dll 系统窗口及设置等,(如删除文件、重命名) 

其他的请恕残星太菜,不知道了........... 

三.基本预防和查杀DLL木马的方法和建议 

1>.首先当然还是要利用杀软和防火墙了,但是也不能过分依赖,比如误报之王-卡巴............ 

2>.经常检查启动项,那里是病毒只喜欢也是最容易暴露的地方,留心检查有没有多余的可疑项目.其实一般来讲启动项里留下ctfmon就够了,还可以加入杀软和防火墙,看你需要了........... 
 
3>.中了之后也不要害怕,杀软搞不定-删不掉的话可以手动删除文件,扫描到可疑文件的话做好记录,然后彻底清理,包括注册表.........想知道DLL文件被几个程序使用么?哈哈,看这里-----注册表:HKEY_LOCAL_MACHINE\Software\Microsrft\Windows\CurrentVersion\SharedDlls子键,右边窗口记录了所有库文件及其相关数据,数据右边的小括号内的素质就说明了被几个程序使用,(0)则表示无程序使用,可以放心大胆的删除,这应该就是优化大师分析冗余的DLL文件的原理吧,呵呵...... 

3>.如果被注入了系统关键进程,残星推荐我的最爱-冰刃!用它对相应的dll强制解除,一切OK! 

四.相关问题解决 

1>.开机提示DLL文件丢失 

这可能是正常卸载软件残留问题,比如误删了共享的库文件..........也有可能是病毒被查杀后,当时被替换的系统库文件丢失造成的.我们可以从其他机器上复制此文件到system32下,或者进注册表搜索该木马的残留项删除就好了(这就是<三>中提到的清理注册表)还可以运行-msconfig-SYSTEMINI下把相关DLL加载去掉........ 

2>.关机时间过长 

这很可能是因为系统调用的DLL文件太多了,导致关机慢死,其实只需要把一些无关痛痒的库文件删除就好了^_^ 

五.残星告白 

我的名言--杀毒在于防毒,防毒在于意识!不要过分的依赖杀毒软件,那只是工具而已.................

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多