用途:检测并分析恶意软件使用的进程注入技术,适用于 EDR 告警可疑 API 调用序列(VirtualAllocEx + WriteProcessMemory + CreateRemoteThread)、合法进程出现异常网络或文件操作、内存取证发现异常可执行代码、调查寄生攻击,以及为 EDR/SIEM 构建检测规则。标准 DLL 加载分析不适用此技能。
主要能力:覆盖经典 DLL 注入、进程镂空(RunPE)、APC 注入、线程劫持、反射式 DLL 注入、Process Doppelganging、AtomBombing 等,并给出各技术的 API 序列、取证痕迹与检测线索。
使用方式: 1)内存取证:vol3 -f memory.dmp windows.malfind;可按 --pid 852 过滤、--dump 导出注入区域;用 windows.vadinfo 检查 VAD 异常,用 windows.hollowfind 检测镂空。 2)事件检测:依赖 Sysmon 事件 ID 8(CreateRemoteThread)与 10(ProcessAccess),用 wevtutil qe "Microsoft-Windows-Sysmon/Operational" 查询分析。 3)代码分析:对导出区域用 file、pefile、capstone 解析 PE 或反汇编 shellcode,并用 YARA 扫描(vol3 ... yarascan.YaraScan --yara-file malware_rules.yar)。 4)映射 ATT&CK:如 T1055.001 DLL 注入、T1055.002 PE 注入、T1055.003 线程执行劫持、T1055.004 APC、T1055.012 进程镂空、T1055.013 Doppelganging 等。 5)构建检测签名,如针对系统进程的 CreateRemoteThread Sigma 规则。
前提条件:Volatility 3、配置 Event ID 8/10 的 Sysmon、API Monitor 或 x64dbg、Process Hacker 或 Process Explorer,并理解 Windows 内存管理,需隔离分析环境。
限制与注意事项:每个 svchost.exe 实例加载不同服务 DLL,不可假设其完全相同;镂空进程常具有错误父进程;不能仅凭进程名匹配判断;注入源进程可能已终止而难以追溯。