Windows NT-2000系统下进程的隐藏_第1页
Windows NT-2000系统下进程的隐藏_第2页
Windows NT-2000系统下进程的隐藏_第3页
Windows NT-2000系统下进程的隐藏_第4页
Windows NT-2000系统下进程的隐藏_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 7 T/2000 系统下进程的隐藏 摘要 进程的隐藏一直是木马程序设计者不断探求的重要技术,采用远程线程技术,通过动态链接库方法,较好地解决了这一问题,通过远程线程将木马作为线程隐藏在其他进程中,从而达到隐藏的目的。 关键字进程 线程 木马 动态链接库 木马程序 (也称后门程序 )是能被控制的运行在远程主机上的程序,由于木马程序是运行在远程主机上,所以进程的隐藏无疑是大家关心的焦点。 分析了 T/2000 系统下进程隐藏的基本技术和方法,并着重讨论运用线程嫁接技术如何实现 T/2000 系统中进程的隐藏。 1 基本原理 在 8中,只需要将进程注册为系统服务就能够从进程查看器中隐形,可是这一切在 T/2000中却完全不同, 无论木马从端口、启动文件上如何巧妙地隐藏自己,始终都不能躲过 T/2000 的任务管理器, T/2000 的任务管理器均能轻松显示出木马进程,难道在 T/2000 下木马真的再也无法隐藏自己的进程了?我们知道,在 执行文件主要是 件,这两种文 件在运行时都有一个共同点,会生成一个独立的进程,寻找特定进程是我们发现木马的方法之一,随着入侵检测软件的不断发展,关联进程和经成为流行的技术,假设一个木马在运行时被检测软件同时查出端口和进程,我们基本上认为这个木马的隐藏2 / 7 已经完全失败。在 T/2000 下正常情况用户进程对于系统管理员来说都是可见的,要想做到木马的进程隐藏,有两个办法,第一是让系统管理员看不见你的进程;第二是不使用进程。以第二种方法为例加以讨论,其基本原理是将自已的木马以线程方式嫁接于远程进程之中,远程进程则是合法 的用户程序,这样用户管理者看到的只是合法进程,而无法发现木马线程的存在,从而达到隐藏的目的。 2 实现方法为了弄清实现方法,我们必须首先了解 统的另一种可执行文件 件是 基础,因为所有的 数都是在 实现的。 件没有程序逻辑,是由多个功能函数构成,它并不能独立运行,一般都是由进程加载并调用的。因为 以在进程列表中并不会出现 设我们编写了一个木马 且通过别的进程来运行它,那么无论是入侵检测软件还是进程列表中,都只会出现那个进程而并不会出现木马 果那个进程是可信进程,那么我们编写的 为那个进程的一部分,也将成为被信赖的一员,也就达到了隐藏的目的。运行 其中最隐蔽的方法是采用动态嵌入技术,动态嵌入技术指的是将自己的代码嵌入正在运行的进程中的技术。理论上来说,在 的进程是不允许对这个私有空间进行操作3 / 7 的,但是实际上,我们仍然可以利用种种方法进入并操作进程的私有内存。动态嵌入技术 有多种如:窗口 接程线程等,这里介绍一下远程线程技术,它只要有基本的进线程和动态链接库的知识就可以很轻松地完成动态嵌入。 远程线程技术指的是通过在另一个进程中创建远程线程的方法进入那个进程的内存地址空间。我们知道,在进程中,可以通过 数创建线程,被创建的新线程与主线程共享地址空间以及其他的资源。但是很少有人知道,通过 同样可以在另一个进程内创建新线程,被创建的远程线程同样可以共享远程进程的地址空间,所以,实际上,我们通过一个远程 线程,进入了远程进程的内存地址空间,也就拥有了那个远程进程相当的权限。 3 实施步骤 1) 用 数找到宿主进程 ,获取宿主进程 用 数打开宿主进程。 2) 用 数分配远程进程地址空间中的内存。 3) 用 数将待隐藏的 4) 拷贝到步骤二已经分配的内存中。 5) 用数获取 数的实地址。 6) 用 数在远程进程中创建一个线程。 7) 它调用正确的 数。 8) 为它传递步骤二中分配的内存地址。 4 具体实例 下面是在 C+境下编写的运用远程线程技术隐藏木马的程序代码: 4 / 7 # ;/ 进 程 快 照 句 柄 ;/远程进程中分配给文件名的空间 ;/ 存 放 远 程 线 程 句 柄 (: /_ 0; ); /打开进程快照 if(1) ); / 失 败 返 回 = 5 / 7 /获取第一个进程 )| () /找到宿主进程,以为例 ;/获取下一个进程 第一个进程失败 , ); /打开远程进程 +; / 假设是待隐藏的进程 1+()( /申请存放文件名的空间 , /把 写 入 申 请 的 空 间 ; /获取动态链接库函数地址 6 / 7 , , /创建远 程 线 程 if( 该程序编译后命名为 ,运行时点击界面上的按钮即可。 至此,远程嵌入顺利完成,为了试验我们的是不是已经正常地在远程线程运行,我同样在 C+环境下编写并编译了下面的作为测试: # 4; /获取当前进程 ID ,0); 当使用程序将这个嵌入进程后假设 208),该测试 208字样的确认框,同时使用 具 也能看到 : D: 1208 C:(0 C:(0这证明已经在进程内正确地运行了。上面程序的头文件 由编译器自动生成,未作改动,故略之。 5 结束语 进程隐藏技术和方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论