跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

穿透技巧——通过SAM数据库获取本地用户哈希


CHQ1d

推荐的帖子

0x00 前言

在渗透测试中,获得Windows系统的访问权限后,通常使用mimikatz的sekurlsa:logonpasswords命令尝试读取进程lsass的信息,以获取当前登录用户的密码信息。但是,如果您想要完全获取系统中的密码信息,您必须提取存储在SAM数据库中的信息,并导出当前系统中所有本地用户的哈希。

0x01 简介

本文将介绍以下内容:

通过SAM数据库获取用户哈希的几种方法

原理分析

0x02 通过SAM数据库获得用户hash的方法

1、在线读取SAM数据库

读取当前系统的SAM数据库文件,获取系统所有本地用户的哈希。

(1) mimikatz

权限:调试

token:提升

lsadump:sam

测试下图

2-1.png

(2) pwdump7

下载地址:

http://passwords.openwall.net/b/pwdump/pwdump7.zip

管理员权限执行,如下图所示

2-2.png

(3) powershell

下载地址:

https://raw . githubusercontent . com/Empire project/Empire/master/data/module _ source/credentials/Invoke-power dump . PS1

管理员权限执行,测试如下图所示

2-3.png

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

默认不能复制,如下图所示

2-4.png

需要NinjaCopy,作者Joe Bialek,参考下载地址:

https://github.com/3gstudent/NinjaCopy

在导出SAM数据库文件后,在另一个系统中,可以通过以下方式导出用户哈希:

(1) mimikatz

LSA dump:Sam/Sam:Sam kup . HIV/system:system bkup . HIV

如下图

3-1.png

注:

米米卡茨的官方说明有问题。地址如下:

https://github.com/gentilkiwi/mimikatz/wiki/module-~-lsadump

导出命令:

LSA dump:Sam systemb kup . HIV Sam kup . HIV

将会报告一个错误,如下所示。

3-2.png

可用命令由@我爱这个世界提供。

补充:

以下工具将在读取Win7系统的SAM数据库文件时报告错误

(1) Pwdump7

如下图

3-3.png

(2) Pwdump5

下载地址:

http://passwords.openwall.net/b/pwdump/pwdump5.zip

读数结果不正确,如下图所示

3-4.png

(3) cain

测试下图

3-5.png

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。

留下回复

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...