如何隐藏进程不被检测?进程隐藏的五种方法介绍

如何隐藏进程不被检测?如果有人使用的你的电脑,而你又不想被他人知道你在运行什么程序,仅仅把图标隐藏是远远不够的,因为在进程中依然可以看到你当前运行的程序,那么要如何隐藏进程呢?进程隐藏有哪些方法呢?请看下文介绍 。

如何隐藏进程不被检测?进程隐藏的五种方法介绍

文章插图
进程隐藏的五种方法:
1、基于系统服务的进程隐藏技术
在 W I N 9X 系列操作系统中,系统进程列表中不能看到任何系统服务进程,因此只需要将指定进程注册为系统服务就能够使该进程从系统进程列表中隐形 。
在win9x下用RegisterServiceProcess函数隐藏进程,NT架构下用不了 即win2000 xp等什么的用不了此方法 。
2、基于API HOOK的进程隐藏技术
API HOOK指的是通过特殊的编程手段截获WINDOWS系统调用的API函数,并将其丢弃或者进行替换 。通过API HOOK编程方法,截获系统遍历进程函数并对其进行替换,可以实现对任意进程的隐藏 。
3、基于DLL 的进程隐藏技术:远程注入Dll技术
DLL文件没有程序逻辑,不能独立运行,由进程加载并调用,所以在进程列表中不会出现DLL文件 。如果是一个以DLL形式存在的程序,通过某个已有进程进行加载,即可实现程序的进程隐藏 。在windows系统中,每个进程都有自己的私有地址空间,进程不能创建属于另一个进程的内存指针 。而远程线程技术正是通过特殊的内核编程手段,打破进程界限来访问另一进程的地址空间,以达到对自身 进行隐藏的目的 。
远程线程注入DLL技术指的是通过在某进程中创建远程线程的方法进入该进程的内存空间,然后在其内存空间中加载启动DLL程序 。
4、基于远程线程注入代码的进程隐藏技术
【如何隐藏进程不被检测?进程隐藏的五种方法介绍】这种方法与远程线程注入 DLL 的原理一样,都是通过在某进程中创建远程线程来共享该进程的内存空间 。所不同的是,远程线程注入代码通过直接拷贝程序代码到某进程的内存空间来达到注入的目的 。因为程序代码存在于内存中,不仅进程列表中无法检测,即使遍历进程加载的内存模块也无法找到被隐藏程序的踪迹 。
5、Rootkit方式
Intel CPU 有4 个特权级别: Ring 0,Ring 1,Ring 2,Ring 3 。Windows 只使用了其中的 Ring 0 和 Ring 3 两个级别 。
操作系统分为内核和外壳两部分:内核运行在Ring0级,通常称为核心态(或内核态),用于实现最底层的管理功能,在内核态可以访问系统数据和硬件,包括处理机调度、内存管理、设备管理、文件管理等;外壳运行在 Ring 3 级,通常称为用户态,是基于内核提供的交互功能而存在的界面,它负责指令传递和解释 。通常情况下,用户态的应用程序没有权限访问核心态的地址空间 。
Rootkit 是攻击者用来隐藏自己的踪迹和保留 root 访问权限的工具,它能使攻击者一直保持对目标机器的访问,以实施对目标计算机的控制 。从 Rootkit 运行的环境来看,可将其分为用户级 Rootkit 和内核级 Rootkit 。用户态下,应用程序会调用 Wi n32 子系统动态库(包括Kernel32.dll,User32.dll,Gdi32.dll等) 提供的Win32 API函数,它们是 Windows 提供给应用程序与操作系统的接口,运行在Ring 3 级 。用户级 Rootkit 通常就是通过拦截 Win32 API,建立系统钩子,插入自己的代码,从而控制检测工具对进程或服务的遍历调用,实现隐藏功能 。
内核级 R o o t k it 是指利用驱动程序技术或其它相关技术进入Windows 操作系统内核,通过对 Windows 操作系统内核相关的数据结构或对象进行篡改,以实现隐藏功能 。

推荐阅读