哈希传递(Pass the Hash)攻击
作者:Sec-Labs | 发布时间:
哈希传递攻击

我们每天都会听到有关漏洞的消息,有时甚至会听到系统遭到破坏的消息,因此攻击者采取了哪些阶段以及他如何渗透到整个系统都是未知的。 让我们清楚这一点。
从攻击者的角度来看,危害系统/网络涉及 5 个阶段。 他们是:
- 侦察 :它用于收集有关系统的信息,并且在其操作中可以是主动的也可以是被动的。 因此,攻击者会尝试收集尽可能多的信息,以便尽可能有效地瞄准系统。
- 扫描和枚举 :攻击者执行扫描以识别系统中的任何漏洞。
- 获得访问权限: 一旦攻击者发现了系统的漏洞,他或她就可以利用它们来破坏系统。
- 维护访问/开发后: 在开发之后,攻击者要么试图保持对系统的访问,要么试图入侵网络上的另一个系统以获得额外信息。
- 清除踪迹: 攻击者销毁其行为的所有证据,这样就没有人可以确定谁破坏了系统以及获取了哪些信息。
出于本博客文章的目的,我们将讨论攻击者可以在后开发阶段使用的一种攻击类型。 这种攻击是后开发阶段横向移动阶段的一部分。
后渗透
攻击者的主要目标是启动 shell。 一旦他做到这一点,可能性是无穷无尽的,其中很大一部分取决于系统管理员已经实施的安全加固程序。
在 shell 被弹出并被称为会话被打开之后,对手采取的任何行动都将被称为后期利用。 他可以安装恶意软件,甚至在受害者关闭计算机后采取措施保持持久性,甚至泄露数据。
横向运动

您会同意我的观点,即被攻击者破坏的计算机/主机不会是网络中唯一的主机。 网络包括多台(至少 2 台)计算机,每台计算机都能够相互通信。 横向移动是指攻击者移动或危害网络中其他计算机的过程。 在此过程中,他可能会破坏网络中其他更敏感的部分。
传递哈希是攻击者在 Windows 环境中横向移动期间使用的一种后期开发技术。
介绍
当您登录到具有多个用户帐户或公司网络的计算机时,您需要提供用户名和密码。 您认为 Windows 会简单地将您的密码与存储在数据库中的密码进行比较吗? 不,那是不安全的。 相反,它所做的是找到密码的 NTLM 哈希,并将其与用户名一起存储在名为 LSASS.exe 的文件中。 您会想到两个问题。
- 为什么我们的密码是散列的?
- 为什么它会将您的密码存储在文件中?
它经过哈希处理,因此即使您的计算机受到威胁,攻击者也不会立即获得明文密码。 至于第二部分,它存储在一个文件中,因此您不必为必须访问的每个功能输入您的凭据。 您可能不会考虑这在您的家庭环境中的重要性,但在公司环境中,有多个服务和任务在运行。 作为用户,要与他们互动,您必须提供您的凭据。 如果您必须每 5 分钟输入一次凭据,这很容易让人感到沮丧。 这是 SSO 的概念,您只需输入一次凭据,就可以访问根据您的用户角色允许的服务,而无需再次输入密码。
NTLM
现在这可能会让您感到惊讶,但您的密码永远不会通过网络发送。 但是你怎么能证明自己呢? NTLM 是一种身份验证协议,它使用质询/响应模型对用户进行身份验证。 让我们了解如何。
假设用户想要访问服务器的服务。 服务器向用户发送质询。 我们知道现在我们的密码已经过哈希处理并存储在 LSASS.exe 文件中。 质询使用我们密码的 NTLM 哈希加密,并连同我们的用户名一起发送回(作为对质询的响应)服务器。
质询(使用用户的 NTML 哈希加密)-> 响应
现在服务器有了我们的用户名、响应和 它发送给我们 的原始挑战。 它将它们发送到域控制器。
域控制器是一个单独的实体,拥有我们的用户名和我们密码的 NTLM 哈希值。 它从服务器接收用户名、响应和原始挑战。 它获取用户名,并找到用户对应的 NTML 散列。 它采用 NTLM 哈希并使用该哈希解密响应。 然后它将解密的响应与原始挑战进行比较。 如果它们相等,则用户通过身份验证。
注意: 如果哈希与用于加密挑战的哈希相同,则解密后的响应应与原始挑战相同。

简而言之,挑战/响应模型是如何工作的。 这不受网络嗅探攻击的影响,因为散列和密码都不会与服务器或域控制器共享。
但这打开了一种称为传递哈希的单独类型的攻击。
什么是传递哈希?
正如我们刚刚了解到的那样
- 我们的密码经过哈希处理并存储在 LSASS.exe 文件中。
- 我们的哈希用于加密质询,然后作为响应发送。
如果对手能够破坏机器,这可以被对手用来为自己谋取利益。
传递哈希是一种攻击,其中对手使用或发送密码哈希而不是密码本身来验证自己。
他必须采取的第一步是转储存储在 LSASS.exe 文件或 SAM 文件中的 NTLM 哈希。
然后他可以使用这些散列来验证自己。 完成此任务的完美工具是 Mimikatz 。

补救措施
识别 Pass the Hash 攻击是相当困难的。 但是,您可以使用几种方法来防止此类攻击。
如果您在您的组织中使用 SSO,您可以做的是启用多重身份验证。 这将确保即使您的凭据已被转储和泄露,攻击者也无法破坏其他系统。
您可以使用的另一种补救技术是应用最小特权原则。 它在基于云的环境中很常见,并且是在企业环境中使用的绝佳策略。
最小权限原则指出,用户应该只能访问完成其工作所需的那些文件、进程和服务,仅此而已。