明辨是非 文件关联型木马的特殊化查杀

2024-04-13

明辨是非 文件关联型木马的特殊化查杀(精选2篇)

篇1:明辨是非 文件关联型木马的特殊化查杀

有时候杀掉或删除某个木马后,系统也出了故障,所有应用程序都打不开了,此时,若用户对计算机技术的了解不多的话,那么最终就只能选择重装系统解决问题了!

一、什么是并联方式

令人费解的是,自己明明已经删除了木马文件和相应的启动项,却为什么不能恢复正常呢?不少用户都很疑惑,难道删除的木马竟然恶意修改了操作系统核心吗?要想解开这些疑惑,我们就不得不从什么是文件的“并联方式”说起,因为这种木马修改了应用程序文件(通常是EXE)的并联方式。说起Windows系统,就不能不谈到注册表,注册表在Windows系统中的地位是高高在上的,如果用户使用的是Windows系统,而至今还不知道什么注册表的话,那么还是先找些注册表和Windows系统原理的资料好好补习补习吧!

在Windows系统中,几乎所有文件的打开操作都是通过注册表内相应键值指定的应用程序来执行的,这个部分位于注册表的“HKEY_CLASSES_ROOT”主键内。当系统收到一个文件名请求时,就会根据这个文件的后缀名结合注册表里存储的相应键值来识别文件类型,从而调用相应的程序将其打开、执行。无论是文件夹、文档还是应用程序,Windows系统都将其视为一个文件,当然也拥有文件类型,同样可以用其他方式开启。例如:各种音频、视频文件(如:rm、avi、wmv、mp3等)都可以使用两种以上的程序将其打开播放。只不过Windows系统将应用程序(EXE)设置它的调用程序为““%1” %*”,让系统内核理解为“可执行请求”,它就会为使用这种打开方式的文件创建进程,最终文件就被加载执行了。如果有其他的程序更改了这个键值,Windows就会调用那个指定的文件来开启它。

二、木马原理

那些文件并联木马程序会把EXE后缀名对应的exefile类型的“打开方式”改成为“木马程序”%1“ %*”,运行程序时系统就会先为“木马程序”创建进程,把紧跟着的文件名作为参数传递给木马执行,这样用户就被木马欺骗了,用户会觉得程序已经被正常启动了。因为木马程序被作为所有EXE文件的调用程序,使得它可以长期驻留内存,每次都能恢复自身文件,所以在一般用户看来,这个木马就做到了“永生不死”或认为是又“死灰复燃”了,其实用户了解这些木马的原理后,就知道它既不能“长命百岁”,也没有“死而复生”的能力,

三、后果严重

然而,用户一旦将木马程序删除,Windows系统就会找不到相应的调用程序,于是正常程序就无法执行了,这就是所谓的“所有程序都无法运行”的情况来源。并不是木马更改了系统核心,当然用户也就没必要因此重装整个操作系统啦。

四、根除方法

根除这种木马的最简单方法只需要查看EXE文件的打开方式被指向了什么程序,立即停止这个程序的进程,如果它还产生了其他木马文件的话,也一起停止。紧随其后,在保持注册表编辑器开启着的情况下(否则你的所有程序都会打不开了)删除掉所有木马文件(前提是用户知道哪些是目木马文件,所以还不熟悉系统的用户抓紧时间恶补吧),把exefile的“打开方式”项(HKEY_CLASSES_ROOTexefileshellopencommand)改回原来的“”%1” %*”即可。

注册表键值

如果删除木马前忘记把并联方式改回来,就会发现程序打不开了,这时候千万不要乱了方寸。如果你是Win9x用户,请使用“外壳替换大法”:重启系统后,按F8进入启动菜单选择MS-DOS模式,把Explorer.exe随便改个名字,再把REGEDIT.EXE改名为Explorer.exe,再次重启后会发现进入Windows只剩下一个注册表编辑器了,赶快把并联方式改回来吧!再次重启的时候,别忘记恢复以前的Explorer.exe程序名。

对于Win200用户而言,这个操作就更简单了,只要在开机时按F8进入启动菜单,选择“命令提示符的安全模式”进行启动,系统就会自动调用命令提示符界面作为外壳,直接在里面输入REGEDIT即可打开注册表编辑器!

而XP用户甚至不需要重启系统,就可以直接在“打开方式”里输入“CMD”后回车,就能打开“命令提示符”界面,然后运行注册表编辑器REGEDIT.EXE就OK了。接下来需要做的就是把程序的打开方式改成“”%1” %*”即可。

结束语:很多刚接触计算机的用户都会遇到一些问题,此时需要静下心来仔细分析自己遇到的现象,多向“高手”请教,不断提高自己的“功力”才是最根本的解决之道!

篇2:明辨是非 文件关联型木马的特殊化查杀

随着计算机的发展,木马技术也在不停的发展,以冰河为首的老一代经典木马已经开始慢慢消失在经典木马行列中,取而代之的则是新一代的嵌入式木马,也就是通常所说的dll型注入式木马,其运用了动态嵌入技术,动态嵌入最常见的是最常见的是钩子、API以及远程线程技术,而现在大多数的嵌入式木马都是运用远程线程技术把自己本身挂在一个正常的系统进程中,通常这一类木马清除起来比较困难。

嵌入式木马之迷

那到底什么是嵌入式dll型木马呢?DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,而dll木马的标准执行入口为dllmain,dllmain包含了木马的运行代码,或者其指向木马的执行模块,在dll木马中通过在另一个进程中创建远程线程(RemoteThread)的方法进入那个进程的内存地址空间被称为“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,这就是嵌入式dll木马。

因此 通常把dll木马注入到一些系统关键进程,如嵌入到ie浏览器,Explorer.exe中,来达到更好的启动和隐蔽自身的目的。如今除了专门的dll木马外,还有许多优秀的木马也可以选择生成一般的exe木马和dll木马2种类型,来提供给用户各种需要,其中的典型的木马是黑洞和灰鸽子,这2款经典之作就支持这2种服务端的生成,其生成的dll木马服务端的稳定性也相当出色,各大杀毒产商都将其列入重点查杀对象。

揪出嵌入式木马

在了解了嵌入式木马的工作原理后,我们应该如何来及时发现和清除这一类木马呢?不管是传统木马还是嵌入式木马,首先我们要了解木马的藏身之地,同传统木马一样system32同样也是嵌入式木马最喜爱的藏身之所,根据这个特点我们在安装好系统和必要的应用程序后,对该目录下的exe文件和dll文件做一个记录,运行CMD--转换目录到system32--dir *.exe>exe.txt & dir*.dll>dll.txt,这样所有的EXE和DLL文件的名称都被分别记录到exe.txt和dllback.txt中,

如果系统在以后的使用中出现异常而用传统的方法查不出来的时候,我们就要考虑是不是嵌入式木马在捣乱了,此时我们再次运行CMD--转换目录到system32--dir *.exe>exe1.txt & dir*.dll>dll1.txt将system32下的exe和dll文件分别再记录到exe1.txt和dll1.txt中,接下来我们就可以对2次记录的文件进行比较了,来判断是否存在嵌入式木马,方法如下:运行CMD--fc exe.txt exe1.txt>change.txt & fc dll.txt dll1.txt>change.txt,其含义为用fc命令比较exe和dll的2次记录文件,并将结果输出到change.txt中。这时我们就可以从change.txt中发现发生变化的exe和dll文件以及多出来的exe和dll文件,最后我们查看这些文件的创建时间、版本、是否经过压缩等就能够比较容易地判断出是不是已经被DLL木马修改了。

如果有的话,在没有把握的情况下就把dll文件先删除到回收站中,以便误删以后还能文件还原,如果重新启动后系统没有任何异常,我们就可以彻底删除此dll文件了。但同时由于有的进程调用的DLL文件非常多,使得靠我们自己去一个一个去核对变的不太现实,所以此时我们可以借助一些工具来帮助我们缩小范围,其中NT进程/内存模块查看器ps.exe就是一款很不错的工具,用命令ps.exe /a /m >usedll.txt将系统目前正在调用的所有DLL文件名称保存到usedll.txt中,然后再用fc dll.txt usedll.txt>changenow.txt把比较结果输出到changenow.txt中,这样我们就能大大的缩小查找范围。同时端口也是值得我们重视的一部分,我们可以用进程端口查看工具Fport.exe来查看与端口对应的进程,一般木马开放的是高端口(但也不排除其使用了端口转发和复用技术)样还可以将范围缩小到具体的进程,然后结合Procedump.exe这款脱壳工具来查看此进程调用的dll文件,再利用上面介绍的文件比较法来比较,从而使得查找DLL木马变的更容易。针对端口我们还可以使用嗅探的方法来嗅探端口所传输的数据,如果数据异常则,再使用Fport来找出端口所对应进程然后再重复以上步骤。

上一篇:内幕下一篇:浅谈基督爱国主义思想