SAM
安全帐户管理器 (SAM) 数据库以 NTLM 哈希格式存储本地 Windows 凭据。 在本地登录期间,输入密码后,本地安全机构 (LSA) 通过根据存储在 SAM 中的数据验证凭据来验证登录尝试。 当散列输入的密码与 SAM 中的 NTLM 散列匹配时,登录尝试成功。 一旦我们在主机上提升了权限,我们就可以通过多种方式从 SAM 检索凭据。 在域环境中,本地帐户的凭据对我们来说可能看起来不那么有趣。 但是,凭证重用是可能的。 如果我们获得主机上本地管理员帐户的 NTLM 哈希或明文密码,域用户可能会在另一台主机上重用该凭据。 例如,如果服务器 Srv01 和 Srv02 由同一系统管理员管理,则 Srv01 和 Srv02 可能具有相同的本地管理员帐户密码。
我们有多种方法来转储 SAM。
1:通过 mimikatz 导出
privilege::debug
lsadump::sam
2:复制注册表
分别从注册表 HKLM\sam 和 HKTM\system 的位置拷贝 SAM 数据库和 SYSTEM。
在这之后,我们可以通过多种工具来解密,例如 mimikatz,impacket 等。
3:拷贝 SAM 数据库文件
SAM 数据库的文件地址是 C:\Windows\System32\config\SAM,我们是否可以直接复制该文件,然后通过工具来解密呢?
实际上是不可行的,因为该文件被锁定了,无法对其进行读和写。但我们可以通过卷影复制实现。在提升特权的命令行中,使用 wmic 创建一个新的卷影并且指定来源磁盘,这样可以创建一个 C 盘的快照。我们可以用 vssadmin 命令来验证我们的操作。接着,我们可以从影拷贝中拷贝出 SAM 数据库 以及 SYSTEM 文件。之后用工具来解密 SAM 数据库。