隐藏技术-进程隐藏
本文最后更新于:2021-08-09 晚上
进程隐藏
在windows中,用户程序的所有操作都是基于WIN32API来实现的,例如使用任务管理器查看进程等操作,这就给了病毒木马操作的空间。它可以通过HOOK技术拦截API的调用,并对数据进行监控和修改,从而达到不可告人的目的。
实现进程隐藏可以HOOK ZwQuerySystemInformain来实现进程的隐藏。遍历进程通常是调用EnumProcesses或者CreateToolhelp32Snapshot等来实现。跟踪这些函数可以发现,他们内部都调用了ZwQuerySystemInformain函数。
可以用调试器跟踪一下CreateToolhelp32Snapshot函数,可以看到在内部调用了ZwQuerySystemInformain函数
在ZwQuerySystemInformain函数的内部判断检索的信息是否是进程信息,若是,则对返回的进程信息进行修改,将隐藏的进程信息从中去掉再返回。
这需要用到Inline Hook,关于Inline Hook看这里
函数介绍
ZwQuerySystemInformation
获取指定的系统信息
1 |
|
SystemInformationClass:要检索系统的信息类型。SystemProcessInformation(5)表示检索系统的进程信息。
SystemInformation:指向缓冲区的指针,用于接受请求的信息。该信息的大小和结构取决于SystemInformationClass的值。如检索信息是SystemProcessInformation那么缓冲区为SYSTEM_PROCESS_INFORMATION结构数组。
SystemInformationLength:SystemInformation指向缓冲区的大小。
ReturnLength:指向函数写入请求信息的实际大小的位置。
返回值:返回NTSTATUS成功或错误代码。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!