深入解析:Windows内网渗透的“终极魔刃”:Mimikatz使用大全与深度解析
摘要: 在Windows渗透测试的舞台上,Mimikatz无疑是“王座”上的工具。它由法国安全研究员Benjamin Delpy(gentilkiwi)开发,能够直接从Windows操作系统的内存(尤其是LSASS进程)中提取明文密码、哈希、PIN码和Kerberos票据。掌握Mimikatz,意味着掌握了在Windows域环境中横向移动、权限提升乃至最终控制整个域的关键。本文将从基础使用到高级的黄金票据攻击,全方位、多场景地解析Mimikatz的用法与原理,并提供相应的防御策略。
关键词: Mimikatz, 渗透测试, Windows安全, LSASS, 凭证窃取, 黄金票据, Pass-the-Hash, Kerberos
⚠️ 严正声明与道德准则
Mimikatz是一款强大的安全审计工具,但同时也是一款威力巨大的黑客工具。本文所有内容仅用于授权环境下的安全研究、渗透测试、教学和防御体系建设。严禁将本文内容用于任何形式的非法攻击活动。任何滥用本文技术造成的法律后果,由使用者自行承担。请务必在合法的“靶场”或获得明确授权的系统中进行实验。
第一章:初识魔刃——准备与基础操作
1.1 获取与执行
获取: 务必从官方GitHub仓库下载:https://github.com/gentilkiwi/mimikatz。切勿使用来路不明的版本,以防被“黑吃黑”。
反病毒(AV)绕过: 直接在磁盘上运行
mimikatz.exe几乎会立刻被任何杀毒软件拦截。在实战中,通常需要:内存加载: 使用PowerShell的
Invoke-Mimikatz脚本,或通过Metasploit的load kiwi命令,直接在内存中加载和执行,避免文件落地。混淆与定制: 对源码进行修改和重新编译,改变其代码特征。
进程注入: 将Mimikatz注入到其他合法进程中执行。
1.2 核心准备命令
启动Mimikatz后(需要管理员权限),你会看到一个mimikatz #提示符。
提升权限 (最关键的第一步):
mimikatz # privilege::debug作用: 请求
SeDebugPrivilege权限。没有这个权限,Mimikatz将无法访问其他高权限进程(如lsass.exe)的内存,后续的核心功能都无法使用。如果此命令失败,通常意味着你当前的管理员权限不足。
记录日志:
mimikatz # log sekurlsa_creds.txt作用: 将后续所有命令的输出结果记录到指定文件中。在信息量巨大时,这是一个非常好的习惯。
第二章:核心威力——本地凭证窃取
这是Mimikatz最广为人知的功能,目标直指Windows的认证核心进程——LSASS (Local Security Authority Subsystem Service)。
2.1 在线读取LSASS内存
场景: 你已经获得了目标主机的管理员权限,并成功运行了Mimikatz。
王牌命令:
mimikatz # sekurlsa::logonpasswords作用: 该命令会扫描
lsass.exe进程的内存,寻找并解析出当前登录和近期登录过的用户的凭证信息。输出解读:
Authentication Id: 登录会话的ID。
User: 用户名。
Domain: 所属域名或主机名。
Password:明文密码。这通常是因为
WDigest协议被启用。在Windows Server 2012 R2及以后版本,默认已关闭,但可以通过修改注册表重新开启。NTLM: 用户的NTLM哈希。这是进行**Pass-the-Hash (PtH)**攻击的关键。
SHA1: 用户的SHA1哈希。
2.2 离线读取LSASS内存
场景: 不想在目标主机上直接运行Mimikatz(动静太大),或者想在自己的分析机上慢慢研究。
流程:
在目标主机上Dump LSASS进程:
PowerShell# 使用Windows自带的任务管理器,右键lsass.exe -> 创建转储文件 # 或者使用Procdump (Sysinternals套件中的工具) procdump.exe -accepteula -ma lsass.exe lsass.dmp将
lsass.dmp文件下载到你的攻击机。在你的攻击机上用Mimikatz加载Dump文件:
mimikatz # sekurlsa::minidump lsass.dmp mimikatz # sekurlsa::logonpasswords
效果: 与在线读取完全相同,但更加隐蔽和安全。
第三章:统治域——Kerberos票据攻击
在Windows域环境中,Mimikatz的威力被发挥到极致。它不再满足于单机密码,而是开始伪造整个域的“身份证”——Kerberos票据。
3.1 票据传递 (Pass-the-Ticket, PtT)
原理: 在Kerberos认证体系中,证明你身份的是票据(Ticket),而不是密码。如果你能从内存中窃取到一个合法用户的票据,你就可以把它注入到自己的会话中,从而冒充该用户访问网络资源。
流程:
在已控主机上导出票据:
mimikatz # sekurlsa::tickets /export这会将内存中所有Kerberos票据导出为
.kirbi文件。在另一台主机上注入票据:
mimikatz # kerberos::ptt注入成功后,打开一个新的命令提示符,你就可以用票据所有者的身份访问文件共享等资源了。
3.2 黄金票据 (Golden Ticket) - 域的“万能钥匙”
这是Mimikatz最强大的攻击,也是每个域管理员的噩梦。
原理: 如果攻击者获得了域控(DC)上
krbtgt用户的NTLM哈希,他就可以扮演“票据签发机构”的角色,为任意用户(包括不存在的用户)签发具有任意权限(如域管理员)的TGT(票据授予票据)。这张伪造的TGT就是“黄金票据”。攻击前提:
已攻陷域控。
需要获取以下信息:
krbtgt用户的NTLM哈希。域名全称 (e.g.,
corp.local)。域的SID。
实战流程:
在域控上,获取
krbtgt哈希和域SID:# 使用DCSync,模拟DC从另一台DC复制数据,直接获取krbtgt信息 mimikatz # lsadump::dcsync /domain:corp.local /user:krbtgt在任意一台域成员机上,伪造并注入黄金票据:
mimikatz # kerberos::golden /user:EvilAdmin /domain:corp.local /sid:S-1-5-21-xxxx /krbtgt:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /ptt/user:EvilAdmin: 你想伪造的用户名。/domain&/sid: 从DCSync获取的域名和SID。/krbtgt: 从DCSync获取的krbtgtNTLM哈希。/ptt: 生成后立刻注入当前会话。
效果: 执行成功后,打开一个新的
cmd.exe,你现在就是EvilAdmin,一个(内存中凭空出现的)域管理员。你可以访问任何域内资源,例如域控的C盘:dir \\dc01.corp.local\c$黄金票据的默认有效期是10年,这使得它成为一种极其强大的持久化后门。
3.3 白银票据 (Silver Ticket)
原理: 与黄金票据类似,但它伪造的是TGS(服务授予票据),而不是TGT。它只能访问特定的服务(如CIFS文件共享、HTTP服务),但不需要与域控通信,因此更难被检测。
前提: 需要目标服务的服务账户(如计算机账户)的NTLM哈希。
第四章:其他实用模块
lsadump::sam: 通过注入lsass,读取并解密SAM数据库,获取本地用户的NTLM哈希。misc::shadowc: 复制SAM和SYSTEM注册表hive文件,用于离线破解。dpapi::masterkey: 解密由Windows数据保护API(DPAPI)加密的内容(如浏览器密码)。vault::cred: 读取Windows凭据管理器中存储的凭证。
第五章:防御与缓解措施
如何抵御这把“魔刃”?
防止凭证在内存中泄露(核心):
启用LSA保护 (RunAsPPL): 在注册表中设置
RunAsPPL=1,阻止非受保护进程读取LSASS内存。启用Credential Guard (Windows 10/Server 2016+): 使用基于虚拟化的安全(VBS)来隔离LSASS,即使是SYSTEM权限也无法直接访问其内存。
禁用WDigest: 确保注册表
UseLogonCredential值为0,防止明文密码存储在内存中。
保护
krbtgt账户:定期修改
krbtgt密码,而且要修改两次! (修改一次后,旧哈希仍会在一段时间内有效)。这是应对黄金票据最有效的手段,能让所有已签发的Kerberos票据失效。
监控与检测(EDR/XDR是关键):
检测LSASS访问: 监控并告警任何非Windows核心进程对
lsass.exe的异常访问。PowerShell日志: 启用
Script Block Logging和Module Logging来捕获Invoke-Mimikatz等内存中攻击的痕迹。Kerberos票据分析: 监控域内Kerberos票据的签发行为,对有效期超长、加密算法降级或不寻常的票据进行告警。
遵循最小权限原则: 限制管理员登录的范围,减少高权限凭证在内存中暴露的机会。
结论
Mimikatz是一把双刃剑。对于渗透测试者而言,它是打开Windows内网大门的钥匙;对于防御者而言,它是时刻悬在头顶的达摩克利斯之剑。深刻理解Mimikatz的每一种攻击手法,并部署相应的缓解和检测措施,是每一位现代Windows系统管理员和蓝队成员的必修课。攻防的博弈永不停止,而Mimikatz正是这场博弈中最精彩的章节之一。

浙公网安备 33010602011771号