我使用 metasploit 漏洞利用了测试机器,并能够从 SAM 文件中获取哈希值;我尝试运行命令来SYSTEM
获取它们,但无法做到。有什么更便携的方法可以从 SAM 文件中提取哈希值?
答案1
有一个更简单的解决方案,不需要管理卷影或使用外部工具。您可以简单地使用reg
微软提供的命令复制 SAM 和 SYSTEM(在 Windows 7 和 Windows Server 2008 上测试过):
reg save hklm\sam c:\sam
reg save hklm\system c:\system
(最后一个参数是要复制文件的位置)
然后,您可以使用软件包 samdump2 (在 Debian 上可用:) 在 Linux 系统上提取哈希值apt-get install samdump2
:
$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::
答案2
这不是权限问题 - Windows 对 SAM 文件保持独占锁(据我所知,这是加载的注册表配置单元的标准行为),因此任何其他进程都无法打开它。
但是,最近的 Windows 版本有一项名为“卷影复制”的功能,该功能旨在创建整个卷的只读快照,主要用于备份。文件锁是为了确保数据一致性,因此如果创建了整个文件系统的快照,则不需要它们。这意味着可以创建快照C:
、安装它、复制SAM
文件,然后丢弃快照。
具体如何操作取决于您的 Windows 版本:XP 需要外部程序,Vista 和 7 有vssadmin create shadow
,而 Server 2008 有diskshadow
命令。页面从实时域控制器安全转储哈希值有关于此过程的更多详细信息,以及说明和脚本。
另外,还有一些工具,例如samdump
从各个方向滥用 LSASS 进程,以便直接从内存中提取所有密码哈希值。它们可能比 VSS 快照快得多,但系统崩溃的风险更高。
最后,Google 给出了这个代码片段,由于我自己从未使用过 metasploit,因此我无法评价它的实用性:
meterpreter> use priv
meterpreter> hashdump
答案3
编辑:经过多年的放弃之后,我决定进行编辑。
Windows SAM 文件已被锁定,无法复制/读取,不像 /etc/shadow
在 Linux 系统上。相反,为了解决这个问题,工具将从内存中提取哈希值。
有一些方法可以解决这个问题,我将在下面介绍:
米米卡茨
使用 运行 mimikatz sekurlsa::logonpasswords
。
转储
与 mimikatz 功能类似。运行它,哈希值将被转储到本地文件中。
哈希转储
内置于 meterpreter;从内存中提取哈希值。
註冊
也可以从注册表中提取(如果您有SYSTEM
访问权限):
reg save hklm\sam %tmp%/sam.reg
和reg save hklm\system %tmp%/system.reg
- 复制文件,然后运行:
samdump2 system sam
备份
SAM文件也可以存储在备份位置:C:\Windows\Repair\SAM
我还应该提到,这些工具至少需要权限;并且除非获得访问权限,Administrator
否则大多数工具都不会获取所有哈希值。SYSTEM
答案4
Obscuresec 方法可在任何启用 Windows Powershell 1.0 的机器上解决您的本地难题。遗漏了一些我知道的目标,但嘿,干得好!(谢谢克里斯)。
笔记:执行此类操作始终需要管理员权限
你可以使用
http://gallery.technet.microsoft.com/scriptcenter/Get-PasswordFile-4bee091d
或者来自其他来源(我可能会补充一些最新来源)
https://github.com/obscuresec/PowerShell/blob/master/Get-PasswordFile
建议阅读:
- http://blogs.technet.com/b/heyscriptingguy/archive/2013/07/12/using-the-windows-api-and-copy-rawitem-to-access-sensitive-password-files.aspx
- http://github.com/obscuresec/PowerShell/blob/master/Get-PasswordFile
- http://gallery.technet.microsoft.com/scriptcenter/Copy-RawItem-Reflection-38fae6d4
- http://gallery.technet.microsoft.com/scriptcenter/Get-PasswordFile-4bee091d
- http://blog.cyberis.co.uk/2011/09/remote-windows-sam-retrieval-with.html
要获取远程系统的 SAM 和 SYSTEM 注册表项,请结合使用上述方法