CHQ1d 发布于2022年11月8日 分享 发布于2022年11月8日 0x00 前言 在渗透测试中,获得Windows系统的访问权限后,通常使用mimikatz的sekurlsa:logonpasswords命令尝试读取进程lsass的信息,以获取当前登录用户的密码信息。但是,如果您想要完全获取系统中的密码信息,您必须提取存储在SAM数据库中的信息,并导出当前系统中所有本地用户的哈希。 0x01 简介 本文将介绍以下内容: 通过SAM数据库获取用户哈希的几种方法 原理分析 0x02 通过SAM数据库获得用户hash的方法 1、在线读取SAM数据库 读取当前系统的SAM数据库文件,获取系统所有本地用户的哈希。 (1) mimikatz 权限:调试 token:提升 lsadump:sam 测试下图 (2) pwdump7 下载地址: http://passwords.openwall.net/b/pwdump/pwdump7.zip 管理员权限执行,如下图所示 (3) powershell 下载地址: https://raw . githubusercontent . com/Empire project/Empire/master/data/module _ source/credentials/Invoke-power dump . PS1 管理员权限执行,测试如下图所示 2、离线读取SAM数据库 获取当前系统的SAM数据库文件,在另一个系统下读取。 有两种方法可以导出SAM数据库文件: (1) 保存注册表 管理员权限 reg拯救HKLM\SYSTEM SystemBkup.hiv reg拯救HKLM \ SAM SAM kup . HIV (2) 复制文件 c:\ Windows \ System32 \ config \ SYSTEM C:\Windows\System32\config\SAM 默认不能复制,如下图所示 需要NinjaCopy,作者Joe Bialek,参考下载地址: https://github.com/3gstudent/NinjaCopy 在导出SAM数据库文件后,在另一个系统中,可以通过以下方式导出用户哈希: (1) mimikatz LSA dump:Sam/Sam:Sam kup . HIV/system:system bkup . HIV 如下图 注: 米米卡茨的官方说明有问题。地址如下: https://github.com/gentilkiwi/mimikatz/wiki/module-~-lsadump 导出命令: LSA dump:Sam systemb kup . HIV Sam kup . HIV 将会报告一个错误,如下所示。 可用命令由@我爱这个世界提供。 补充: 以下工具将在读取Win7系统的SAM数据库文件时报告错误 (1) Pwdump7 如下图 (2) Pwdump5 下载地址: http://passwords.openwall.net/b/pwdump/pwdump5.zip 读数结果不正确,如下图所示 (3) cain 测试下图 0x03 原理分析 1、读取HKLM\SYSTEM,获得syskey 读取注册表项HKEY _ local _ machine \ system \ current control set \ control \ LSA下的键值JD、Sketch1、GBG和Data的内容,拼接成syskey。 代码可以指: https://github . com/johannwmeyer/quarkspwmudmp/blob/a68aa 6330 f 37 EB 8d 00055 c 73 e 6 a 4a 4 e 3c b 52 bcdd 6d/src/crypt . CPP # L222 https://github . com/gentili kiwi/mimikatz/blob/master/mimikatz/modules/kuhl _ m _ LSA dump . c # L219 完整的计算代码可以参考: https://raw . githubusercontent . com/3g student/Writeup/master/get syskey . CPP (从http://www.zcgonvh.com/post/ntds_dit_pwd_dumper.html偷) 2、使用syskey解密HKLM\SAM 读取注册表项HKEY _ local _ machine \ Sam \ Sam \ domains \ account \ users下每个用户中F和V项的内容,用syskey进行一系列解密。 请参考以下链接了解详细的解密过程: http://www.xfocus.net/articles/200306/550.html 综上所述,如果想通过SAM数据库获取用户hash,需要获取两个文件:HKLM \系统和HKLM\SAM。 最直接的导出方式是读取当前系统下的注册表HKLM \系统和HKLM \山姆,但是需要获得系统权限。 管理员权限切换到系统权限的方法请参考上一篇文章:《渗透技巧——从Admin权限切换到System权限》。 0x04 小节 介绍了几种通过SAM数据库获取所有用户hash的方法,关键是读取HKLM \系统和HKLM\SAM。 留下回复 链接帖子 意见的链接 分享到其他网站 更多分享选项…
推荐的帖子