关于哈希攻击的原理介绍

本文详细介绍了NTLM协议的工作原理,包括挑战-回应机制、本地和域帐户的认证方式。重点讨论了NT哈希的安全隐患,如传递哈希攻击,以及如何利用本地管理员和域帐户的NT哈希进行非法权限提升。同时,提到了自动化工具CrackMapExec在攻击中的应用,以及Windows系统中限制通过哈希攻击的策略。最后,强调了尽管NTLM攻击仍常见,但通过如LAPS等解决方案可以减轻风险。
摘要由CSDN通过智能技术生成

在内部入侵测试期间,横向移动是白帽子黑客技术人员寻求信息以提高他或他对信息系统的特权的重要组成部分。在这种情况下,被称为“传递哈希”的技术就非常有用,可以成为一组计算机上的管理员。我们将在这里详细介绍这种技术的工作原理。

NTLM协议

NTLM协议是Microsoft环境中使用的身份验证协议。特别是,它允许用户证明自己对服务器的身份,以便使用该服务器提供的服务。

注意:在本文中,术语“服务器”在客户端/服务器的意义上使用。“服务器”很可能是工作站。

image

有两种可能的方案:

(1)用户使用服务器本地帐户的凭据,在这种情况下,服务器在其本地数据库中具有用户的机密,并且能够对用户进行身份验证;

(2)或在Active Directory环境中,用户在身份验证过程中使用域帐户,在这种情况下,服务器将不得不要求域控制器验证用户提供的信息。

在这两种情况下,身份验证都从客户端和服务器之间的质询/响应阶段开始。

挑战-回应

使用质询/响应原则,以便服务器验证用户是否知道他要进行身份验证的帐户的机密,而无需通过网络传递密码。这就是所谓的零知识证明。交换过程分为三个步骤:

  1. 协商:客户端告诉服务器它想对其进行身份验证(NEGOTIATE_MESSAGE)。
  2. 质询:服务器向客户端发送质询。这不过是随每个身份验证请求(CHALLENGE_MESSAGE)而变化的64位随机值。
  3. 响应:客户端使用其密码的哈希版本作为密钥来加密先前收到的质询,并将此加密版本以及其用户名以及可能的域(AUTHENTICATE_MESSAGE)返回给服务器。

如下图:

image

你可以看到用户管理员试图连接到计算机LKAPP01.lion.king。

image

NTLM交换的顶部用红色框起来,底部是服务器响应中包含的信息CHALLENGE_MESSAGECHALLENGE_MESSAGE。在这里您将找到挑战。

在进行这些交换之后,服务器拥有两件事:

1.发送给客户的挑战;

2.用他的秘密加密的客户响应;

要完成身份验证,服务器只需检查客户端发送的响应的有效性。但是在此之前,让我们先检查一下客户的秘密。

认证机密

客户端使用密码的哈希版本作为密钥的原因如下:为了避免在服务器上以明文形式存储用户密码。它是存储的密码的哈希值。现在,此哈希是NT哈希,它不过是MD4函数的结果,不含盐值。

NThash = Md4(password)

综上所述,当客户端进行身份验证时,它使用其密码的MD4指纹来加密挑战。然后,让我们看一下收到此响应后在服务器端发生的情况。

认证方式

如前所述,有两种不同的方案。首先是用于身份验证的帐户是本地帐户,因此服务器知道此帐户,并且具有该帐户的机密副本。第二个是使用域帐户,在这种情况下,服务器不知道该帐户或其秘密。它必须

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值