MoonSols && Volatility 内存取证分析(二.搜寻进程的足迹)

来源:互联网 发布:起诉淘宝网胜诉案例 编辑:程序博客网 时间:2024/05/17 05:58

进程的源头------>_EPEOCESS结构:



1.(仅限于内核模式)调用PsGetCurrentProcess取得一个指向当前进程的_EPROCESS指针.遍历其中的LIST_ENTRY成员即可获得当前运行的进程.

2.用户模式下可以调用原生模式的API函数,比如使用SystemProcessInformation类调用NtQuerySystemInformation函数,

3.直接使用win32 PAI比如CreateToolHelp32Snapshot.或者EnumProcess.

以上只是最基本的方法.如果从LIST_ENTRY中摘除某个_EPROCESS,以上方法全部失效.


Volatility中pslist正是使用遍历双向链表的方法检测进程(检测强度不够).


Vol中提供了不同方式的搜索机制.集成到了psxview中:

1.遍历_EPROCESS中的LIST_ENTRY.(pslsit)

2.遍历CSRSS进程中的process列表.(cssrss_list目前已经集成到psxview中)

3.通过PspCidTable中的handle检测进程.(google PspCidTable)

4.内存暴力搜索_EPROCESS对象.(在内存中搜索特征符合_EPROCESS的内存区域)


运行效果如下:



1_doc_RCData_61用pslist检测不出来.但是使用其他方式就暴露了它的存在.