木马程序的隐蔽性有哪些_木马程序的隐蔽性

hacker|
318

怎样让木马隐藏的更好?

一.躲过杀毒软件,悄无声息进入系统

木马要进入用户系统,首先要过杀毒软件这一关。否则一旦杀毒软件报警,木马就无隐蔽性可言了,立马被杀毒软件赶出系统。因此,面对杀毒软件,木马使尽浑身解数,通过各种手段隐藏自己,比较常见的 *** 有:寄宿于正常文件,木马加壳加密,修改木马特征码。

寄宿于正常文件

这个 *** 就是将木马程序与正常的文件捆绑在一起,捆绑后会生成一个可执行文件,当运行这个可执行文件时,正常文件和木马程序都会同时运行,这样木马就可以隐藏自己,悄悄进入用户的系统。要让木马实现这样的效果比较简单,只需要下载一个文件捆绑器即可,这里我们以木马老大“灰鸽子”出口的文件捆绑器为例。单击“文件捆绑器”上的“增加文件”按钮,选择一个正常的可执行文件,例如Flash小游戏等。再次单击该按钮将我们的木马程序也添加进来。需要捆绑的文件添加完成后,我们可以在“捆绑器”下方为捆绑后生成的文件指定一个文件图标。最后单击“捆绑文件”,即可将两个文件捆绑成一个可执行文件。

虽然这种 *** 比较简单,但是效果不佳,碰上杀毒能力强劲的杀毒软件,木马还是会被逮个正着。

二.木马加壳加密

“壳”是一种专门保护软件的程序,当运行一款加过壳的软件时,首先会运行这个软件的壳,壳会将包含在其中的程序进行还原,给予使用。当使用完毕后,壳又会将程序进行加密,整个过程都是在壳的保护过程中进行的。

正因为壳的性质,木马会进行加壳操作以使自身得到加密,这样就给杀毒软件的查杀带来了难度。不过目前主流的杀毒软件都改进了其杀毒引擎,增强了加壳程序的检测,对于加过壳的程序,杀毒软件会先将其脱壳,再进行查杀。因此如果木马使用的是类似ASP、UPX这样的热门加壳软件,那么还是很难逃过杀毒软件的查杀的,除非使用一些冷门的加壳软件。

修改木马特征码

这应该是最为有效的躲避杀毒软件的 *** 。我们都知道,杀毒软件判定这个程序是否是病毒是通过特征码来决定的,如果在这个程序中有一段代码与杀毒软件中的病毒特征码对上号,那么就判定它是病毒。根据这个原理,我们是否只要让木马的代码与杀毒软件的特征对不上号,就可以躲过杀毒软件的查杀呢?答案是肯定的,修改木马的特征码需要使用16进制编辑器,例如UltraEdit、Winhex等。修改特征码可以采用两种 *** :1、直接修改特征码:用16进制编辑器打开木马后,将其中的特征码都替换为0;2、增加跳转指令:在木马特征码处增加一条跳转指令,让程序运行到该处时跳到下一段代码,这样做的目的是使杀毒软件检测时跳过这段代码的检测。

防范:在这一部分,木马的隐藏手段对我们的威胁还是比较小的。只要有足够的安全意识,就可以将木马拒之门外。

首先我们来看看如何对付经过捆绑的木马文件。由于捆绑文件是由两个文件合并生成的,虽然我们只能看到一个文件,但是可以在这个文件的内部找到捆绑的蛛丝马迹。这里我们使用“木马捆绑克星”这款软件就可以让木马原形毕露。单击程序界面上的“扫描”按钮,浏览选择可疑文件,如果程序下方的“包含多个可执行文件”选项被打上钩,这就表示文件被捆绑了。

至于对木马程序进行加壳,曾经是很流行的一种木马隐藏手段,但是随着杀毒软件的升级,木马已经很难再有效地利用这种手段。根据壳的原理我们可以得知,加壳木马运行后,会将其中的木马程序在内存中还原。还原后的木马是不受壳的保护的,因此大部分的杀毒软件都会抓住这个机会,将木马铲除。

如果唯一能对杀毒软件造成一点危害的,就只剩下修改木马特征码这种隐藏手段了。不过不同的杀毒软件提取同一木马程序的特征码是不同的。这就意味着我们改一处特征码只能躲避一款杀毒软件的查杀,如果要躲避多款杀毒软件,就需要修改多处特征码。这会对木马隐藏自己造成一定的困难。因此如果有条件,安装两款杀毒也是一个不错的办法。

三.隐藏窗口、设置文件属性、自我删除

隐藏窗口

木马的服务端程序是一个可执行程序,和我们在Windows上使用的绝大多数的软件相同,都是标准的Win32程序。不同的是,我们运行普通的可执行程序时,会出现软件窗口,我们可以在这个软件窗口中进行操作。而木马的服务端运行后,却没有出现窗口,这是因为木马服务端程序在编写的过程中将其窗口属性设置为隐藏,也就是说,木马服务端运行后的窗口是存在的,只是我们无法看到而已。

设置文件属性

木马为了隐藏在用户系统中生成的文件,通常会设置文件的属性为“隐藏”和“系统”,这样我们就无法在普通模式下看到木马的文件。

自我删除

自我删除是木马最初就具有的一种功能,当运行木马服务端程序后,服务端程序会将自身删除。这样做的目的是清除留下的痕迹,达到隐藏自身的效果。

防范:隐藏窗口和删除自身是木马服务端最常用的功能,虽然可以在一定程度上隐藏自己,但是也会因此而暴露自己。当我们双击一个可执行程序,结果没有出现任何窗口,或者运行后这个可执行文件消失了。那么我们很有可能中了木马,因为这是运行木马服务端最基本的两个特征。

设置文件属性是木马和病毒乐此不疲的隐藏手段,虽然手法简单,但效果不错。破解的 *** 也比较简单,点击资源管理器的“工具”菜单→“文件夹选项”,切换到“查看”标签,将“隐藏受保护的操作系统文件”前面的钩去掉,同时选择“显示所有文件和文件夹”选项,即可让隐藏的木马文件现形。

四.进程隐藏,遁地于无形

稍懂得安全保护知识的朋友都会通过任务管理器查看是否有可疑进程,以此确定木马的存在。不过随着木马编写技术的提高,在任务管理器中查找木马的 *** 不再是100%的有效。通过Hook技术编写的木马可以实现进程的隐藏和进程的插入。即使木马在系统中运行,我们在任务管理器中也只能看到正常的进程,而无法看到木马的进程。在了解这种隐藏技术之前,我们有必要先了解一下什么是Hook。

什么是Hook

Hook是Windows中提供的一种用以替换DOS下“中断”的一种系统机制,中文译名为“挂钩”或“钩子”。在对特定的系统事件进行Hook后,一旦发生已Hook的事件,对该事件进行Hook的程序就会收到系统的通知,这时程序就能在之一时间对该事件做出响应,木马程序便抢在函数返回前对结果进行了修改。

传统的进程隐藏技术

在Windows98系统中有一种能将进程注册为服务进程的技术。这种技术称为RegisterServiceProcess。通过这种技术,任何程序的进程都能将自己注册为服务进程,也就是说木马可以将自己的进程注册为服务进程。而服务进程在Windows98中的任务管理器中是不显示的。这样我们就无法通过任务管理器找到木马的进程。

通过Hook的进程隐藏

传统的进程隐藏技术到了Windows2000以后就毫无用武之地,因为在Windows2000以后的系统中,服务进程也是在任务管理器中显示的,例如svchost.exe进程,该进程是一个服务进程,我们可以在Windows2000的任务管理器中看到,而在Windows98下则不可以。此路不通,另寻他路。传统进程隐藏技术落后后,木马又转而使用Hook技术的进程隐藏。

新型的进程隐藏技术基本都是通过Hook来实现的。例如我们熟悉的灰鸽子木马,其通过Hook技术对系统中所有程序的进程检测相关API的调用进行了监控,“任务管理器”之所以能够显示出系统中所有的进程,也是因为其调用了EnumProcesses等进程相关的API函数。由于灰鸽子事先对该API函数进行了Hook,因此“任务管理器”返回给我们的信息是不真实的,是被Hook过的信息,而有关木马的进程信息已经被悄悄的处理掉了。

防范:使用“Windows优化大师”集成的“进程管理”工具。运行“Windows优化大师”→“系统性能优化”→“系统安全优化”→“进程管理”。在其中选择一个进程,然后将下方的进程状态切换到“模块列表”标签,一般的隐藏进程都会在这里现形。

至于采用Hook技术的进程隐藏,我们无法使用一般的工具来检查,不过有一款被喻为“反黑之刃”的软件──Icesword,可以将通过Hook技术隐藏的木马进程统统挖掘出来。Icesword我们曾经做过专门的介绍,在此不在阐述。用Icesword查看隐藏进程 *** :运行Icesword,单击“进程”按钮即可。隐藏进程将会以红色字体显示。

木马是怎么进入计算机的

-- 注册表?或者System.ini?

木马是一种基于远程控制的病毒程序,该程序具有很强的隐蔽性和危害性,它可以在人不知鬼不觉的状态下控制你或者监视你。有人说,既然木马这么厉害,那我离它远一点不就可以了!然而这个木马实在是“淘气”,它可不管你是否欢迎,只要它高兴,它就会想法设法地闯到你“家”中来的!哎呀,那还了得,赶快看看自己的电脑中有没有木马,说不定正在“家”中兴风作浪呢!那我怎么知道木马在哪里呢,相信不熟悉木马的菜鸟们肯定想知道这样的问题。下面就是木马潜伏的诡招,看了以后不要忘记采取绝招来对付这些损招哟!

1、集成到程序中

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

2、隐藏在配置文件中

木马实在是太狡猾,知道菜鸟们平时使用的是图形化界面的操作系统,对于那些已经不太重要的配置文件大多数是不闻不问了,这正好给木马提供了一个藏身之处。而且利用配置文件的特殊作用,木马很容易就能在大家的计算机中运行、发作,从而偷窥或者监视大家。不过,现在这种方式不是很隐蔽,容易被发现,所以在Autoexec.bat和Config.sys中加载木马程序的并不多见,但也不能因此而掉以轻心哦。

3、潜伏在Win.ini中

木马要想达到控制或者监视计算机的目的,必须要运行,然而没有人会傻到自己在自己的计算机中运行这个该死的木马。当然,木马也早有心理准备,知道人类是高智商的动物,不会帮助它工作的,因此它必须找一个既安全又能在系统启动时自动运行的地方,于是潜伏在Win.ini中是木马感觉比较惬意的地方。大家不妨打开Win.ini来看看,在它的[windows]字段中有启动命令“load=”和“run=”,在一般情况下“=”后面是空白的,如果有后跟程序,比方说是这个样子:run=c:\windows\file.exe load=c:\windows\file.exe

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

4、伪装在普通文件中

这个 *** 出现的比较晚,不过现在很流行,对于不熟练的windows操作者,很容易上当。具体 *** 是把可执行文件伪装成图片或文本----在程序中把图标改成Windows的默认图片图标, 再把文件名改为*.jpg.exe, 由于Win98默认设置是"不显示已知的文件后缀名",文件将会显示为*.jpg, 不注意的人一点这个图标就中木马了(如果你在程序中嵌一张图片就更完美了)。

5、内置到注册表中

上面的 *** 让木马着实舒服了一阵,既没有人能找到它,又能自动运行,真是快哉!然而好景不长,人类很快就把它的马脚揪了出来,并对它进行了严厉的惩罚!但是它还心有不甘,总结了失败教训后,认为上面的藏身之处很容易找,现在必须躲在不容易被人发现的地方,于是它想到了注册表!的确注册表由于比较复杂,木马常常喜欢藏在这里快活,赶快检查一下,有什么程序在其下,睁大眼睛仔细看了,别放过木马哦:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion下所有以“run”开头的键值;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion下所有以“run”开头的键值;HKEY-USERS\.Default\Software\Microsoft\Windows\CurrentVersion下所有以“run”开头的键值。

6、在System.ini中藏身

木马真是无处不在呀!什么地方有空子,它就往哪里钻!这不,Windows安装目录下的System.ini也是木马喜欢隐蔽的地方。还是小心点,打开这个文件看看,它与正常文件有什么不同,在该文件的[boot]字段中,是不是有这样的内容,那就是shell=Explorer.exe file.exe,如果确实有这样的内容,那你就不幸了,因为这里的file.exe就是木马服务端程序!另外,在System.ini中的[386Enh]字段,要注意检查在此段内的“driver=路径\程序名”,这里也有可能被木马所利用。再有,在System.ini中的[mic]、[drivers]、[drivers32]这三个字段,这些段也是起到加载驱动程序的作用,但也是增添木马程序的好场所,现在你该知道也要注意这里喽。

7、隐形于启动组中

有时木马并不在乎自己的行踪,它更注意的是能否自动加载到系统中,因为一旦木马加载到系统中,任你用什么 *** 你都无法将它赶跑(哎,这木马脸皮也真是太厚),因此按照这个逻辑,启动组也是木马可以藏身的好地方,因为这里的确是自动加载运行的好场所。动组对应的文件夹为:C:\windows\start menu\programs\startup,在注册表中的位置:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersionExplorer\ShellFolders Startup="C:\windows\start menu\programs\startup"。要注意经常检查启动组哦!

8、隐蔽在Winstart.bat中

按照上面的逻辑理论,凡是利于木马能自动加载的地方,木马都喜欢呆。这不,Winstart.bat也是一个能自动被Windows加载运行的文件,它多数情况下为应用程序及Windows自动生成,在执行了Win.com并加载了多数驱动程序之后开始执行(这一点可通过启动时按F8键再选择逐步跟踪启动过程的启动方式可得知)。由于Autoexec.bat的功能可以由Winstart.bat代替完成,因此木马完全可以像在Autoexec.bat中那样被加载运行,危险由此而来。

9、捆绑在启动文件中

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

10、设置在超级连接中

木马的主人在网页上放置恶意代码,引诱用户点击,用户点击的结果不言而喻:开门揖盗!奉劝不要随便点击网页上的链接,除非你了解它,信任它,为它死了也愿意等等。

什么是计算机病毒的隐藏性?

病 毒一般是具有很高编程技巧、短小精悍的程序。通常附在正常程序中或磁盘较隐蔽的地方,也有个别的以隐含文件形式出现。目的是不让用户发现它的存在。如果不经过代码分析,病毒程序与正常程序是不容易区别开来的。一般在没有防护措施的情况下,计算机病毒程序取得系统控制权后,可以在很短的时间里传染大量程序。 而且受到传染后,计算机系统通常仍能正常运行,使用户不会感到任何异常。试想,如果病毒在传染到计算机上之后,机器马上无法正常运行,那么它本身便无法继续进行传染了。正是由于隐蔽性,计算机病毒得以在用户没有察觉的情况下扩散到上百万台计算机中。

(1)将自己伪装成系统文件。

木马病毒会想方设法将自己伪装成“不起眼”的文件或“正规”的系统文件,并把自己隐藏在系统文件夹中,与系统文件混在一起。

(2)将木马病毒的服务端伪装成系统服务。

当用户的计算机被木马病毒入侵并被远程攻击或控制的时候,往往会出现系统运行变慢或某些应用程序无法正常运行等情况。这种情况的发生很容易被用户察觉。通常情况下,用户会按下Ctrl+Alt+Del调用任务管理器查看进程。木马病毒会将自己伪装成“系统服务”,从而逃过用户的检查。

(3)将木马程序加载到系统文件中。

win.ini和system.ini是两个比较重要的系统文件。在win.ini有两个重要的加载项——

“run=”和“load=”,它们分别担负着系统启动时自动运行和加载程序的功能。在默认情况下,这两项的值都应该为空。例如,run=c:windows abc.exe load=c:windows abc.exe,那么这个可疑的abc.exe 很可能是木马程序。 还有的木马病毒会隐藏在system.ini内[BOOT]子项中的“Shell”启动项中,将“Explorer”变成病毒自己的程序名,从而在启动时伺机发作。

(4)充分利用端口隐藏。每一台计算机都默认有 65536个端口,我们常用的端口不到默认值的1/3。由于占用常规端口会造成系统异常而引起用户警觉,因此病毒通常将自己隐藏在一些不常用的端口中,一般是1024以上的高端口。

(5)隐藏在注册表中。

注册表中含有“run”的启动项也是木马病毒经常隐藏的地方。如,HKEY_LOCAL_MACHINE\

Software\Microsoft\Windows\CurrentVersion下以“run”开头的键值。

(6)自动备份。

为了避免在被发现之后清除,有些木马会自动进行备份。这些备份的文件在木马被清除之后激活,并再次感染系统。

(7)木马程序与其他程序绑定。

现在,很多木马利用了一种称为文件捆绑机的工具,如exe-binder,这种工具可以把任意两个文件捆绑在一起,在运行时两个文件可以同时运行,但前台只能看见一个程序。

(8)“穿墙术”。

病毒启动后会释放一个动态库文件,然后将这个动态库文件插入系统的进程体内运行,而病毒的绝大部分功能全部包括在这个动态库中,之后病毒的进程退出。这样在系统中就找不到病毒进程了,但是实际上很多的系统进程内部都有病毒模块在运行。

(9)利用远程线程的方式隐藏。

远程线程是Windows为程序开发人员提供的一种系统功能,这种功能允许一个进程(进程A)在其他的进程(B)空间中分配内存,并且将自己的数据复制到其中,然后将复制的数据作为一个线程启动,这样进程B中就多出了一个新的线程——病毒线程,而且操作系统会认为这个病毒线程就是进程B的线程,线程所作的任何操作都会被记录为进程B的操作,这也是穿墙术的一种实现 *** 。

(10)通过拦截系统功能调用的方式来隐藏自己。

(11)通过先发制人的 *** 攻击杀毒软件。

0条大神的评论

发表评论