内核枚举进程总结

我知道的有三种方法

这里的第三种和第二种是一样的 隐藏进程也可以在这么做手脚

但需要注意多线程,在操作前,理应加锁

可以参考这篇文章

http://blog.csdn.net/zfdyq0/article/details/41813747

 

1.暴力枚举进程 通过PsLookupProcessByProcessId/Cid获得EPROCESS

第一个参数我们使用循环 填入0~65535

for (ULONG i = 0; i < 65535; i += 4)  
{  
     SearchProcessPID(i);  
}  
return STATUS_SUCCESS;  

其中注入PsLookupProcessByProcessId会导致bypass,建议使用Cid

 

 

2.通过ZwQuerySystemInformation

 

3.通过进程活动连来枚举

 

代码如下:

 

#include "ntddk.h"


typedef struct  _PROCESS_INFO
{
	ULONG_PTR eprocess;
	ULONG pid;
	ULONG ppid;
	UNICODE_STRING pathName;
	UNICODE_STRING ImageFileName;
}PROCESSINFO,*PPROCESSINFO;

typedef struct _SYSTEM_THREADS
{
	 LARGE_INTEGER  KernelTime;
	 LARGE_INTEGER  UserTime;
	 LARGE_INTEGER  CreateTime;
	 ULONG    WaitTime;
	 PVOID    StartAddress;
	 CLIENT_ID   ClientID;
	 KPRIORITY   Priority;
	 KPRIORITY   BasePriority;
	 ULONG    ContextSwitchCount;
	 ULONG    ThreadState;
	 KWAIT_REASON  WaitReason;
	 ULONG    Reserved; //Add
}SYSTEM_THREADS,*PSYSTEM_THREADS;
  
typedef struct _SYSTEM_PROCESS_INFORMATION {  
    ULONG                   NextEntryOffset;  
    ULONG                   NumberOfThreads;  
    LARGE_INTEGER           Reserved[3];  
    LARGE_INTEGER           CreateTime;  
    LARGE_INTEGER           UserTime;  
    LARGE_INTEGER           KernelTime;  
    UNICODE_STRING          ImageName;  
    KPRIORITY               BasePriority;  
    HANDLE                  ProcessId;  
    HANDLE                  InheritedFromProcessId;  
    ULONG                   HandleCount;  
    ULONG                   Reserved2[2];  
    ULONG                   PrivatePageCount;  
    VM_COUNTERS             VirtualMemoryCounters;  
    IO_COUNTERS             IoCounters;  
 
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值