Jump to content

Blogs

Our community blogs

  1. Hacker Technology

    • 16114 Entries
    • 7938 Comments
    • 86364411 Views

    Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

    HireHackking

    Windows身份验证机制的分析:本地,工作组,域环境。

    本地身份验证(用户登录)

    概念

    在本地登录Windows时,操作系统将使用用户输入的密码作为凭据来验证系统中的密码。操作系统中的密码存储在

    当1%SystemRoot%\ System32 \ Config \ Sam登录到系统时,系统将在SAM文件中自动读取“密码”,并将其与我们输入的“密码”进行比较。如果相同的话,它证明了身份验证成功!

    该SAM文件保留了计算机本地所有用户的凭据信息,可以将其理解为数据库。

    ※注意:Windows本身并不能保存纯文本密码,仅保存密码哈希。

    ntlm哈希的产生

    NTLM Hash的前身是LM哈希。由于安全性缺陷,它已被消除。无需了解太多。只知道有这个东西。

    假设我的密码是管理员,操作系统将把管理员转换为十六进制。在Unicode转换后,它将将MD4加密算法称为加密。该加密结果的十六进制系统是NTLM哈希。

    123admin - hex(hex encoding)=61646d696e61646d696e - Unicode=610064006d0069006e00610064006d0069006e00 - MD4=209c6174da490caeb422f3fa5a7ae634

    本地认证过程

    123456winlogon.exe-接收用户输入-lsass.exe-(身份验证)1。在用户注销后,重新启动并锁定屏幕2。操作系统将使Winlogon显示登录界面,即输入框3。输入输入后,将密码置于PLASIT上,该过程将其存储在该流程中,将其存储在此过程中,该过程将其存储在此过程中。哈希,并比较SAM数据库Windows登录进程(即Winlogon.exe)的身份验证,该过程是Windows NT用户登录程序,用于管理用户登录和注销。

    LSAS用于Microsoft Windows系统的安全机制。它用于本地安全性和登录策略。

    net NTLM)

    由于DC(域控制器)的参与过程,工作组环境和域环境中的NET NTLM身份验证过程略有不同,但这不会影响我们的哈希交付攻击。让我们在这里分开谈论它。

    NTLM协议概念

    此协议仅支持Windows NTLM作为网络身份验证协议,全名是:NT LAN Manager,它是基于挑战/响应身份验证机制的身份验证模式。

    NTLM网络身份验证协议是一种使用NTLM哈希作为身份验证的基本证书的协议。消息的传输取决于使用NTLM的上层协议,例如SMB,LDAP,HTTP等。

    工作组

    NTLM协议身份验证过程

    谈判:它主要用于确认双方之间的协议版本。 NTLM中有两个版本的V1和V2。具体的区别在于,加密方法是不同的,因此通常没有必要。

    询问:有效的是挑战/响应身份验证机制的范围,也是身份验证机制的核心。

    验证:验证主要验证询问完成后的结果,这是身份验证的最后一步。

    谈判

    img

    问题

    1. client将用户信息(用户名)请求发送到服务器。

    2。接收到用户信息后,服务器确定是否存在本地帐户列表(如果不存在,则返回身份验证失败)。如果存在,它将生成一个16位随机数(挑战),然后使用与登录用户名相对应的NTLM哈希加密挑战(16位随机字符),并生成挑战1(net-ntlm hash)以存储在内存中。同时,向客户发送挑战(16位随机字符)。

    3。在客户端收到服务器发送的挑战之后,请使用要登录到帐户的NTLM Hash加密挑战以生成响应(Net-NTLM Hash),然后将响应发送到服务器。

    净NTLM哈希在此处介绍:NTLM哈希加密挑战的结果称为网络协议中的NET NTLM HASH(不能直接用于执行Hash Pass攻击,但是可以通过蛮力破解获得宣传密码)。

    详细简介:https://daiker.gitbook.io/windows-protocol/ntlm-pian/4#0x03-net-net-ntlm-hash

    服务器收到客户端发送的响应(net-ntlm hash)之后,它与以前存储在内存中存储的Challenge1(Net-NTLM Hash)进行比较。如果是平等的,则身份验证将通过。

    现在,让我们看一下身份验证过程。清晰吗?

    作者倾旋

    NTLM协议身份验证过程

    域NTLM身份验证过程下的域环境中的过程略有不同,因为有DC(域控制器)参与的工作组。

    作者daiker

    ①用户将登录到客户端计算机中。

    ②客户端将协商消息发送到服务器,该消息主要包含客户端支持并由服务器请求的功能列表。

    ③服务器响应挑战消息(挑战),其中包含服务器支持和同意的功能列表。但最重要的是,它包含服务器产生的挑战。

    ④客户通过身份验证消息(响应)回答了这个问题。用户在步骤③中收到挑战后,他使用用户哈希和挑战来执行加密操作以获得响应,并将响应,用户名和挑战发送给服务器。消息中的响应(net-ntlm hash)是最关键的部分,因为它们向服务器证明了客户端用户已经知道帐户密码。

    ⑤服务器获取身份验证消息(响应)后,使用挑战和用户哈希对其进行加密以获取响应2并将其与步骤3发送的响应进行比较。

    目前,如果已经过身份验证的用户哈希存储在域控件中,则在本地没有身份验证的用户哈希,并且无法计算响应2,因此验证步骤⑤无法完成。因此,服务器将通过Netlogon协议联系域控制,建立安全的频道,然后将所有协商消息,挑战消息和身份验证消息(响应)发送到域控制(此过程也称为通过身份验证身份验证过程)。

    ⑥域控制使用挑战和身份验证的用户的哈希对响应2进行加密,并将其与类型3的响应进行比较,以确定其是否一致。

    ⑦完成认证过程。

    参考文章

    https://Daiker.gitbook.io/windows-protocol/ntlm-pian/4#0x02-ntlm-shen-fen-fen-yan-zheng

    https://payloads.online/archivers/2018-11-30/1/

    https://ares-x.com/2020/03/16/%E5%9f%9f%9F%E6%B8%97%E9%E9%80%80%8F%E5%AD%AD%A6%E4%B9%A 0%EF%BC%88%E4%B8%80%EF%BC%89Windows%E8%AE%A4%E8%AF%AF%81%E6%9C%BA%E5%E5%88%B6/

    Recent Entries