By [I.T.S]SystEm32
Welcome to our web sitehttp://itaq.ynpc.com/itsbbs/
thanks to SobeIt : P ---------------------------------------------------------------------------------------------
每个Windows进程都有一个相对应的执行体进程(EPROCESS,也就是KTEB),EPROCESS不仅包括了进程的许多属性,还包扩了许多指向其他数据结构的指针,其中包含了大量有用的信息.本文仅讲述如何获得特定进程对应的EPROCESS,EPROCESS的作用及数据结构不在本文讨论范围之内.
绿盟高手flier在他的文章中提到,使用ZwQuerySystemInformation函数获取所有核心句柄表,线性搜索到进程句柄,其指向的内核对象就是EPROCESS。
ZwQuerySystemInformation函数原形如下
NTSYSAPI NTSTATUS NTAPI ZwQuerySystemInformation ( IN SYSTEM_INFORMATION_CLASS SystemInformationClass, IN OUT PVOID SystemInformation, IN ULONG SystemInformationLength, OUT PULONG ReturnLength OPTIONAL );
参数意义如下
SystemInformationClass:被查询的系统信息的类型,SYSTEM_INFORMATION_CLASS的枚举类型之一
SystemInformation:指向一个接受系统信息的缓冲区的指针
SystemInformationLength:缓冲区长度
ReturnLength:指向一个接受实际返回字节数的变量,可以为0
为了获取EPROCESS,我们使用SYSTEM_HANDLE_INFORMATION作为第一参数来调用 ZwQuerySystemInformation
SYSTEM_INFORMATION_CLASS的结构如下
typedef struct _SYSTEM_HANDLE_INFORMATION { ULONG ProcessId; UCHAR ObjectTypeNumber; UCHAR Flags; USHORT Handle; PVOID Object; ACCESS_MASK GrantedAccess; } SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
ProcessId:进程标识符
ObjectTypeNumber;打开的对象的类型
Flags:句柄属性标志
Handle:句柄数值,在进程打开的句柄中唯一标识某个句柄
Object:这个就是句柄对应的EPROCESS的地址
GrantedAccess:句柄对象的访问权限
下面我写了一个小程序来获得EPROCESS( GetKTEB.cpp )
比较faint的是程序写好后发现并未如预期般获得EPROCESS,通过调试发现ZwQuerySystemInformation()返回的进程的句柄中并没有进程本身的句柄
怎么会这样?难道程序写错了?*_*
现在只好靠SoftICE给出答案了,CTRL+D唤出SoftICE,随便选了个进程--QQ,让我们来看看SoftICE的输出
:proc -o QQ Process KPEB PID Threads Pri User Time Krnl Time Status QQ 827CD520 11C 2A 8 00000B90 000008D4 Ready
---- Handle Table Information ----
Handle Table: FFAD93C8 Handle Array: E2BEB000 Entries: 590
Handle Ob Hdr * Object * Type 0000 00000000 00000018 ? 0004 E2DA5E58 E2DA5E70 Section 0008 FFAB35C8 FFAB35E0 Event 000C FFAB3B08 FFAB3B20 Event 0010 85C70188 85C701A0 Event 0014 81515778 81515790 Directory 0018 FFAB7BB2 FFAB7BCA ? 001C 814A1858 814A1870 Directory 0020 80288C88 80288CA0 Event 0024 E2CFE7F9 E2CFE811 ? 0028 842D7B08 842D7B20 Event
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
上一篇:mod_sslssl_util_uuencode_binary buffer over
下一篇:windows溢出随笔