我已经使用metasploit开发了测试机,并且能够从SAM文件中获取哈希值。我尝试运行命令SYSTEM
以获取它们,但无法这样做。什么是从SAM文件提取哈希的更便携式方法?
我已经使用metasploit开发了测试机,并且能够从SAM文件中获取哈希值。我尝试运行命令SYSTEM
以获取它们,但无法这样做。什么是从SAM文件提取哈希的更便携式方法?
Answers:
这不是权限问题– Windows在SAM文件上保持排他锁(据我所知,这是已加载的注册表配置单元的标准行为),因此任何其他进程都无法打开它。
但是,最新的Windows版本具有称为“卷影复制”的功能,该功能旨在创建整个卷的只读快照,主要用于备份。文件锁在那里可以确保数据的一致性,因此,如果制作了整个文件系统的快照,则不必使用它们。这意味着可以创建的快照C:
,装入快照,复制SAM
文件然后丢弃快照。
具体如何执行取决于您的Windows版本:XP需要一个外部程序,Vista和7需要一个外部程序vssadmin create shadow
,而Server 2008需要该diskshadow
命令。从Live Domain Controllers安全地转储哈希页上有关于此过程的更多详细信息,以及说明和脚本。
另外,还有一些工具,例如samdump
从各个方向滥用LSASS进程,以便直接从内存中提取所有密码哈希。它们可能比VSS快照快得多,但崩溃的风险更高。
最后,Google给出了此代码段,我自己从未使用过metasploit不能评价它的有用性:
meterpreter> use priv
meterpreter> hashdump
HKLM\SYSTEM\CurrentControlSet\Control\HiveList
哪些子项与哪些文件相对应。
有一个更简单的解决方案,不需要管理影子卷或使用外部工具。您可以使用reg
Microsoft提供的命令(在Windows 7和Windows Server 2008上测试)简单地复制SAM和SYSTEM :
reg save hklm\sam c:\sam
reg save hklm\system c:\system
(最后一个参数是您要复制文件的位置)
然后,您可以使用软件包samdump2(在Debian:上提供apt-get install samdump2
)在Linux系统上提取哈希值:
$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::
编辑:经过多年的放弃,我决定进行编辑。
与 /etc/shadow
Linux系统不同,Windows SAM文件被禁止复制/读取。相反,要解决此问题,工具将从内存中提取哈希值。
我将在下面介绍解决此问题的方法:
使用运行mimikatz sekurlsa::logonpasswords
。
与mimikatz类似的功能。运行它,哈希将被转储到本地文件。
内置在抄表器中;从内存中提取哈希值。
也可以从注册表中提取(如果您有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
获得访问权限,否则大多数都不会获得所有哈希值。
Mimikatz
或fgdump
任何比C&A更便携的或不同呢?据我所知,它们都是Windows附带的所有第三方工具,需要分别加载。另外,出于我的好奇心,当存在Ophcrack之类的工具时,哈希转储工具的用例是什么?
Obscuresec方法可在任何启用了Windows PowerShell的计算机上本地克服您的麻烦。省略了一些我知道的目标,但是,嘿,不错!(谢谢克里斯)。
注意:始终需要管理员特权才能执行此操作
你可以用
http://gallery.technet.microsoft.com/scriptcenter/Get-PasswordFile-4bee091d
或来自其他来源(我可能会添加更多最新信息)
https://github.com/obscuresec/PowerShell/blob/master/Get-PasswordFile
建议阅读:
对于抓取远程系统,SAM和SYSTEM配置单元使用上述内容并结合使用
想要指定此处未描述的其他方法,因为在Red Teaming /渗透测试中花费了大量时间,最明显的方法无法访问(被拒绝,由Blue Team监视,等等),并且很高兴知道所有可用的技术。
上面介绍了一种访问文件的变通办法,该文件已由系统处理(不能照常复制/删除)vssshadow.exe
。
第二esentutil.exe
。
确切的命令来获取带有句柄的文件副本:
esentutl.exe /y /vss c:\windows\ntds\ntds.dit /d c:\folder\ntds.dit
这适用于SAM,SYSTEM,SECURITY,NTDS.DIT等。
PS esentutl.py
在impacket的软件包中:https :
//github.com/SecureAuthCorp/impacket/blob/master/examples/esentutl.py
PSS 主题PoC图像