使用Nanodump导出lsass.exe后无法用Mimikatz解析的问题求助
解决Nanodump生成的LSASS转储无法兼容Mimikatz sekurlsa::logonPasswords的问题
问题核心原因
Nanodump默认生成的是部分裁剪的LSASS内存转储,仅保留它认为必要的内存区域,这也是其转储大小(11MB)介于Procmon完整转储和迷你转储之间的原因。而Mimikatz的sekurlsa::logonPasswords需要完整的LSASS进程内存结构,尤其是LSA相关的核心内存段,缺失这些区域就会触发ERROR kuhl_m_sekurlsa_acquireLSA ; Memory opening错误。
具体解决方案
1. 调整Nanodump配置生成完整转储
如果你使用的是SSP DLL挂载方式,需要修改Nanodump的编译配置或加载参数,强制生成完整的LSASS进程转储:
- 编译阶段:将Nanodump源码中的
MINIDUMP_TYPE参数设置为MiniDumpWithFullMemory,替代默认的裁剪型转储配置,确保转储包含LSASS的全部内存页。 - 若支持命令行参数(非SSP模式),可添加
-full参数直接生成完整转储。
2. 验证转储完整性
重新生成转储后,检查文件大小应接近Procmon生成的完整转储(71MB左右),这是转储包含全部LSASS内存的直观标志。
3. 重新测试Mimikatz命令
使用完整转储执行原命令:
mimikatz.exe "sekurlsa::minidump <path/to/full_dump>" "sekurlsa::logonPasswords full" exit
此时sekurlsa模块应该能正常识别并读取LSASS内存中的登录凭据,不再出现LSA内存打开错误。
额外注意事项
- 确保Nanodump和Mimikatz的架构与目标系统一致(x64系统必须使用x64版本工具),架构不匹配会导致内存解析失败。
- 若目标系统启用了Credential Guard等内存防护机制,即使生成完整转储,Mimikatz也无法读取凭据,需要先禁用这类防护。
内容的提问来源于stack exchange,提问作者fortesting2022
相关产品推荐
相关产品推荐

