【翻译】像2019年一样dump lsass - 对2019年的技术进行简单修改绕过检测
字数 1312 2025-08-23 18:31:34
LSASS内存转储技术分析与绕过检测方法
技术背景
LSASS(本地安全认证子系统服务)是Windows系统中负责安全认证的核心组件,存储着系统运行时的凭据信息。攻击者通过转储LSASS进程内存来获取凭据已成为2024年仍广泛使用的技术。
随着安全防御的发展,攻击者已从直接在目标系统运行Mimikatz等工具,转向先创建LSASS内存转储,然后在攻击者本地解析提取敏感信息的方式。
传统转储技术回顾
comsvcs.dll的MiniDumpW导出方法
2019年时代的技术使用comsvcs.dll的MiniDumpW导出函数来转储LSASS,核心实现步骤:
- 使用LoadLibrary加载comsvcs.dll
- 通过GetProcAddress解析MiniDumpW导出函数
- 在进程中启用SeDebugPrivilege权限
- 调用MiniDumpW函数,传入LSASS.exe的PID和输出路径
这种技术至今仍被实际威胁行为者使用,如APT组织Volt Typhoon就采用了这种方法。
传统方法的检测
直接使用这种传统方法会被安全产品检测:
- Microsoft Defender会标记转储文件本身为恶意
- Microsoft Defender for Endpoint(MDE)会检测并告警该行为
绕过检测的技术演进
内存文件系统技术
通过使用内存文件系统(MemFiles)技术,可以避免将转储文件写入磁盘,从而绕过检测:
- 在Cobalt Strike Beacon中创建内存文件系统
- 指定特殊路径(如
c:\redteam...)触发内存写入 - 转储文件保留在内存中而不落地磁盘
- 使用memfetch命令下载内存中的转储文件
实现步骤详解
-
准备高权限Beacon:
- 获取admin或system权限的beacon
- 使用
getprivs命令启用SeDebugPrivilege
-
初始化内存文件系统:
meminit注意:Beacon进程不能有EDR放置的用户层钩子
-
执行内存转储:
- 运行BOF,指定LSASS PID
- 输出路径设为内存路径(如
c:\redteam\dump.bin)
-
管理内存文件:
memlist:查看内存中的文件memfetch:下载内存文件
技术优势分析
这种改进后的传统技术具有以下优势:
- 不使用磁盘IO,避免文件扫描检测
- 无需复杂的代码修改,只需结合内存文件系统
- 在2024年仍能绕过MDE等高级防护产品的检测
- 实现简单,依赖公开可用工具(MemFiles)
防御建议
针对此类攻击,防御方可采取以下措施:
- 监控异常的内存操作行为
- 检测SeDebugPrivilege的启用过程
- 分析进程间的不寻常交互模式
- 实施LSASS进程保护机制
- 监控comsvcs.dll的异常加载和使用
总结
这个案例展示了信息安全领域"旧技术新用"的典型范例:
- 2019年的传统LSASS转储技术
- 通过结合内存文件系统的简单修改
- 在2024年仍能有效绕过高级防护
- 强调了安全研究不应只关注新技术,也应定期重新评估旧技术的潜在价值
这种红蓝对抗的持续演进证明了信息安全领域需要不断创新和重新思考的永恒特性。