为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

木马隐藏技术

2011-06-03 2页 doc 31KB 43阅读

用户头像

is_440901

暂无简介

举报
木马隐藏技术木马隐藏技术之远程线程注入 木马隐藏自身的技术走过了隐藏文件、隐藏窗口、隐藏进程,到现而今“远程注入”技术的发展过程。   虽然现在使用“线程注入”的木马病毒和已经遍地开花了,但是从那个混沌时代经历过来的人都不会忘记首个采用“线程注入”的dll木马“广外幽灵”在当时所带来的恐惧,“线程注入”到底是种什么东西呢?下面就让我们来详细讲解一下。   进程从某一方面而言就是可执行文件把自身从存储介质复制在内存中的映像,它通常和某个在磁盘上的文件保持着对应关系,一个完整的进程信息包括很多方面的数据,我们使用进程查看工具看到的“应用程序”...
木马隐藏技术
木马隐藏技术之远程线程注入 木马隐藏自身的技术走过了隐藏文件、隐藏窗口、隐藏进程,到现而今“远程注入”技术的发展过程。   虽然现在使用“线程注入”的木马病毒和已经遍地开花了,但是从那个混沌时代经历过来的人都不会忘记首个采用“线程注入”的dll木马“广外幽灵”在当时所带来的恐惧,“线程注入”到底是种什么东西呢?下面就让我们来详细讲解一下。   进程从某一方面而言就是可执行文件把自身从存储介质复制在内存中的映像,它通常和某个在磁盘上的文件保持着对应关系,一个完整的进程信息包括很多方面的数据,我们使用进程查看工具看到的“应用程序”选项卡包含的是进程的标题,而“进程”选项卡包含的是进程文件名、进程标识符、占用内存等,其中“进程文件名”和“进程标识符”是必须掌握的关键,“进程标识符”是系统分配给进程内存空间时指定的唯一数字,进程从载入内存到结束运行的期间里这个数字都是保持不变的,而“进程文件名”则是对应着的介质存储文件名称,根据“进程文件名”我们就可以找到最初的可执行文件位置。 而“线程”,则是在一个进程里产生的多个执行进度实例,例如一个采用“多线程”技术的网络文件传输程序就能同时分出三个进度来同时执行网络数据传输、文件保存操作和绘制传输进度条的操作,于是在用户看来,这个程序运行非常流畅,这就是线程的作用。在程序运行时,只能产生一个进程,但是在这个进程的内存空间(系统为程序能正常执行而开辟的独立内存领域)里,可以产生多个线程,其中至少有一个默认的线程,被称为“主线程”,它是程序主要代码的运行部分。 那么,“线程注入”又是什么含义呢?其实它的全称是“远程线程注入”(remotethread injection),通常情况下,各个进程的内存空间是不可以相互访问的,这也是为程序能够稳定运行打下基础,这个访问限制让所有进程之间互相独立,这样一来,任何一个非系统关键进程发生崩溃时都不会影响到其他内存空间里的进程执行,从而使NT架构的稳定性远远高于Win9x架构。但是在一些特定的场合里,必须让进程之间可以互相访问和管理,这就是“远程线程”技术的初衷,这个技术实现了进程之间的跨内存空间访问,其核心是产生一个特殊的线程,这个线程能够将一段执行代码连接到另一个进程所处的内存空间里,作为另一个进程的其中一个非核心线程来运行,从而达到交换数据的目的,这个连接的过程被称为“注入”(injection)。远程线程技术好比一棵寄生在大树上的蔓藤,一旦目标进程被注入,这段新生的线程就成为目标进程的一部分代码了,只要目标进程不被终止,原进程无论是否还在运行都不会再影响到执行结果了。   与“线程注入”离不开的是“hook”技术,这个“hook”,实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。   在这里,木马编写者首先把一个实际为木马主体的dll文件载入内存,然后通过“线程注入”技术将其注入其他进程的内存空间,最后这个dll里的代码就成为其他进程的一部分来实现了自身的隐藏执行,通过调用“hook”机制,这个dll木马便实现了监视用户的输入输出操作,截取有用的资料等操作。   这种木马的实际执行体是一个dll文件,系统是把dll视为一种模块性质的执行体来调用的,它内部只包含了一堆以函数形式输出的模块,也就是说每个dll都需要由一个用到它的某个函数的exe来加载,当dll里的函数执行完毕后就会返回一个运行结果给调用它的exe,然后dll进程退出内存结束这次执行过程,这就是的dll运行周期,而采用了“线程注入”技术的dll则不是这样,它们自身虽然也是导出函数,但是它们的代码是具备执行逻辑的,这种模块就像一个普通exe,只是它不能直接由自身启动,而是需要有一个特殊作用的程序(称为装载程序)产生的进程把这个dll的主体函数载入内存中执行,从而让它成为一个运行中的木马程序。 由于Windows系统自身就是大量使用dll的系统,许多dll文件在启动时便被相关的应用程序加载进内存里执行了,因此谁也无法一眼看出哪个dll文件不是系统自带的,且正常的系统dll文件也又可能被同名的病毒dll文件替换,所以这种木马的隐蔽性又提高了一级,而且它的执行方式也更加隐蔽。了解Windows的用户都知道,模块是紧紧依赖于进程的,调用了某个模块的进程一旦退出执行,其加载的dll模块也就被迫终止了,但是在dll木马里,这个情况是不会因为最早启动的exe被终止而发生的,因为它使用了“远程线程注入”技术,所以,在用户发现异常时,dll木马早就不知道被注入哪个正常进程里了,即使用户发现了这个木马dll,也无法把它终止,因为要关闭它就必须在那么多的系统进程里找到被它注入的进程,并将其终止,而且这个被注入的系统进程往往是系统运行的关键进程,手动查杀这种木马对一般用户来说,便成了不可能完成的任务。 学号:104611186 姓名:郭 龙
/
本文档为【木马隐藏技术】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索