凭据抓取与认证材料取证分析
凭据抓取与认证材料取证分析
在很多入侵事件中,真正推动攻击从“单机失陷”升级为“全网扩散”的关键,不是某个漏洞本身,而是攻击者拿到了可复用的认证材料。它可能是明文密码、NTLM Hash、Kerberos Ticket、浏览器 Cookie、SSH 私钥,也可能是数据库连接串、云平台 Access Key、RDP 凭据缓存。
前面已经补过 数据库痕迹与凭据泄露分析.md、内网横向痕迹与跳板机行为分析.md 和 命令行历史取证与攻击者行为还原.md 这些专题。本文则把它们的共同核心抽出来,专讲认证材料是怎么被拿走、怎么被复用、如何被取证。
0x01 认证材料分析要回答什么
面对疑似凭据窃取事件,建议优先回答五个问题:
- 攻击者拿到的到底是什么材料? 是密码、Hash、Ticket、Token、Cookie、私钥,还是应用连接串。
- 这些材料是从哪里来的? 来自内存、浏览器、配置文件、客户端工具,还是历史会话缓存。
- 材料是否已被复用? 是否发生了 RDP、SMB、SSH、数据库、邮箱或云平台二次登录。
- 复用后的权限边界是什么? 是普通用户、管理员、服务账号,还是域级身份。
- 材料是否还能继续生效? 是否需要立刻做密码轮换、Ticket 失效、Cookie 下线和私钥更换。
如果只停留在“发现了可疑工具”或“怀疑有人抓过密码”,还远远不够。真正的取证目标是确认认证材料被盗用的链条是否成立。
0x02 攻击者最常盯上的认证材料
认证材料不等于“账号密码”四个字,实际范围比很多人想象得更大。
1. Windows 身份材料
重点包括:
- 明文密码
- NTLM Hash
- Kerberos Ticket
- 浏览器保存的域账号
- RDP 凭据缓存
- DPAPI 保护的数据
2. Linux 与类 Unix 身份材料
重点包括:
~/.ssh/id_rsa、id_ed25519authorized_keys- 历史命令中的明文密码
sudo缓存- 应用连接串与服务口令
3. Web 与办公场景身份材料
重点包括:
- 浏览器 Cookie
- SSO Token
- 邮箱登录态
- VPN 客户端保存的凭据
- IM / OA / Git 平台登录态
4. 应用与云平台材料
重点包括:
- 数据库用户名密码
- API Key / Secret
- 云平台 Access Key
- CI/CD 发布密钥
- 对象存储、镜像仓库、Git 访问令牌
很多横向事件里,攻击者未必需要知道用户的明文密码,只要拿到一个仍然有效的 Token 或私钥就足以继续推进。
0x03 认证材料最常从哪里被拿走
1. 内存抓取
最经典的场景是 Windows 上针对认证相关进程的材料提取,例如:
lsass.exe- 浏览器进程
- 远控进程内存
攻击者常通过:
- 直接转储内存
- 调用系统 API 读取进程内存
- 使用内置或自定义工具导出凭据
这类行为通常会和:
- 可疑进程创建
- 安全软件绕过
procdump,rundll32,comsvcs.dll
一类痕迹共同出现。
2. 本地文件与配置提取
常见来源:
- 浏览器配置与会话文件
- SSH 私钥
application.yml,.env,config.php- RDP 连接配置
- 数据库客户端连接记录
这类方式更隐蔽,因为攻击者不一定要提升到很高权限,也不一定需要与安全产品正面冲突。
3. 历史命令与脚本泄露
前面已经在命令历史专题里提到,以下内容很常见:
mysql -uroot -p123456redis-cli -a xxxcurl -u user:pass- 脚本中硬编码口令
这些材料虽然看起来“不是凭据转储”,但在实战里同样高价值。
4. 会话劫持与登录态复用
例如:
- 浏览器 Cookie 被导出
- SSO Token 被窃取
- 邮箱登录态被复用
- VPN 会话在受害者不知情的情况下继续使用
这类场景往往不会留下“猜密码”的痕迹,因为攻击者直接复用现成会话。
0x04 凭据抓取事件的典型攻击链
场景一:终端失陷后抓取系统凭据
- 攻击者通过钓鱼或木马控制办公终端
- 在本机执行凭据抓取工具或内存转储
- 获取高权限账号材料
- 复用到 RDP、SMB、WinRM、域控
关键点在于,真正推动横向的是“身份被升级”,不是最初那封邮件本身。
场景二:Web 服务器窃取应用与私钥材料
- 攻击者拿下 Web 服务器
- 搜索源码、配置文件、发布目录
- 拿到数据库口令、SSH 私钥、云平台 Key
- 进一步访问数据库、发布机、运维平台
这类链条和前面的数据库、横向、WebShell 文章天然可衔接。
场景三:浏览器与办公客户端保存凭据被利用
- 攻击者控制用户主机
- 导出浏览器 Cookie、保存密码、SSO 状态
- 直接登录邮箱、OA、Git、云控制台
- 再借这些系统推动更高价值攻击
这类事件往往没有爆破、没有弱口令,只有“正常身份出现了异常动作”。
0x05 如何判断认证材料已经被复用
找到材料本身只是第一步,更重要的是判断它有没有被真正用过。
1. 看异常登录
重点观察:
- 新设备、新源 IP
- 异常时间段
- 非常驻地点
- 先登录终端后登录高价值系统
2. 看身份跨场景跳转
如果某个身份在短时间内连续出现于:
- 邮箱
- VPN
- Git
- 跳板机
- 数据库
且这些系统平时并非同一工作流,就要高度警惕认证材料被复用。
3. 看本地痕迹与远程行为是否闭环
例如:
- 主机上出现浏览器 Cookie 导出行为
- 十分钟后邮箱后台记录到新地域登录
- 随后邮件系统内又发起对外钓鱼
这就构成一条很强的材料复用证据链。
0x06 认证材料取证的几个高价值证据面
1. 进程与命令行
重点看:
- 是否出现针对凭据的转储或提取命令
- 是否启动了典型工具或其重命名版本
- 父进程是否异常
这里和 命令行历史取证与攻击者行为还原.md 直接相关。
2. 文件与落地物
重点看:
- 临时目录中的转储文件
- 压缩包
- 可疑文本输出
- 私钥复制痕迹
- 浏览器数据库与会话文件被导出
3. 登录与认证日志
重点看:
- 成功登录但无前置口令试探
- 同一账号突然跨多台主机成功认证
- 同一票据或会话材料在异常主机上出现
4. 浏览器与应用登录态
重点看:
- Cookie 文件读取 / 导出
- 浏览器进程异常访问
- 新设备复用旧登录态
- 不经过 MFA 再认证的敏感访问
0x07 公开案例与落地排查
1. 案例一:Exchange WebShell 后转向 LSASS 凭据抓取
一个很适合落地到蓝队排查流程里的公开案例,是 Unit 42 在 2021 年披露的 Exchange Server 事件分析:
- 攻击者先利用 ProxyLogon 相关漏洞写入 WebShell
- 6 天后通过 WebShell 执行 PowerShell 做信息收集
- 接着定位
lsass.exe进程并尝试导出其内存 - 然后把信息收集与凭据抓取结果压缩为 cabinet 文件,落到 IIS 可访问目录,试图通过 HTTP 直接下载取走
这个案例的价值在于,它把“WebShell -> PowerShell -> LSASS -> 打包外传”完整串起来,非常适合作为凭据抓取专题的实战模板。
公开来源:
2. 案例二:Alloy Taurus 结合多种方式抓取身份材料
Unit 42 在 2023 年公开的 Alloy Taurus 事件里,攻击者在 Exchange WebShell 落地后继续:
- 尝试使用
Mimikatz - 尝试使用
procdump导出lsass.exe - 执行
cmdkey /l枚举本地保存凭据 - 搜索 Chrome 登录数据目录
- 创建计划任务窃取 SAM 相关内容
这个案例说明,真实攻击者通常不会只用一种抓取手法,而是内存、注册表、浏览器、保存凭据一起试。
公开来源:
3. Windows 现场排查命令模板
下面这组命令适合在已授权的应急现场快速确认“是否存在 LSASS 导出、保存凭据枚举、浏览器登录数据异常访问”。
进程创建与可疑命令行
查找落地的转储文件
枚举本地保存凭据与常见登录数据目录
反查可疑计划任务和服务
4. Linux 现场排查命令模板
Linux 侧更多是私钥、历史命令、配置文件和口令材料泄露,适合先从以下几类证据入手:
5. 一条可直接复用的排查思路
如果你怀疑 Windows 主机发生了凭据抓取,建议按下面顺序落地:
- 先查
4688是否出现procdump,rundll32 comsvcs.dll,mimikatz,cmdkey /l - 再查磁盘上是否出现
.dmp,.cab,.zip,ntds.dit,SAM导出文件 - 再看浏览器登录数据目录、最近文件、Prefetch 是否与时间窗一致
- 最后追后续登录,判断材料是否已经被复用
这套方法基本就是把公开案例里的攻击链倒过来执行一遍。
0x08 三个常见误区
1. 只盯明文密码
很多攻击并不需要明文密码。Hash、Ticket、Cookie、私钥都可能直接成为“可用身份”。
2. 看到抓取工具就直接下结论
工具存在不等于材料一定被成功拿到,更不等于已经被复用。必须继续往后追登录和横向结果。
3. 只做改单点密码
如果事件里涉及:
- 域账号
- SSO
- 浏览器会话
- SSH 私钥
- 数据库与云平台 Key
那么仅改一个 Windows 登录密码远远不够。
0x09 处置与分析要同步推进
认证材料事件的特殊性在于:它通常要求分析和处置几乎同时发生。
建议优先同步做:
- 高权限账号口令轮换
- Ticket / Session 失效
- Cookie 强制下线
- 私钥吊销与替换
- 服务账号和 API Key 轮换
否则即便你已经看懂了攻击链,攻击者也可能仍在用旧材料持续活动。
0x0A 建议的交付结构
认证材料事件适合整理为如下表格:
| 时间 | 证据源 | 事件 | 关联身份/材料 | 结论 |
|---|---|---|---|---|
| 10:02:11 | 进程日志 | 可疑内存转储行为 | lsass.exe | 疑似抓取系统凭据 |
| 10:04:33 | 文件时间 | 生成转储文件 | C:\ProgramData\a.dmp | 认证材料已被导出 |
| 10:09:20 | 登录日志 | 异地登录成功 | domain\admin | 材料被复用 |
| 10:12:05 | 横向日志 | 访问多台服务器 | domain\admin | 横向移动成立 |
| 10:18:17 | 处置建议 | 强制失效与轮换 | 域账号 / Token / 私钥 | 需立即阻断 |
这样的结构适合在报告中同时支撑技术结论和应急处置建议。
0x0B 总结
凭据抓取与认证材料分析的关键,不只是“有没有人抓密码”,而是要完整证明:
- 材料从哪里被拿走
- 拿走的是什么类型
- 是否已经被复用
- 复用后扩大到了哪些系统
当你能把进程、文件、登录、会话和横向行为统一到同一条链上时,认证材料就不再只是某个孤立 IOC,而会成为解释整起入侵如何扩散的核心钥匙。