| name | extracting-memory-artifacts-with-rekall |
| description | 使用 Rekall 内存取证框架分析内存转储,检测进程空洞化(process hollowing)、通过 VAD 异常注入的代码、隐藏进程和 rootkit。应用 pslist、psscan、vadinfo、malfind 和 dlllist 等插件从 Windows 内存镜像中提取取证工件。适用于应急响应内存分析场景。
|
| domain | cybersecurity |
| subdomain | security-operations |
| tags | ["extracting","memory","artifacts","with"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
使用 Rekall 提取内存工件
说明
使用 Rekall 分析内存转储,查找入侵迹象,包括进程注入、隐藏进程和可疑网络连接。
from rekall import session
from rekall import plugins
s = session.Session(
filename="/path/to/memory.raw",
autodetect=["rsds"],
profile_path=["https://github.com/google/rekall-profiles/raw/master"]
)
for proc in s.plugins.pslist():
print(proc)
for result in s.plugins.malfind():
print(result)
关键分析步骤:
- 加载内存镜像并自动检测配置文件
- 运行 pslist 和 psscan 查找隐藏进程
- 使用 malfind 检测进程 VAD 中注入/空洞化的代码
- 使用 netscan 检查网络连接
- 使用 dlllist/modules 提取可疑 DLL 和驱动程序
示例
from rekall import session
s = session.Session(filename="memory.raw")
pslist_pids = set(p.pid for p in s.plugins.pslist())
psscan_pids = set(p.pid for p in s.plugins.psscan())
hidden = psscan_pids - pslist_pids
print(f"Hidden PIDs: {hidden}")