用途
该技能用于在事件响应和入侵调查中,从 Windows 内存转储中提取攻击者可能访问过的凭据,评估凭据泄露范围,识别需要立即重置密码的账户,调查横向移动与 Pass-the-Hash/Pass-the-Ticket 攻击,以及从进程内存中恢复加密密钥或身份验证令牌。
主要能力
- 使用 Volatility 3 的 windows.hashdump 插件从内存中导出 SAM 数据库哈希。
- 使用 windows.lsadump 提取 LSA 机密,使用 windows.cachedump 提取缓存的域凭据(DCC2 哈希)。
- 通过 windows.memmap 或 windows.dumpfiles 转储 LSASS 进程内存,供后续离线分析。
- 使用 pypykatz 对 LSASS 转储或原始内存转储进行分析,提取 NTLM 哈希、LM 哈希、Kerberos 密码与票据、WDigest 明文密码、DPAPI 主密钥等。
- 使用 pypykatz 导出 Kerberos .kirbi 票据文件。
- 通过 windows.strings 搜索进程内存中的身份验证令牌、API 密钥、云凭据(如 AWS 访问密钥、Azure 令牌)和浏览器会话令牌。
- 生成凭据泄露评估报告,列出受损账户、最高权限受损情况和建议的响应动作。
使用方式
- 准备工具并验证内存转储:安装 volatility3 和 pypykatz,校验内存转储完整性,识别操作系统版本,确认 LSASS 进程存在。
- 使用 Volatility 提取凭据哈希:运行 windows.hashdump、windows.lsadump、windows.cachedump 并保存输出。
- 转储 LSASS 进程内存:使用 windows.memmap 或 windows.dumpfiles 按 PID 转储,并重命名转储文件。
- 使用 pypykatz 提取凭据:对 LSASS 转储运行 pypykatz lsa minidump,或对原始内存转储运行 pypykatz rekall,可输出 JSON 以便结构化分析。
- 提取 Kerberos 票据与令牌:使用 pypykatz 导出 .kirbi 文件,并通过 windows.strings 搜索认证令牌、云凭据和会话令牌。
- 编译凭据发现报告:汇总受损账户、凭据类型、最高权限受损情况,并给出立即重置密码、轮换云密钥、重置 krbtgt 等建议。
适用场景
- 入侵后凭据评估:确定哪些账户暴露,按权限级别优先重置密码,检查黄金票据材料(krbtgt 哈希),评估云凭据是否可访问。
- 横向移动调查:提取 NTLM 哈希和 Kerberos 票据,理解攻击者如何在系统间移动,识别 Pass-the-Hash/Pass-the-Ticket 痕迹,并与事件日志中的网络登录事件关联。
- 勒索软件操作者凭据窃取:分析加密前的内存转储,寻找 Mimikatz 执行证据,提取所有可用凭据类型,判断域管理员凭据是否被获取,评估 krbtgt 是否受损,规划凭据轮换策略。
- 端点云凭据窃取:搜索端点内存中由 CLI 工具和浏览器存储的 AWS 访问密钥、Azure 令牌和 GCP 服务账户密钥,识别暴露的云权限,立即轮换发现的凭据,审计云审计日志中的未授权访问。
限制
- 需要合法的凭据提取授权。
- 需要内存转储文件(raw、ELF 或崩溃转储格式)、Volatility 3 及 Windows 符号表、Mimikatz、pypykatz,以及理解 Windows 身份验证(NTLM、Kerberos、DPAPI)的知识。
- WDigest 明文密码仅存在于 Windows 8.1 之前的系统。
- 提取结果取决于内存转储的完整性和系统配置。
- 其他具体限制暂未提供。